<?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>118520</bug_id>
          
          <creation_ts>2013-07-09 17:37:55 -0700</creation_ts>
          <short_desc>Move PlatformCertificateInfo to WebCore and make the ResourceResponse primitives work in terms of that platform agnostic object</short_desc>
          <delta_ts>2013-11-21 10:20:52 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>124724</dependson>
    
    <dependson>122825</dependson>
    
    <dependson>124150</dependson>
    
    <dependson>124720</dependson>
          <blocked>108832</blocked>
    
    <blocked>110141</blocked>
    
    <blocked>120160</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>abecsi</cc>
    
    <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>brian.holt</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>darin</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>enrica</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyatt</cc>
    
    <cc>kbalazs</cc>
    
    <cc>kling</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>svillar</cc>
    
    <cc>thorton</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>907248</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-09 17:37:55 -0700</bug_when>
    <thetext>Avoid using CF specific types in ResourceResponse by moving PlatformCertificateInfo to WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907491</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-07-10 17:24:59 -0700</bug_when>
    <thetext>Sounds reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907621</commentid>
    <comment_count>2</comment_count>
      <attachid>206453</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 05:54:39 -0700</bug_when>
    <thetext>Created attachment 206453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907622</commentid>
    <comment_count>3</comment_count>
      <attachid>206454</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 06:02:53 -0700</bug_when>
    <thetext>Created attachment 206454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907624</commentid>
    <comment_count>4</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 06:13:33 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=206454) [details]
&gt; Patch

I am not sure why patch does not apply because I rebased the patch up to the HEAD before uploading.

This is a preparation for https://bugs.webkit.org/show_bug.cgi?id=110141#c11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907795</commentid>
    <comment_count>5</comment_count>
      <attachid>206500</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 18:29:44 -0700</bug_when>
    <thetext>Created attachment 206500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907796</commentid>
    <comment_count>6</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 18:30:09 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=206500) [details]
&gt; Patch

Qt build fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907824</commentid>
    <comment_count>7</comment_count>
      <attachid>206507</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 23:26:33 -0700</bug_when>
    <thetext>Created attachment 206507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907825</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-11 23:27:18 -0700</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>907826</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-11 23:27:39 -0700</bug_when>
    <thetext>Attachment 206507 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/PlatformEfl.cmake&apos;, u&apos;Source/WebCore/Target.pri&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/platform/network/PlatformCertificateInfo.h&apos;, u&apos;Source/WebCore/platform/network/ResourceErrorBase.h&apos;, u&apos;Source/WebCore/platform/network/ResourceResponseBase.h&apos;, u&apos;Source/WebCore/platform/network/cf/ResourceResponse.h&apos;, u&apos;Source/WebCore/platform/network/mac/PlatformCertificateInfoMac.mm&apos;, u&apos;Source/WebCore/platform/network/mac/ResourceResponseMac.mm&apos;, u&apos;Source/WebCore/platform/network/qt/PlatformCertificateInfoQt.cpp&apos;, u&apos;Source/WebCore/platform/network/soup/PlatformCertificateInfoSoup.cpp&apos;, u&apos;Source/WebCore/platform/network/soup/ResourceError.h&apos;, u&apos;Source/WebCore/platform/network/soup/ResourceErrorSoup.cpp&apos;, u&apos;Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp&apos;, u&apos;Source/WebCore/platform/network/soup/ResourceResponse.h&apos;, u&apos;Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/GNUmakefile.list.am&apos;, u&apos;Source/WebKit2/NetworkProcess/NetworkProcess.h&apos;, u&apos;Source/WebKit2/NetworkProcess/NetworkProcess.messages.in&apos;, u&apos;Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp&apos;, u&apos;Source/WebKit2/NetworkProcess/mac/NetworkProcessMac.mm&apos;, u&apos;Source/WebKit2/PlatformEfl.cmake&apos;, u&apos;Source/WebKit2/PlatformGTK.cmake&apos;, u&apos;Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm&apos;, u&apos;Source/WebKit2/Shared/Authentication/AuthenticationManager.h&apos;, u&apos;Source/WebKit2/Shared/Authentication/AuthenticationManager.messages.in&apos;, u&apos;Source/WebKit2/Shared/Authentication/mac/AuthenticationManager.mac.mm&apos;, u&apos;Source/WebKit2/Shared/UserMessageCoders.h&apos;, u&apos;Source/WebKit2/Shared/WebCertificateInfo.h&apos;, u&apos;Source/WebKit2/Shared/WebCoreArgumentCoders.cpp&apos;, u&apos;Source/WebKit2/Shared/WebCoreArgumentCoders.h&apos;, u&apos;Source/WebKit2/Shared/mac/PlatformCertificateInfo.h&apos;, u&apos;Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm&apos;, u&apos;Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm&apos;, u&apos;Source/WebKit2/Shared/qt/PlatformCertificateInfo.h&apos;, u&apos;Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp&apos;, u&apos;Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp&apos;, u&apos;Source/WebKit2/Shared/soup/PlatformCertificateInfo.h&apos;, u&apos;Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp&apos;, u&apos;Source/WebKit2/Target.pri&apos;, u&apos;Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp&apos;, u&apos;Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebFrameProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebFrameProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.messages.in&apos;, u&apos;Source/WebKit2/WebKit2.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Network/WebResourceLoader.h&apos;, u&apos;Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp&apos;]&quot; exit_code: 1
Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp:111:  Use 0 instead of NULL.  [readability/null] [5]
Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp:111:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907827</commentid>
    <comment_count>10</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-11 23:27:51 -0700</bug_when>
    <thetext>Build fix for Mac Debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909348</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-07-17 09:31:48 -0700</bug_when>
    <thetext>The reason I haven&apos;t gotten to reviewing this yet is because it&apos;s very large and will require a block of time I don&apos;t have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909601</commentid>
    <comment_count>12</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-17 23:41:02 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; The reason I haven&apos;t gotten to reviewing this yet is because it&apos;s very large and will require a block of time I don&apos;t have.

Okay. Please take your time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920963</commentid>
    <comment_count>13</comment_count>
      <attachid>209637</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 04:35:21 -0700</bug_when>
    <thetext>Created attachment 209637
Patch

Updated to ToT - r154595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920965</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 04:41:14 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=209637) [details]
&gt; Patch
&gt; 
&gt; Updated to ToT - r154595

Short summary:
- trivial conflicts resolved in WebCore.exp.in, project.pbxproj, NetworkResourceLoader.cpp, WebPageProxy.h and WebFrameLoaderClient.cpp
- trivial fix in the new AsynchronousNetworkLoaderClient.cpp
- style fixed (NULL -&gt; 0 and smaller indentation in WebCoreArgumentCodersSoup.cpp)
- obsolete change removed from NetworkResourceLoader.cpp
- unneeded typo removed from ResourceHandleSoup.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920971</commentid>
    <comment_count>15</comment_count>
      <attachid>209637</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-08-26 05:02:43 -0700</bug_when>
    <thetext>Comment on attachment 209637
Patch

Attachment 209637 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1559859</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920973</commentid>
    <comment_count>16</comment_count>
      <attachid>209637</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-08-26 05:11:35 -0700</bug_when>
    <thetext>Comment on attachment 209637
Patch

Attachment 209637 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1571082</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920974</commentid>
    <comment_count>17</comment_count>
      <attachid>209637</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 05:14:05 -0700</bug_when>
    <thetext>Comment on attachment 209637
Patch

fixing the build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920976</commentid>
    <comment_count>18</comment_count>
      <attachid>209640</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 05:22:01 -0700</bug_when>
    <thetext>Created attachment 209640
Patch

Additional Mac and Soup buildfixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921430</commentid>
    <comment_count>19</comment_count>
      <attachid>209640</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-08-27 03:38:14 -0700</bug_when>
    <thetext>Comment on attachment 209640
Patch

Attachment 209640 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/1586234</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921442</commentid>
    <comment_count>20</comment_count>
      <attachid>209746</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-27 04:45:40 -0700</bug_when>
    <thetext>Created attachment 209746
Patch

Fixed the if guard of including RetainPtr.h in PlatformCertificateInfo.h to make Windows build happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921501</commentid>
    <comment_count>21</comment_count>
      <attachid>209746</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-08-27 07:08:45 -0700</bug_when>
    <thetext>Comment on attachment 209746
Patch

Attachment 209746 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/1583287</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923931</commentid>
    <comment_count>22</comment_count>
      <attachid>210347</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-03 03:18:36 -0700</bug_when>
    <thetext>Created attachment 210347
Patch

patch for Win EWS, try to add PlatformCertificateInfoCFNet.cpp with empty constructor and destructor to make the build happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927794</commentid>
    <comment_count>23</comment_count>
      <attachid>210347</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-09-11 08:39:52 -0700</bug_when>
    <thetext>Comment on attachment 210347
Patch

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

&gt; Source/WebCore/ChangeLog:1
&gt; +2013-09-03  Kwang Yul Seo  &lt;skyul@company100.net&gt;

If this has been co-authored you should indicate it in the changelog header :)

&gt; Source/WebCore/platform/network/ResourceErrorBase.h:96
&gt; +    PlatformCertificateInfo m_platformCertificateInfo;

I think you it should be added to ResourceError, not ResourceErrorBase.

&gt; Source/WebCore/platform/network/ResourceResponseBase.h:159
&gt; +    PlatformCertificateInfo m_platformCertificateInfo;

Same thing for ResourceResponse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933478</commentid>
    <comment_count>24</comment_count>
      <attachid>212703</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 07:14:39 -0700</bug_when>
    <thetext>Created attachment 212703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933482</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 07:24:09 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 210347 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=210347&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:1
&gt; &gt; +2013-09-03  Kwang Yul Seo  &lt;skyul@company100.net&gt;
&gt; 
&gt; If this has been co-authored you should indicate it in the changelog header :)

It hasn&apos;t been really co-authored. Almost the full patch is the work of
Kwang Yul Seo, I only fixed minor things. But you are right, I mentioned
everything in the changelogs.
 
&gt; &gt; Source/WebCore/platform/network/ResourceErrorBase.h:96
&gt; &gt; +    PlatformCertificateInfo m_platformCertificateInfo;
&gt; 
&gt; I think you it should be added to ResourceError, not ResourceErrorBase.

I don&apos;t think if it is a good idea, m_platformCertificateInfo is used
by platformCertificateInfo() and setPlatformCertificateInfo() in the
same header. Why should we add this cross platform implementation
to the 6 subclasses of ResourceErrorBase with copy/pasting instead
of leaving it in the ResourceErrorBase?
 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:159
&gt; &gt; +    PlatformCertificateInfo m_platformCertificateInfo;
&gt; 
&gt; Same thing for ResourceResponse.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933485</commentid>
    <comment_count>26</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 07:30:50 -0700</bug_when>
    <thetext>Could you review this 2.5 months old patch please? 
(Rebasing this huge patch to ToT again and again is a little bit burdensome.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933926</commentid>
    <comment_count>27</comment_count>
      <attachid>212804</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-27 07:22:30 -0700</bug_when>
    <thetext>Created attachment 212804
Patch

updated to ToT: resolved a trivial conflict</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934479</commentid>
    <comment_count>28</comment_count>
      <attachid>212957</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-30 00:37:02 -0700</bug_when>
    <thetext>Created attachment 212957
Patch

rename KURL to URL after r156550</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934803</commentid>
    <comment_count>29</comment_count>
      <attachid>212957</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-30 13:52:55 -0700</bug_when>
    <thetext>Comment on attachment 212957
Patch

Attachment 212957 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/2613628</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934810</commentid>
    <comment_count>30</comment_count>
      <attachid>213036</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-30 14:33:27 -0700</bug_when>
    <thetext>Created attachment 213036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934918</commentid>
    <comment_count>31</comment_count>
      <attachid>213036</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-09-30 23:54:12 -0700</bug_when>
    <thetext>Comment on attachment 213036
Patch

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

soup changes look good to me, except for the few comments below. r- just because of the SoupMessageFlags initialization removal in ResourceResponse.

&gt; Source/WebCore/platform/network/PlatformCertificateInfo.h:35
&gt; +#include &lt;wtf/gobject/GRefPtr.h&gt;

We can probably include &lt;gio/gio.h&gt; since we are not using any libsoup API here.

&gt; Source/WebCore/platform/network/PlatformCertificateInfo.h:40
&gt; +class ResourceError;
&gt; +class ResourceResponse;

These look unused here.

&gt; Source/WebCore/platform/network/soup/PlatformCertificateInfoSoup.cpp:31
&gt; +#include &quot;ResourceError.h&quot;
&gt; +#include &quot;ResourceResponse.h&quot;

These are no longer needed either.

&gt; Source/WebCore/platform/network/soup/PlatformCertificateInfoSoup.cpp:32
&gt; +#include &lt;libsoup/soup.h&gt;

This is already included in PlatformCertificateInfo.h, I know this is also present in current code, though.

&gt; Source/WebCore/platform/network/soup/ResourceResponse.h:-40
&gt; -        , m_soupFlags(static_cast&lt;SoupMessageFlags&gt;(0))

You should keep the message flags initialization.

&gt; Source/WebCore/platform/network/soup/ResourceResponse.h:-47
&gt; -        , m_soupFlags(static_cast&lt;SoupMessageFlags&gt;(0))

Ditto.

&gt; Source/WebCore/platform/network/soup/ResourceResponse.h:-54
&gt; -        , m_soupFlags(static_cast&lt;SoupMessageFlags&gt;(0))

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936180</commentid>
    <comment_count>32</comment_count>
      <attachid>213359</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-04 06:47:12 -0700</bug_when>
    <thetext>Created attachment 213359
Patch

Patch for EWS. Removed Qt changes, added back initializers for m_soupFlags. I&apos;ll check other things mentioned in the review later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937078</commentid>
    <comment_count>33</comment_count>
      <attachid>213595</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-07 09:03:22 -0700</bug_when>
    <thetext>Created attachment 213595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937084</commentid>
    <comment_count>34</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-07 09:08:59 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; Created an attachment (id=213595) [details]
&gt; Patch

I fixed everything mentioned in https://bugs.webkit.org/show_bug.cgi?id=118520#c31 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937870</commentid>
    <comment_count>35</comment_count>
      <attachid>213595</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-09 04:00:26 -0700</bug_when>
    <thetext>Comment on attachment 213595
Patch

soup changes look good to me, thanks ossy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937872</commentid>
    <comment_count>36</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-09 04:03:41 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 213595 [details])
&gt; soup changes look good to me, thanks ossy.

Can we get a sign-off from a WK2 owner, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938013</commentid>
    <comment_count>37</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-09 12:12:58 -0700</bug_when>
    <thetext>Can’t this just be called CertificateInfo? I don’t think we should be using the Platform prefix for classes that are in the platform layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938261</commentid>
    <comment_count>38</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 03:20:35 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; Can’t this just be called CertificateInfo? I don’t think we should be using the Platform prefix for classes that are in the platform layer.

Of course I can rename PlatformCertificateInfo to CertificateInfo.

Have you got any other remark for this patch? Apart 
from this rename thing, does it look good for you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938275</commentid>
    <comment_count>39</comment_count>
      <attachid>213867</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 04:06:10 -0700</bug_when>
    <thetext>Created attachment 213867
Patch

patch for EWS with renaming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938276</commentid>
    <comment_count>40</comment_count>
      <attachid>213868</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 04:08:02 -0700</bug_when>
    <thetext>Created attachment 213868
Patch

patch for EWS with renaming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938277</commentid>
    <comment_count>41</comment_count>
      <attachid>213868</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-10 04:14:52 -0700</bug_when>
    <thetext>Comment on attachment 213868
Patch

Attachment 213868 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/3777052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938281</commentid>
    <comment_count>42</comment_count>
      <attachid>213868</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-10 04:19:35 -0700</bug_when>
    <thetext>Comment on attachment 213868
Patch

Attachment 213868 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/3777053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938282</commentid>
    <comment_count>43</comment_count>
      <attachid>213868</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-10-10 04:21:02 -0700</bug_when>
    <thetext>Comment on attachment 213868
Patch

Attachment 213868 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/3400074</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938285</commentid>
    <comment_count>44</comment_count>
      <attachid>213870</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 04:27:19 -0700</bug_when>
    <thetext>Created attachment 213870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938286</commentid>
    <comment_count>45</comment_count>
      <attachid>213871</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 04:29:45 -0700</bug_when>
    <thetext>Created attachment 213871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938287</commentid>
    <comment_count>46</comment_count>
      <attachid>213871</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-10 04:35:44 -0700</bug_when>
    <thetext>Comment on attachment 213871
Patch

Attachment 213871 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/3776053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938288</commentid>
    <comment_count>47</comment_count>
      <attachid>213871</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-10 04:37:24 -0700</bug_when>
    <thetext>Comment on attachment 213871
Patch

Attachment 213871 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/3779039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938289</commentid>
    <comment_count>48</comment_count>
      <attachid>213872</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 04:39:38 -0700</bug_when>
    <thetext>Created attachment 213872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938297</commentid>
    <comment_count>49</comment_count>
      <attachid>213872</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-10 05:21:05 -0700</bug_when>
    <thetext>Comment on attachment 213872
Patch

Attachment 213872 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/3721051</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938300</commentid>
    <comment_count>50</comment_count>
      <attachid>213874</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 05:29:46 -0700</bug_when>
    <thetext>Created attachment 213874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938323</commentid>
    <comment_count>51</comment_count>
      <attachid>213874</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 06:54:13 -0700</bug_when>
    <thetext>Comment on attachment 213874
Patch

EWS bots are green (except the non working GTK-WK2), so marking it as r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938324</commentid>
    <comment_count>52</comment_count>
      <attachid>213595</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 06:55:18 -0700</bug_when>
    <thetext>Comment on attachment 213595
Patch

mark as obsolete based on comment #37</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938326</commentid>
    <comment_count>53</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 06:57:11 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; Can’t this just be called CertificateInfo? I don’t think we should be using the Platform prefix for classes that are in the platform layer.

(In reply to comment #50)
&gt; Created an attachment (id=213874) [details]
&gt; Patch

I did the asked renaming. Is there anything else should I fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938399</commentid>
    <comment_count>54</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-10 10:05:10 -0700</bug_when>
    <thetext>(In reply to comment #51)
&gt; (From update of attachment 213874 [details])
&gt; EWS bots are green (except the non working GTK-WK2), so marking it as r?

Applied locally, I confirm it builds fine in gtk-wk2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938770</commentid>
    <comment_count>55</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 04:01:48 -0700</bug_when>
    <thetext>Anders or Brady, could you review it please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939009</commentid>
    <comment_count>56</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-11 16:50:16 -0700</bug_when>
    <thetext>I honestly don&apos;t have time to meaningfully review a 100k patch that touches so many sites right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939099</commentid>
    <comment_count>57</comment_count>
      <attachid>213874</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-12 11:13:26 -0700</bug_when>
    <thetext>Comment on attachment 213874
Patch

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

&gt; Source/WebCore/platform/network/CertificateInfo.h:67
&gt; +    // Certificate chain is normally part of NS/CFURLResponse, but there is no way to re-add it to a deserialized response after IPC.

I don&apos;t think this comment makes any sense.

&gt; Source/WebCore/platform/network/soup/ResourceError.h:60
&gt; +    unsigned tlsErrors() const { return m_certificateInfo.tlsErrors(); }
&gt; +    void setTLSErrors(unsigned tlsErrors) { m_certificateInfo.setTLSErrors(static_cast&lt;GTlsCertificateFlags&gt;(tlsErrors)); }
&gt; +    GTlsCertificate* certificate() const { return m_certificateInfo.certificate(); }
&gt; +    void setCertificate(GTlsCertificate* certificate) { m_certificateInfo.setCertificate(certificate); }

Can&apos;t we get rid of these and just use calls on m_certificateInfo directly?

&gt; Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm:36
&gt; +    RefPtr&lt;WebCertificateInfo&gt; certificateInfo = WebCertificateInfo::create(WebCore::CertificateInfo(certificateChain));

Please add using directive for the WebCore namespace so you don&apos;t have to use the WebCore prefix here.

&gt; Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:564
&gt; +

Extra newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939472</commentid>
    <comment_count>58</comment_count>
      <attachid>213874</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 09:41:34 -0700</bug_when>
    <thetext>Comment on attachment 213874
Patch

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

&gt;&gt; Source/WebCore/platform/network/CertificateInfo.h:67
&gt;&gt; +    // Certificate chain is normally part of NS/CFURLResponse, but there is no way to re-add it to a deserialized response after IPC.
&gt; 
&gt; I don&apos;t think this comment makes any sense.

What is the problem with it? We didn&apos;t touch this code/comment. 
It was originally added by http://trac.webkit.org/changeset/138206

&gt;&gt; Source/WebCore/platform/network/soup/ResourceError.h:60
&gt;&gt; +    void setCertificate(GTlsCertificate* certificate) { m_certificateInfo.setCertificate(certificate); }
&gt; 
&gt; Can&apos;t we get rid of these and just use calls on m_certificateInfo directly?

Yes, we can. I&apos;ll do it before landing.

&gt;&gt; Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm:36
&gt;&gt; +    RefPtr&lt;WebCertificateInfo&gt; certificateInfo = WebCertificateInfo::create(WebCore::CertificateInfo(certificateChain));
&gt; 
&gt; Please add using directive for the WebCore namespace so you don&apos;t have to use the WebCore prefix here.

OK.

&gt;&gt; Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:564
&gt;&gt; +
&gt; 
&gt; Extra newline.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939474</commentid>
    <comment_count>59</comment_count>
      <attachid>214157</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 09:45:03 -0700</bug_when>
    <thetext>Created attachment 214157
patch for attachment213874</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939477</commentid>
    <comment_count>60</comment_count>
      <attachid>214158</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 09:49:29 -0700</bug_when>
    <thetext>Created attachment 214158
Patch

patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939481</commentid>
    <comment_count>61</comment_count>
      <attachid>213874</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 09:57:10 -0700</bug_when>
    <thetext>Comment on attachment 213874
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/network/soup/ResourceError.h:60
&gt;&gt;&gt; +    void setCertificate(GTlsCertificate* certificate) { m_certificateInfo.setCertificate(certificate); }
&gt;&gt; 
&gt;&gt; Can&apos;t we get rid of these and just use calls on m_certificateInfo directly?
&gt; 
&gt; Yes, we can. I&apos;ll do it before landing.

Hmmmm, it seems we can&apos;t, because https://bugs.webkit.org/attachment.cgi?id=213881&amp;action=review use these setters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939492</commentid>
    <comment_count>62</comment_count>
      <attachid>214160</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 10:10:04 -0700</bug_when>
    <thetext>Created attachment 214160
Patch

patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939873</commentid>
    <comment_count>63</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-14 23:56:01 -0700</bug_when>
    <thetext>(In reply to comment #61)
&gt; (From update of attachment 213874 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213874&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/platform/network/soup/ResourceError.h:60
&gt; &gt;&gt;&gt; +    void setCertificate(GTlsCertificate* certificate) { m_certificateInfo.setCertificate(certificate); }
&gt; &gt;&gt; 
&gt; &gt;&gt; Can&apos;t we get rid of these and just use calls on m_certificateInfo directly?
&gt; &gt; 
&gt; &gt; Yes, we can. I&apos;ll do it before landing.
&gt; 
&gt; Hmmmm, it seems we can&apos;t, because https://bugs.webkit.org/attachment.cgi?id=213881&amp;action=review use these setters.

That&apos;s not a problem, that patch will have to be reworked anyway since it also uses PlatformCertificateInfo instead of  CertificateInfo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939909</commentid>
    <comment_count>64</comment_count>
      <attachid>214158</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 03:23:02 -0700</bug_when>
    <thetext>Comment on attachment 214158
Patch

Clearing flags on attachment: 214158

Committed r157445: &lt;http://trac.webkit.org/changeset/157445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939910</commentid>
    <comment_count>65</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 03:24:45 -0700</bug_when>
    <thetext>(In reply to comment #64)
&gt; (From update of attachment 214158 [details])
&gt; Clearing flags on attachment: 214158
&gt; 
&gt; Committed r157445: &lt;http://trac.webkit.org/changeset/157445&gt;

Thanks, I landed the original patch which removed the functions
asked in https://bugs.webkit.org/show_bug.cgi?id=118520#c57.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939914</commentid>
    <comment_count>66</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 03:38:56 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 122825</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940011</commentid>
    <comment_count>67</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 09:48:25 -0700</bug_when>
    <thetext>(In reply to comment #64)
&gt; (From update of attachment 214158 [details])
&gt; Clearing flags on attachment: 214158
&gt; 
&gt; Committed r157445: &lt;http://trac.webkit.org/changeset/157445&gt;

just for note: the necessary buildfixes landed in
- http://trac.webkit.org/changeset/157446
- http://trac.webkit.org/changeset/157447</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942600</commentid>
    <comment_count>68</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-23 00:03:13 -0700</bug_when>
    <thetext>Reopen, because Anders reverted it with the following commit message:
http://trac.webkit.org/changeset/157842
Revert r157445 since it broke certificates on Mac.
&lt;rdar://problem/15246926&amp;15254017&amp;15269117&gt;

Sorry for the breakage. Anders, could you give us some hint about what happened?
I haven&apos;t seen any failures on the Apple buildbots after landing. &quot;it broke
certificates on Mac.&quot; isn&apos;t enough for me to try to fix this regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942601</commentid>
    <comment_count>69</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-23 00:08:14 -0700</bug_when>
    <thetext>Otherwise do we _really_ need this monumental change?

Originally Balázs and Kwang suggested the following change in
https://bugs.webkit.org/show_bug.cgi?id=110141 :
diff --git a/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp
index 5357bbcf44004cd3a52477e5636d5ab72cd24cb6..603895660f599f486502039b84f4e40ffe686e0f 100644
--- a/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp
+++ b/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp
@@ -106,7 +106,9 @@ void WebResourceLoader::didReceiveResponseWithCertificateInfo(const ResourceResp
     RefPtr&lt;WebResourceLoader&gt; protector(this);
 
     ResourceResponse responseCopy(response);
+#if USE(CFNETWORK)
     responseCopy.setCertificateChain(certificateInfo.certificateChain());
+#endif
     m_coreLoader-&gt;didReceiveResponse(responseCopy);
 
     // If m_coreLoader becomes null as a result of the didReceiveResponse callback, we can&apos;t use the send function(). 


But Brady didn&apos;t want this oneliner and suggested this monunental one:
&quot;I understand this is (currently) necessary because of code in WebCore, which is too bad.

We should push &quot;PlatformCertificateInfo&quot; to WebCore and make the ResourceRequest/Response primitives work in terms of that platform agnostic object instead of CF-specific types.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942603</commentid>
    <comment_count>70</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-23 00:13:18 -0700</bug_when>
    <thetext>EFL buildfix after the imperfect rollout - http://trac.webkit.org/changeset/157850 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942604</commentid>
    <comment_count>71</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-23 00:14:47 -0700</bug_when>
    <thetext>and the GTK build is still broken because of the rollout, see https://bugs.webkit.org/show_bug.cgi?id=120160 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942605</commentid>
    <comment_count>72</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-23 00:23:47 -0700</bug_when>
    <thetext>Otherwise rolling out the patch without any notification on IRC and/or comment in this bug (with Apple only radar link) was a little bit unfriendly. :(

Would you be so kind to notice the author before/after the rollout next time please? And please add more detailed infos how to reproduce the regression
caused. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942620</commentid>
    <comment_count>73</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-23 01:54:03 -0700</bug_when>
    <thetext>(In reply to comment #69)
&gt; We should push &quot;PlatformCertificateInfo&quot; to WebCore and make the ResourceRequest/Response primitives work in terms of that platform agnostic object instead of CF-specific types.&quot;

I still think this makes a lot of sense, we just need to know what&apos;s broken and try to fix it. Anders?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943108</commentid>
    <comment_count>74</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-24 06:47:09 -0700</bug_when>
    <thetext>Anders, would you be so kind to share with us what was the problem with the patch
you rolled out? It would be great to have any information to be able to fix the
mistake we made. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949283</commentid>
    <comment_count>75</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-11-11 06:50:05 -0800</bug_when>
    <thetext>(In reply to comment #74)
&gt; Anders, would you be so kind to share with us what was the problem with the patch
&gt; you rolled out? It would be great to have any information to be able to fix the
&gt; mistake we made. Thanks.

Oops, I thought I had done that.

The reason was that on the Mac port we didn&apos;t get any certificates so a lot of Safari features that depend on having correct certificate info broke.

I tried digging through the patch to fix the issue but couldn&apos;t due to its sheer size.

I think a good next step here is to do the rename + move to WebCore as a separate step (maybe even two steps, first rename and then move). Once that&apos;s done it&apos;s easier to re-review the remaning bits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953159</commentid>
    <comment_count>76</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 10:20:52 -0800</bug_when>
    <thetext>I split up the original patch into 3 bugs:
- Rename PlatformCertificateInfo to CertificateInfo (bug124150)
- Move CertificateInfo to WebCore (bug124720)
- Make the ResourceRequest/Response primitives work in terms of platform agnostic CertificateInfo object (bug124724)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206453</attachid>
            <date>2013-07-11 05:54:39 -0700</date>
            <delta_ts>2013-07-11 06:02:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130711215154.patch</filename>
            <type>text/plain</type>
            <size>96301</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVkZmNhN2RjNTc0MTUw
ODhkZWM3NTIyZjhlNGVmNDQ5YjQwM2Q4YS4uNDM4MTVkYWUzNzgwZTBkZmQ4YzBhNzM2N2NkYzMx
YjM5ZWU5ZWQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA3LTExICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWNh
dGUgZ2V0dGVycyBhbmQgc2V0dGVycyBvZgorICAgICAgICBSZXNvdXJjZUVycm9yIGFuZCBSZXNv
dXJjZVJlc3BvbnNlIHRvIHVzZSB0aGUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8KKyAgICAgICAg
bWVtYmVyLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBQbGF0
Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
ZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAg
ICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oLgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6dGxzRXJyb3JzKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpzZXRUTFNFcnJvcnMpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlRXJyb3JCYXNlOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VSZXNwb25zZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbS4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0
ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0
aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpkdW1wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlmaWNh
dGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpjZXJ0aWZpY2F0
ZUNoYWluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvUXQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldFRMU0Vy
cm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpjZXJ0aWZpY2F0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0aWZpY2F0ZSk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpoYW5kbGVVbmlnbm9yZWRUTFNFcnJvcnMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKToKKwogMjAxMy0w
Ny0wOSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjgyZmNhMTdiZDZlZmMwZGFhMmNiYjli
MjE5M2QyZDBkY2JiYmU5NS4uMmJhOTA3ZGMwZWViYzM0ODY2ZmNjMWVmMjIxNWE3NTM3ZDRjMzZm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEzLTA3LTExICBLd2FuZyBZdWwgU2Vv
ICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2
ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJvckJhc2UKKyAg
ICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBhbmQgc2V0dGlu
ZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4KKworICAgICAg
ICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWNhdGUgZ2V0dGVy
cyBhbmQgc2V0dGVycyBvZgorICAgICAgICBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3Bv
bnNlIHRvIHVzZSB0aGUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8KKyAgICAgICAgbWVtYmVyLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlQXN5bmMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAg
KiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAoV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2Vy
dGZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRp
b24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1Vz
ZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6
YmFzZURlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAg
ICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBD
Ojo6OmVuY29kZSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9y
bURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAg
ICAqIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAg
ICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6
ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92
aWV3X2dldF90bHNfaW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1pdExvYWQpOgorCiAyMDEzLTA3LTA5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDNiNTNlMDU0ZGVjNjMz
ZWI2N2U1Njc3Y2JiMWMzY2I1ZjBlZmRlZmQuLmQzMzcxYmNlYWY2YmRjMDg4MDEyNjY2ZGRiNTQ1
ZWFmOTQ0N2UzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTUxMSw2ICs1
NTExLDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBcCkBAIC01
NTQwLDYgKzU1NDEsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25T
b3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9Qcm94eVNlcnZlclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21h
a2UKaW5kZXggZjQ5NjY0NzI1MDk3OWFjNDdhZmU1M2RjMjRiYTQzMmY4ZTE1MDU3YS4uYjdmODVh
NTgxMGNhYjU4MjlkNzlmNjhjMTJjNjNjNTQ4ODJjNjQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKQEAgLTE0OCw2ICsxNDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvR093blB0clNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtT
dG9yYWdlU2Vzc2lvblNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlS
ZXNvbHZlclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291
cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCAzNWViNjU0NmJlMDVkODM3N2ZlY2FlMjE0OGNkY2FkYmY0NmJjYmJhLi5i
N2M4OWYxZjlmZjQ3MjAyMjIxZWFlOGNhZjVjYzcyYjA3NjkwNjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTIzMTQsNiArMjMxNCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0
d29ya2luZ0NvbnRleHQuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3Rp
Zmllci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENvbnRlbnRUeXBlLmggXAorICAg
IHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgcGxhdGZv
cm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1By
b3RlY3Rpb25TcGFjZS5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3h5U2VydmVyLmggXApA
QCAtMjg4OCw2ICsyODg5LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9x
dC9SZXNvdXJjZVJlcXVlc3RRdC5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvRE5TUXQu
Y3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L05ldHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3Bw
IFwKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3Bw
IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Byb3h5U2VydmVyUXQuY3BwIFwKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCA1Zjk0ZWM1OGM5N2RiZmVmMmVmMTI5NzBiMGEyNDAyZTNkNWM1ZWZhLi42OTU5MDUwZTE3Mjdk
ZDBkZmY1YTdkYjMzMjM4ZTgxYTNiN2RiZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYw
LDYgKzc2MCwxMSBAQCBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRB
dXRoZW50aWNhdGlvbkNsaWVudEVQTlNfMjBBdXRoZW50aWNhdAogX19aTjdXZWJDb3JlMjNBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUMxRVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFUktOU18xMENyZWRl
bnRpYWxFalJLTlNfMTZSZXNvdXJjZVJlc3BvbnNlRVJLTlNfMTNSZXNvdXJjZUVycm9yRQogX19a
TjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJh
dGlvbkV2CiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3BlcnR5U2V0RDFFdgorX19aTjdX
ZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlf
X0NGQXJyYXkKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NG
QXJyYXkKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUV2CitfX1pON1dl
YkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTIzUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdXZWJDb3JlMjNjcmVh
dGVGcmFnbWVudEZyb21Ob2Rlc0VQTlNfOERvY3VtZW50RVJLTjNXVEY2VmVjdG9ySVBOU180Tm9k
ZUVMbTBFTlMyXzE1Q3Jhc2hPbk92ZXJmbG93RUVFCiBfX1pON1dlYkNvcmUyM2RhdGFGb3JVUkxD
b21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1lV2l0aFJh
bmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGE4YWNiYjdiYTE5MTA0Y2E5MTVjYmU0OTg0YTg1ZDg2
NzNiMDE0OTUuLjQ5Yjk5MmViN2QxZTM1YjUzYWIxZjU0MDk5NjE4OWQwYmYyNWY5MTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTIy
MzQsNiArMTIyMzQsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xOZXR3b3JrU3RhdGVOb3RpZmllci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cbmV0d29ya1xOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5cGUuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZUhhc2guaCIgLz4K
QEAgLTEzOTI0LDQgKzEzOTI1LDQgQEAKICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRl
bnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggM2ZkMmIzZmRlODMz
OGY4Y2MwMTdmNDQwN2VlNDIzNTdmMTM0N2NjZS4uOGQwN2MzYWY2ZWY0ZThkOGE0ODVjNDg4NDcx
ZmZmY2EzMjYxZTg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtODg1Niw2ICs4ODU2LDkgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5cGUu
aCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0Zp
bHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiN2YyYmJlZWU3NTg5YWM2
MmE1MTBjYWE0YmYzNWJjYjA5ZDdmNTk4Li4yMjcxYzliODEyOGIwNmQ5YmM3NzUwMGVlZjA1MTMz
ZDMyNzYzOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xNzExLDYgKzE3MTEsOCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1
MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3
IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3
IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9u
LmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4
QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJF
OTE3OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJE
MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkw
NENBMTc4RTYxRjUwMDRDOEEyRCAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAw
MTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8q
IEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07
CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjEx
NDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBT
cGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC04MDkzLDYgKzgwOTUsOCBAQAogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFB
NDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2
OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURDODdFRUYxMTcxNkRGMjAwMUMwRTZEIC8q
IEVtcHR5UHJvdG9jb2xEZWZpbml0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBFbXB0eVByb3RvY29sRGVmaW5pdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRC
QkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNF
dmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRh
cmdldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NDk0LDYgKzE0NDk4LDcgQEAKIAkJCQlFMTNF
RjM0MjE2ODRFQ0Y0MDAzNEM4M0YgLyogTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggKi8sCiAJCQkJ
NDQ3OTU4MDIxNjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNwcCAqLywKIAkJ
CQk0NDc5NTgwMzE2NDNCNDdCMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCAqLywKKwkJ
CQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAq
LywKIAkJCQk1MTRDNzY1RjBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmNwcCAq
LywKIAkJCQk1MTRDNzY2MDBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmggKi8s
CiAJCQkJNTFBMDUyNTUxMDU4ODc0MDAwQ0M5RTk1IC8qIFByb3RlY3Rpb25TcGFjZUhhc2guaCAq
LywKQEAgLTE0NTM2LDYgKzE0NTQxLDcgQEAKIAkJCQk1MTRDNzY0NDBDRTkyMzRFMDA3RUYzQ0Qg
LyogRm9ybURhdGFTdHJlYW1NYWMuaCAqLywKIAkJCQk1MTRDNzY0NTBDRTkyMzRFMDA3RUYzQ0Qg
LyogRm9ybURhdGFTdHJlYW1NYWMubW0gKi8sCiAJCQkJMUE3RkE2NDcwRERBM0NCQTAwMjhGOEE1
IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJE
MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJNTE0Qzc2
NDYwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlRXJyb3JNYWMubW0gKi8sCiAJCQkJNTE0Qzc2
NDcwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlTWFjLm1tICovLAogCQkJCTUxNEM3
NjQ5MENFOTIzNEUwMDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RNYWMubW0gKi8sCkBAIC0yNDAw
OCw2ICsyNDAxNCw3IEBACiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0
b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NB
dWRpdG9yRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAw
OERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAw
NEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI2
OTgxLDYgKzI2OTg4LDcgQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVk
aXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzODAgLyog
WFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1
MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3
OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTYxYjdiZDE2NmRhODE2OTMzN2Y2
NTM2YThjZWE5MmZiNjQ5MTdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNzkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
X2gKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjZWxp
ZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29i
amVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVz
b3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwor
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQor
ICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1w
KCkgY29uc3Q7CisjZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRl
KiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAg
ICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9j
ZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0
bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExT
RXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRs
c0Vycm9yczsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0Uo
Q0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2Yg
TlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBk
ZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBtX2NlcnRpZmljYXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHND
ZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rs
c0Vycm9yczsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1
MzMxYzc1OTk0ZjkzOGMzNzNmMjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2YmJlYzJk
OWRjYzQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VFcnJvckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlRXJyb3JCYXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJv
ckJhc2VfaAogI2RlZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91dDsgfQog
ICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0KIAorICAg
IGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
IGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3Qg
UmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAt
ODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmlu
ZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247CisgICAg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBi
b29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNU
aW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IGUwMGNhNDFmOTljMDgyNWExZDg4MTYxM2M5NjkxNjFl
ZmUzODQwM2UuLjIxOTg2MmZhNDQ1ZGNmMTA1ZGU1ZmVmZjNkYTgyODRjMGFiMDRkMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIK
ICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CkBAIC0xMTcsNiArMTE4LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWlu
ZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRU
aW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0
dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAi
c2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1lbW9yeSB1
c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7
CkBAIC0xNTgsNiArMTYyLDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlv
bklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8UmVzb3Vy
Y2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lzTnVsbCA6
IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0OWM0MzRm
NDkwNTQwNzAuLjI3M2M4ZDc3MjhlNjI0ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNw
b25zZS5oCkBAIC0xMTcsMTAgKzExNyw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsKICNlbmRp
ZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0aWZpY2F0
ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBp
cyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQ
Qy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47
Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3BsYXRmb3Jt
UmVzcG9uc2VJc1VwVG9EYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5NwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAg
ICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKwordm9p
ZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNh
dGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlm
aWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQo
KTsKK30KKworI2lmbmRlZiBOREVCVUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1
bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4g
PyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBO
U0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmll
czogJWRcbiIsIGVudHJpZXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVz
OyArK2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRD
RihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZB
cnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAg
ICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30K
KyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRl
eCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1ODA5MDZi
ZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2UwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4
MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVz
cG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQog
ewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxS
ZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0
ZUNoYWluOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFp
bihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJlc291cmNl
UmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAogewotICAgIGlmIChtX2V4dGVybmFs
Q2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNo
YWluOworICAgIGlmIChtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0
aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25z
ZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUx
NTYxYjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEz
NTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1Nv
dXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlh
IFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9u
c2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAg
IDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQorewor
fQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdm
MzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0
NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3Vy
Y2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgogICAgIFJlc291cmNl
RXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYg
ZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAg
OiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxp
emVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQog
CiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAg
ICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVy
cm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBS
ZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVu
c2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9p
ZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJy
b3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0
aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9Cisg
ICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRs
c0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHko
UmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShj
b25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVu
c2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRp
ZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUy
NTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1
YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCAr
OTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBT
dHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJl
c291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZp
Y2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNF
cnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29t
cGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ZWZhYTY3Yjc1YWQ4M2YyMmE3ZjA3ZTg4MDYzYTNjNGVh
M2M4ZGNmLi43OWI3YWExYzhmN2M5MDdhOGE5ZjNkNDAwM2RmZWVmZGNjZGQ2Y2E4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcApAQCAtNjA2LDggKzYwNiw4IEBAIHN0YXRpYyBib29sIGhhbmRsZVVu
aWdub3JlZFRMU0Vycm9ycyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogCiAgICAgaGFuZGxlLT5j
bGllbnQoKS0+ZGlkRmFpbChoYW5kbGUsIFJlc291cmNlRXJyb3I6OnRsc0Vycm9yKGQtPm1fc291
cFJlcXVlc3QuZ2V0KCksIHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCksIHJlc3BvbnNl
LnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkpOwogICAgIHJldHVybiB0cnVlOwotfQogCit9CiBz
dGF0aWMgdm9pZCBuZXh0TXVsdGlwYXJ0UmVzcG9uc2VQYXJ0Q2FsbGJhY2soR09iamVjdCogLypz
b3VyY2UqLywgR0FzeW5jUmVzdWx0KiByZXN1bHQsIGdwb2ludGVyIGRhdGEpCiB7CiAgICAgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+
KGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMzcwZjQzMGI2OWY3NWJhNjI4NzdlNjNlMGY0OTNj
MDliZmQyMWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJhMzRhY2QwOTg0MTdjNjhjNTUzNjc4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVz
cG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6
IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNw
b25zZSgpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291
cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAg
fQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5j
b2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVz
cG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1l
LCBmaWxlbmFtZSkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2Fn
ZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlm
aWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoU291
cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkK
LSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkK
LSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
MCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwog
ICAgIH0KQEAgLTY3LDExICs2MSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlm
ZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQog
ICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9z
bmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3Vw
TWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsg
fQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNl
cnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0
aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3Nh
Z2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxz
Q2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1f
dGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlm
aWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBH
VGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJu
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNv
dXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBi
b29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
IApAQCAtODAsOCArNzQsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3Nv
dXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
bV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlm
ZTQyZDdiMjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3Nh
Z2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9t
ZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmpl
Y3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlm
aWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2Jq
ZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEg
aXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDgg
KzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNv
dXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9n
ZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZj
ZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNh
dGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2Fn
ZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMp
OworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7
CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0
ZSk7CiAKICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNw
b25zZV9oZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGIxNTAx
N2ZlYjhjZDBjNWY4ODRhNThkOTU5MzU5N2JkYTZhMjc2MmUuLmUzMzA5Y2NhOTJkMGUwYWU2ZDIw
YjdiZDBmZDZlMDM1NjYwNzY2NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
NDY3LDggKzQ2Nyw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0Rh
dGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBl
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1Nv
dXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAg
LTEzMTIsOCArMTMxMCw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
MDBmNDA2OGNmODAxMjgzYTJiODZmMDVkZmJiNWE1NDc5NWIzMWFkYS4uNTI4ODI0YzYwYzJiMjY3
OWM3N2I2ZWRlNzExZDllODE1MjQ2ZDIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNiw3ICszNiw4IEBACiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFJ1bkxvb3A7Citj
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3du
bG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzU3RhdGlz
dGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmln
aW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGE1ZmNi
YzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5ODVkZDcuLjljYmFhYWJmYzBjMzE5YzdlNzU5
M2FjZGJiYjM4ZDYwZDU5YmRmMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNzU3Rh
dGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYmUx
MTM0YzRmYTc1MmE0NDZhMmM5MTdlMjQ1M2NmNGVmODMyNGU2Mi4uZThkNzBiZTBkMGJjZDRlMmRj
ZTFiZWE0M2M1ODE4NGJkNGI3ZDllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgi
CiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCkBAIC00Myw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
V2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZVJlc3BvbnNlQXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29ucwog
ICAgIGlmIChGb3JtRGF0YSogZm9ybURhdGEgPSByZXF1ZXN0KCkuaHR0cEJvZHkoKSkKICAgICAg
ICAgZm9ybURhdGEtPnJlbW92ZUdlbmVyYXRlZEZpbGVzSWZOZWVkZWQoKTsKIAotICAgIHNlbmRB
Ym9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKHJlc3BvbnNlKSwgaXNMb2FkaW5nTWFpblJlc291cmNlKCkpKTsKKyAgICBzZW5kQWJvcnRp
bmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpLCBpc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogCiAgICAgLy8gbV9oYW5kbGUg
d2lsbCBiZSAwIGlmIHRoZSByZXF1ZXN0IGdvdCBhYm9ydGVkIGFib3ZlLgogICAgIGlmICghbV9o
YW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggM2U5NmZhNGRjYmJmNWI0MzA4YzE1NjI2MjVlNDc3OTY5
YWI0NWI3Mi4uMjllOTY4MzhmOTc2NGE3MmM0MDI2NDExMmY4NmZmODlmODQ3OWY0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vz
c01hYy5tbQpAQCAtMzAsMTMgKzMwLDEzIEBACiAKICNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNp
bXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hl
c1RvQ2xlYXIuaCIKICNpbXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5o
IgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2Fs
aXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0
X2luZm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpp
bmRleCA4OGY5Y2ZiYzI0Yzc5MjA2ZDhlOTA3YjBmZGZiN2FiZWJhNGE1MWM4Li5hMmQyOGZkMDRh
YzZiMjUxOTNhZjUwNzkwN2M3YWQ1OTVkNWJiNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZQpAQCAtMzcsNyArMzcsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFNo
YXJlZC9saW51eC9XZWJNZW1vcnlTYW1wbGVyTGludXguY3BwCiAKLSAgICBTaGFyZWQvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1l
bnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZTM2Mzg3OWJmZWM1M2NhZDdlNWEzZTEy
MDY2NzU5Mjg4YmI0NGVlMi4uNTRjZGUzNjE2NjFjNjk2YzU3NTVmMDc5ZWNiOTE0ZjJiNzJjNTM5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTczLDcgKzczLDYgQEAgbGlzdChBUFBF
TkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2Nh
bGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3Bw
CiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKLSAgICBTaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xs
ZXIuY3BwCiAgICAgU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9k
dWxlWDExLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMv
V0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5kZXggMzRkZDQzMTUxOWEzOTlhM2RkODNlMGU4MjNm
NDM0NzVjMmUzYmZhYi4uZTUwZTI0YTljYjhjYjQwODgwY2UwYWYwOGFjOTY0MDc2MjczZWUwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRl
SW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tCkBAIC0zMyw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRm
aWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdl
YkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpj
cmVhdGUoUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJl
ZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRl
SW5mbzo6Y3JlYXRlKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRl
Q2hhaW4pKTsKICAgICByZXR1cm4gdG9BUEkoY2VydGlmaWNhdGVJbmZvLnJlbGVhc2UoKS5sZWFr
UmVmKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4uZDZlYzNmYTBkNzRjODljZTllOGRjNWVkOTM4ZGI3
ZWEyMWU4ODdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNz
IERvd25sb2FkOwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGcmFt
ZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBw
bGVtZW50LCBwdWJsaWMgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxl
ZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2
b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdl
YkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRl
bnRpYWwmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3Jl
ZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6
Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAg
ICAgdm9pZCBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNo
YWxsZW5nZUlEKTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCk7CiAgICAgCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVz
c2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAg
Ym9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJik7CisgICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5n
ZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVu
dGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJi
MWNjMzBjYTZiYzU5MWJkZWRlZDQxZjBmNTE5NWVjNzZjOTYxZGQuLmU2OTE1Y2NiNjVhZGYwYjlh
ZGU4NDQ0YzFiMjg4MDQyMzNmZDQ3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdl
cyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50
aWFsLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2
b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNv
cmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGUpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWFjLm1tCmluZGV4IGMwYjkyZjEyYjRlZjJkNDg0MjVkZDJiN2ZlMzQxZTc2OWMyNzYwMTMu
LjE5NDRkMzdmY2IxMDNjZGFlYzJiNTJiNjBjMDk3YTcyY2JjOTBjODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5h
Z2VyLm1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFj
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIFVT
RShTRUNVUklUWV9GUkFNRVdPUkspCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggMDAyMmYzMTA1NWU5NGM2ODU4
MGZiYWNkNDRkZTM2YjBmN2QwNGU4Yi4uOWNhOGMzMzg5YjQxZjYwMzkyYjNmYzRmODdjZjU3MzNj
ZTQ2YzdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAg
LTUwNCw3ICs1MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAg
ICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAg
ICAgICAgICBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNv
ZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRl
eCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li4yY2Q3OWQ3ZTMyMzdi
ZjA0Mjg5ZTZlYTFhYTZkZDMxN2RlN2U4YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlm
aWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJ
T2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBj
cmVhdGUoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAg
ewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7
CiAgICAgfQogCi0gICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsg
fQorICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAg
ICA6IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDdlZmYzZDUyZjI3MmJjMmQyZWM5YzMz
MzRmZTQ5MzAyNmRkODFlOGMuLjk0ZjBlYzA1NTZlN2RkYWNkMWJiNDQyYWVmNjFkYmZhNmU5N2Uw
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS1VSTC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgpAQCAtNTQ1LDYgKzU0NiwyMyBA
QCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIFJlc291cmNlUgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFy
Z3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKworICAgIGlmICghZGVjb2RlUGxhdGZvcm1E
YXRhKGRlY29kZXIsIGNlcnRpZmljYXRlSW5mbykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VF
cnJvcikKIHsKICAgICBpZiAoa1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2FlOWQ5YWM0
NTI1YTc3OWJjMjVlYzA3YzI5MGM4YTkxM2Y3NDY5My4uOTk0ODMzODY3YWZhZTVhYWM3M2RlODBl
YmVkMTI0NWMzYWMwMjU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaApAQCAtNDUsNiArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAgY2xhc3MgS1VSTDsKICAgICBjbGFzcyBOb3Rp
ZmljYXRpb247CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3Mg
UHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0OwpAQCAtMTY4LDYgKzE2OSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBk
ZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVu
dEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAg
IHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHN0YXRpYyBjb25zdCBib29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQx
NTQwZDQ5MWFkMDY4M2I5NTI0MGNjY2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9faAotCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3Mg
QXJndW1lbnREZWNvZGVyOwotICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoK
LSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBs
aWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4p
OwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9j
ZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVC
VUcKLSAgICB2b2lkIGR1bXAoKSBjb25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFp
blB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYz
MThlNGE2Y2E4ZTAyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0K
KysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29u
ZmlnLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJB
cmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQg
IkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2Vy
dGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4pCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFp
bikKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6
OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNh
dGVDaGFpbikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVy
LCBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZp
Y2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLSNpZm5kZWYgTkRFQlVHCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkg
Y29uc3QKLXsKLSAgICB1bnNpZ25lZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZB
cnJheUdldENvdW50KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2co
QCJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVk
XG4iLCBlbnRyaWVzKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytp
KSB7Ci0gICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2Vj
Q2VydGlmaWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlH
ZXRWYWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBO
U0xvZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5k
aWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1
NjUyNTBmZTBlYzBhMjgzMDE1YTM4ZjZlNDUuLmMwZGM0NmUyNjRkMDQ5ODIxMGMyNjRjYWVmNjBi
MDI3NTY2Njg4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNv
cmVBcmd1bWVudENvZGVycy5oIgogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1w
b3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50
ZXJmYWNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMy
LDYgKzEzMywzNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwog
fQogCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNo
YWluKCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7Cisg
ICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29s
IEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsK
KyAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2Vy
dGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVl
OworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQog
ewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0
ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkp
IGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzFiOWRlNjk4MGUwMWU1NjZlOTZhNGZmYWE3OTUwNjE1NDQxZjgyMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDU3
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gK
LSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oKQotICAgIHsKLSAgICB9Ci0KLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJikKLSAgICB7Ci0gICAgfQotCi0gICAg
dm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3QKLSAgICB7Ci0gICAg
fQotCi0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
NjkwNGI0YWU2ZTViNTMyYjAzOWRkNWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgot
Ci0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVy
LmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1
ZGUgPGxpYnNvdXAvc291cC5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpCi0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2Vy
dGlmaWNhdGUocmVzcG9uc2Uuc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNF
cnJvcnMocmVzcG9uc2Uuc291cE1lc3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJy
b3ImIHJlc291cmNlRXJyb3IpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2Vy
dGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBj
ZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmlj
YXRlLmdldCgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAg
aWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdC
eXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAg
ZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wg
aGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0
ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9u
ZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRh
ID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdS
ZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRh
KTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVs
dCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExT
X0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRl
X3R5cGUoYmFja2VuZCksIDAsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRl
IiwgY2VydGlmaWNhdGUuZ2V0KCksIE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0Nl
cnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGMyMzFmMzZkYjMyZjhkOGI0MDI2N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNs
dWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0K
LW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3Vt
ZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJv
cjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1j
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOwotCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNh
dGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAg
dm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGlj
IGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2Vy
dGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAKaW5kZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZh
ZmFlODg0Ni4uZDQ0ODBlMTUzNmYwMTg3ZGMxZjZhODkzNTY3ZWViZmJhNzYwMzBkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBA
QAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNw
b25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7
CiAKQEAgLTY4LDkgKzY5LDYwIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNl
Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9CiAKIAordm9p
ZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGlmICghcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0g
MDsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAg
IGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxH
Qnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAg
IGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29kZXIg
PDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRsc0Vycm9y
cygpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2Vy
dGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFS
ZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5
KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2Vy
dGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgY2VydGlmaWNhdGVEYXRhID0gZ19i
eXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5j
ZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIEdSZWZQdHI8
R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRlcyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEp
OworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0
KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVm
KEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRp
ZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRp
ZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgTlVMTCkpKTsKKyAgICBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZS5nZXQoKSk7CisKKyAgICB1
aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExT
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9y
Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBlbmNvZGVyIDw8IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOworICAgIGVuY29kZXIgPDwgcmVzb3VyY2VFcnJv
ci5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVz
b3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC03OSw4ICsxMzEsNyBAQCBib29sIEFy
Z3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8p
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJjZUVycm9yLnNldENlcnRpZmlj
YXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAgICByZXNvdXJjZUVycm9yLnNl
dFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworICAgIHJlc291cmNlRXJy
b3Iuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggZmU2MzM2YTEwMTU2M2YxYmUxNmQ1YjBkODE3
MzQ4ZDU3ZTU1ZDQzNy4uYzU3NTUyNWRkOWRkNjY0MzgxY2MzNjEyZTA5NmM1ZDZjNDFiMWYyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCkBAIC0xNDgsNyArMTQ4LDYgQEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVk
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQv
UGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCiAgICAgU2hhcmVkL3F0L0FyZ3VtZW50Q29kZXJzUXQu
aCBcCi0gICAgU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogICAgIFNoYXJl
ZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5oIFwKICAgICBTaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlE
YXRhLmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXgg
Mjk0OTcwOTBkYjYwN2RiY2E5ZjAxYWI5ZjQ0YzkzMjdlNDgyMWMxZi4uNWUwOTQ3ZGM0NzBkMmNk
NmE5MWQ3YWIyMmM5NzExYjAwMzYwODhkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNs
dWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNs
dWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbURhdGEuaCIKQEAgLTYxLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9HdGtVdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQdHJDYWlyby5oPgogI2luY2x1ZGUg
PGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgpAQCAt
MjkzMCw3ICsyOTMwLDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyhX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNhdGUqKgogICAgIGlmICghbWFpbkZy
YW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUlu
Zm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBpZiAoY2VydGlmaWNhdGUpCiAg
ICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOwogICAg
IGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5j
cHAKaW5kZXggOWY2NDg4NWFlODg0ODRkYzc0MTUxNTcyOWY1NTRiOWY1MjZhNWRkNS4uYTk4Mzgy
YWVkMzI4NDVkMDdkMTYzNzU2ZDJiNWE2MTg5Y2UyMzFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwoV2ViQ3JlZGVudGlhbCogY3Jl
ZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNh
dGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFs
bGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNl
cnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmljYXRlSW5mbygpOwotICAgICAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBj
ZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgOiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgICAgICBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBw
bGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwog
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlELCBjcmVkZW50aWFsLT5j
b3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2
YTE1ODllYWQyZjMuLjYyNTJiZTYwNTg1YTYzNDU1OTcwN2Y3Y2JmNjhiNDJjMDAwNzE3ODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsx
MzgsNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAg
IG1fdW5yZWFjaGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJG
cmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1l
UHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBB
U1NFUlQobV9sb2FkU3RhdGUgPT0gTG9hZFN0YXRlUHJvdmlzaW9uYWwpOwogICAgIG1fbG9hZFN0
YXRlID0gTG9hZFN0YXRlQ29tbWl0dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmgKaW5kZXggMGJlZTY2NmZmZmQ0YWYyZDExYjVmYzdkYWQyNzQ4YTI2OTZiNmFkNS4u
OWIzZTZjMTk3NGY1MDA4YzExNDViZWY3ZGQxNTlhYTg3ZDcxOGUxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCwxMCArNDAsMTQgQEAgbmFtZXNwYWNl
IENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9CiAKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworfQorCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKKwogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRm9ybVN1Ym1pc3Npb25M
aXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OwpAQCAtMTA2
LDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKGNv
bnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclBy
b3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlz
aW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBkaWRDb21t
aXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkKCk7CiAgICAgdm9pZCBk
aWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbihjb25zdCBT
dHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmNTdiNjUzNzdhNWJh
ZjNkNzA0MjIxYTc4ZGE5MzkzMGVmMjc5NTAxLi4yZDJjOTUyZWQwM2UxMTdmNTM0NmYyNTZmNDE0
YmZkZTg1MDA4YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xMDIsNiArMTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVj
dDsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNsYXNzIEludFNpemU7CisgICAgY2xh
c3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwog
ICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsK
QEAgLTEzMyw3ICsxMzQsNiBAQCBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3Mg
TmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQ
YWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQ
YWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0Zvcndh
cmRMaXN0SXRlbTsKQEAgLTgwNyw3ICs4MDcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3Rh
cnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBmcmFtZUhhc0N1c3RvbVJlcHJl
c2VudGF0aW9uLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9v
bCBmcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBj
b25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNo
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ZmMyZmMzZTU3NTBhY2M5MDE1MTFhNDlhM2NmNTgyYjk2M2FlMmY2OC4uNGNhZjgxNmU4ZDBmZTU1
ZDZiYjA5YjVmZDgwNzcwZDMyNjlmZDRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTQsNyArMTE0LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRfdCBmcmFt
ZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9hZEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBib29sIGhhc0N1c3Rv
bVJlcHJlc2VudGF0aW9uLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBib29sIGhhc0N1c3RvbVJl
cHJlc2VudGF0aW9uLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3Nh
Z2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
IHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlmN2RjYjI4ODZmNjJiYTJkODZlMzViNTZlOGM4NmZj
MjMwYTQ0ODEuLjE3YjZiMGE4NmU3YjBjYzIxYTU2OWM5OTUyOWQ3MWMyNmYzYWIyODMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTEwNjcsOCArMTA2Nyw2IEBACiAJCUJDRjE4NjM4MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1v
ZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLzsgfTsKIAkJQkNGNERF
MjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjIxNjhFNEJENTAw
Qzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovOyB9OwogCQlCQ0Y0REUyNTE2
OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAv
KiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovOyB9OwotCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1
QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAq
LzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4
NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAgLTI1ODQsOCArMjU4Miw2IEBACiAJCUJDRjE4
NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3Vw
cGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdl
YkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUw
NUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0
ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZv
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIg
LyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTQzNTUsOCArNDM1MSw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3Rl
Ym9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0
SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBv
cnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyog
UHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTFBRjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICovLAogCQkJCTFBRjFBQzY5MTY1MTc1OUUwMEMxN0Q3
RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSAqLywKQEAgLTU0NTcsNyArNTQ1MSw2
IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9y
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQUYwNjE0MTJCMDExMzEwMDhFNDlFMiAvKiBQREZW
aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M0
M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9jZXNzSWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2RkI3RDMxMUU2NTFFMjAwREIxMzcxIC8q
IFBsdWdpbi5oIGluIEhlYWRlcnMgKi8sCkBAIC02NzIxLDcgKzY3MTQsNiBAQAogCQkJCTJENDI5
QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRleHRBbm5v
dGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBRjA2MTUxMkIwMTEzMTAwOEU0OUUyIC8q
IFBERlZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3
QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUz
NTdiYmNmNDQwMDRjZDNhNTI0NzdlNTYzNmQ1YWI3MmNkMjRjYjYuLjhhZGZmNWM1NDhmODUzNjI0
YWIzN2ZlZWNiMWQ3YTkwNTMwZTc5MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMzIsMTEgKzMyLDEx
IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
QnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
UmVzb3VyY2VSZXNwCiAgICAgUmVmUHRyPFdlYlJlc291cmNlTG9hZGVyPiBwcm90ZWN0b3IodGhp
cyk7CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlQ29weShyZXNwb25zZSk7Ci0gICAg
cmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRpZmlj
YXRlQ2hhaW4oKSk7CisgICAgcmVzcG9uc2VDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2Uo
cmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRlciBiZWNvbWVzIG51bGwgYXMg
YSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjaywgd2UgY2FuJ3QgdXNl
IHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCBiMzdlOWIwZjA5MjgwOTE1ZmE1
YjI0ZjUwOTY2YzAzZDA5ZDZiMDI0Li5lODRmMGYyNTJkZTc1OGIzOTZmMzlhZDUzMmY4YjcxN2Jm
OTA0MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNl
OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3Mg
UmVzb3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
dHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNv
dXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGlj
IENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAg
dm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNU
b0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwor
ICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAg
ICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2
NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChk
b3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRl
eCAyYWMyNjQ5MDlmMTU2MWY4ZGQ3ZTc0ZWEzMTRmMGY2MzQ3MmY4YjA3Li5lNjFhOWU0NDhhYjFl
NGEzZDJkMzFiNTRkNWM1OGQzOTVhMjcwMTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2Vz
LmluCkBAIC0yNyw3ICsyNyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2Fj
eVJlY2VpdmVyIHsKICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11
Y2ggbW9yZSBncmFudWxhcml0eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRS
ZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlIHJlZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0
ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
LCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9v
bCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZl
RGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5n
dGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERp
ZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYzFkN2RlNGI5MmE5NTc2ZWU1ODc4OWNhYjdh
ZTBiNDllMjQ3ZmUzOS4uMTRmY2E1ZTA1YzY2MDUyNWUyZmU1YjllMmFkOTM3OGYwYjM4MjNlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQ
cm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNjcsNiArNjYsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5E
YXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC00NDMsNyArNDQzLDcgQEAgdm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKCkKIAogICAgIC8vIE5vdGlmeSB0
aGUgVUlQcm9jZXNzLgogCi0gICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1l
VHlwZSgpLCBtX2ZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIG1fZnJhbWUtPmNvcmVGcmFt
ZSgpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9u
c2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsK
KyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRG
b3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWVI
YXNDdXN0b21SZXByZXNlbnRhdGlvbiwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5s
b2FkVHlwZSgpLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKIAogICAgIHdlYlBhZ2Ut
PmRpZENvbW1pdExvYWQobV9mcmFtZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206454</attachid>
            <date>2013-07-11 06:02:53 -0700</date>
            <delta_ts>2013-07-11 18:29:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130711220008.patch</filename>
            <type>text/plain</type>
            <size>96201</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZlOGJlNTJmNmFkNzVl
MDU4YjU5YTZhNzNiMjc1MDVkZjA2ZTljNi4uYTk0MzlhZTExZjgzOWIwOTIyNTVhNDI0MzQzODYx
Mzg2MzU1MmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA3LTExICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA3LTExICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAg
IEJ1aWxkIGZpeCBmb3IgV2luQ0UgYWZ0ZXIgcjE1MjQyNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzNDFkZWFl
MTQ5MWFmNzBiY2IwNmQ1ZDk4MjlmNjBjMjgwY2M2NTYzLi44MDc1ZDMzZDdjMDM4NTY4NmMxZjZl
MmFmMzE4NDIxMmFkMGFiOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTMtMDct
MTEgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBNb3Zl
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNl
UmVzcG9uc2UgcHJpbWl0aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0
aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTg1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNv
dXJjZUVycm9yQmFzZQorICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBn
ZXR0aW5nIGFuZCBzZXR0aW5nIGNlcnRpZmljYXRlcworICAgICAgICBiZWNvbWVzIGNyb3NzIHBs
YXRmb3JtLgorCisgICAgICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmlj
IGNlcnRpZmljYXRlIGdldHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJv
ciBhbmQgUmVzb3VyY2VSZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIG1lbWJlci4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZUFzeW5jKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNh
dGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
OgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJ
UEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0
LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToK
KwogMjAxMy0wNy0xMCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xNDM5NTc1OT4gUGx1Z2luUHJvY2VzcyBzb21ldGltZXMgbG9ncyBhbiBl
cnJvciBhYm91dCBiZWluZyB1bmFibGUgdG8gbG9hZCBXZWJLaXQyLmZyYW1ld29yay4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDBhMmYzZTY2YzYxMDU4MDQ2MDljMzk3MWYzMTBj
ZjljNDQ1MTVmYjkuLmMxMjQ4MDM3MTQ0MDdhZmM0YTZkNDdiMzNjNmZlODRjMDE1NTI3N2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTUxMSw2ICs1NTExLDcgQEAgd2ViY29y
ZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBcCkBAIC01NTQwLDYgKzU1NDEsNyBA
QCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
U291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNl
cnZlclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvclNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggZjQ5NjY0
NzI1MDk3OWFjNDdhZmU1M2RjMjRiYTQzMmY4ZTE1MDU3YS4uYjdmODVhNTgxMGNhYjU4MjlkNzlm
NjhjMTJjNjNjNTQ4ODJjNjQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0OCw2
ICsxNDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvRE5TU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR093blB0clNv
dXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNv
dXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
U291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlSZXNvbHZlclNvdXAuY3Bw
CiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA1
M2UwMTVjMjFlNWJmMTAyNTM5MGI2YmRjODI2OGJkOWExZjI3NGFjLi4zZDMzYjQxMDk1ZjcxYzA5
Njk4MTEwNmMyMWU4OTMzYTg4NjQ3MWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzMTQsNiArMjMxNCw3
IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQu
aCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKICAgICBw
bGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENvbnRlbnRUeXBlLmggXAorICAgIHBsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QbGF0
Zm9ybUNvb2tpZUphci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZS5o
IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3h5U2VydmVyLmggXApAQCAtMjg4OSw2ICsyODkw
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZVJlcXVl
c3RRdC5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvRE5TUXQuY3BwIFwKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3F0L05ldHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3BwIFwKKyAgICBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIFwKICAgICBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1Byb3h5U2VydmVyUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29y
a1JlcGx5SGFuZGxlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1Zjk0ZWM1OGM5N2Ri
ZmVmMmVmMTI5NzBiMGEyNDAyZTNkNWM1ZWZhLi42OTU5MDUwZTE3MjdkZDBkZmY1YTdkYjMzMjM4
ZTgxYTNiN2RiZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYwLDYgKzc2MCwxMSBAQCBf
X1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRBdXRoZW50aWNhdGlvbkNs
aWVudEVQTlNfMjBBdXRoZW50aWNhdAogX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUMxRVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFUktOU18xMENyZWRlbnRpYWxFalJLTlNfMTZS
ZXNvdXJjZVJlc3BvbnNlRVJLTlNfMTNSZXNvdXJjZUVycm9yRQogX19aTjdXZWJDb3JlMjNNdXRh
YmxlU3R5bGVQcm9wZXJ0eVNldDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbkV2CiBfX1pON1dl
YkNvcmUyM011dGFibGVTdHlsZVByb3BlcnR5U2V0RDFFdgorX19aTjdXZWJDb3JlMjNQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43
V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUV2CitfX1pON1dlYkNvcmUyM1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdXZWJDb3JlMjNjcmVhdGVGcmFnbWVudEZyb21O
b2Rlc0VQTlNfOERvY3VtZW50RVJLTjNXVEY2VmVjdG9ySVBOU180Tm9kZUVMbTBFTlMyXzE1Q3Jh
c2hPbk92ZXJmbG93RUVFCiBfX1pON1dlYkNvcmUyM2RhdGFGb3JVUkxDb21wb25lbnRUeXBlRVA1
TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4
X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCmluZGV4IDg4M2Y1M2M5ZDIyMDIyMzYwOTEwOTA4NzMxM2FjZDQ3YTNhZGM3ZGEuLmVmNTlh
ZTM4NTE5N2FiYTdhNDY3ZmQ5NzM5NzZiMDJiNmY0MjQ2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTIyMzUsNiArMTIyMzUsNyBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xOZXR3b3JrU3Rh
dGVOb3RpZmllci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5cGUuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZv
cm1Db29raWVKYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcUHJvdGVjdGlvblNwYWNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZUhhc2guaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCAxYjE2YjA2OWJiNzdlOWM1OGJiYzliMGZmODk3YmEzMzQzZDk0NTZlLi5kMDNhMjUyOWMzNDYy
YTBmNGI2M2Q5ZTM3MjFjMWY5ZmM2YmE3MWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04ODU5LDYgKzg4
NTksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQYXJz
ZWRDb250ZW50VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZv
cm1cbmV0d29yazwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNvb2tpZUphci5oIj4KICAgICAgIDxG
aWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMz
ZjM0NjI2ZGQwMTZkZTViZjI0MzAzZDU4ZWE2ZGQwYjdhNjVhYjkuLjFjYmE2NTBjMGVhOWZiZDlj
OGIzNDlhNmVmNTc1Y2M0MGI3MDZjNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MTEsNiArMTcxMSw4IEBACiAJCTVERjdG
NUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29weSBHZW5lcmF0
ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTY1ODBFRjA5
RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9OwogCQk1REZFOEY1NjBE
MTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIwMEI3OTNENiAvKiBT
Y2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdDMDA3NkU5MzcgLyog
U2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmggKi87
IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVG
MkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAq
LzsgfTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJE
QkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1
NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRU
YXJnZXQuaCAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZp
Z2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07
CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0
QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgwOTQsNiArODA5Niw4IEBACiAJCTVEQjFCQzY4
MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJj
ZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REM4N0VFRjExNzE2
REYyMDAxQzBFNkQgLyogRW1wdHlQcm90b2NvbERlZmluaXRpb25zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEVtcHR5UHJvdG9jb2xEZWZpbml0aW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIw
MEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNE
RTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2
aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ0OTYsNiArMTQ1MDAs
NyBAQAogCQkJCUUxM0VGMzQyMTY4NEVDRjQwMDM0QzgzRiAvKiBOZXR3b3JrU3RvcmFnZVNlc3Np
b24uaCAqLywKIAkJCQk0NDc5NTgwMjE2NDNCNDdCMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5
cGUuY3BwICovLAogCQkJCTQ0Nzk1ODAzMTY0M0I0N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50
VHlwZS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oICovLAogCQkJCTUxNEM3NjVGMENFOTIzQTEwMDdFRjNDRCAvKiBQcm90ZWN0
aW9uU3BhY2UuY3BwICovLAogCQkJCTUxNEM3NjYwMENFOTIzQTEwMDdFRjNDRCAvKiBQcm90ZWN0
aW9uU3BhY2UuaCAqLywKIAkJCQk1MUEwNTI1NTEwNTg4NzQwMDBDQzlFOTUgLyogUHJvdGVjdGlv
blNwYWNlSGFzaC5oICovLApAQCAtMTQ1MzgsNiArMTQ1NDMsNyBAQAogCQkJCTUxNEM3NjQ0MENF
OTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5oICovLAogCQkJCTUxNEM3NjQ1MENF
OTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5tbSAqLywKIAkJCQkxQTdGQTY0NzBE
REEzQ0JBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwICovLAorCQkJCTVG
MkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAq
LywKIAkJCQk1MTRDNzY0NjBDRTkyMzRFMDA3RUYzQ0QgLyogUmVzb3VyY2VFcnJvck1hYy5tbSAq
LywKIAkJCQk1MTRDNzY0NzBDRTkyMzRFMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGVNYWMubW0g
Ki8sCiAJCQkJNTE0Qzc2NDkwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdE1hYy5t
bSAqLywKQEAgLTI0MDA4LDYgKzI0MDE0LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMz
NzkgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAw
QzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1Mzcz
NTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1RkE5
MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjY5ODMsNiArMjY5OTAsNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01h
Yy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5NjFiN2Jk
MTY2ZGE4MTY5MzM3ZjY1MzZhOGNlYTkyZmI2NDkxN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKQEAg
LTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faAorCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KKyNlbGlmIFVTRShTT1VQKQorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xh
c3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8geworcHVibGljOgorICAgIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCk7CisKKyNpZiBQTEFURk9STShNQUMpCisgICAgZXhwbGljaXQgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisg
ICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVT
RShDRk5FVFdPUkspCisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOwor
ICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0OworI2lmbmRlZiBOREVCVUcK
KyAgICB2b2lkIGR1bXAoKSBjb25zdDsKKyNlbmRpZgorCisjZWxpZiBVU0UoU09VUCkKKyAgICBH
VGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0
aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKworICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Cisg
ICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1f
dGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyNpZiBQTEFURk9S
TShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisgICAgLy8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9y
bWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJl
LWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCisgICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVDaGFpbjsKKyNlbGlmIFVTRShTT1VQKQorICAg
IEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOworICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIG1fdGxzRXJyb3JzOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKaW5kZXggNWI3
OTA5ZmRiMWRlMDFkNjUzMzFjNzU5OTRmOTM4YzM3M2YyNzA1Yy4uNDZiZjliOTUyZWUyOWQwMjA4
MDM5ZTI3MzZiYmVjMmQ5ZGNjNDM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRl
ZiBSZXNvdXJjZUVycm9yQmFzZV9oCiAjZGVmaW5lIFJlc291cmNlRXJyb3JCYXNlX2gKIAorI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0ID0g
aXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lzVGlt
ZW91dDsgfQogCisgICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsg
fQorICAgIHZvaWQgc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgc3RhdGljIGJvb2wg
Y29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCiBw
cm90ZWN0ZWQ6CkBAIC04OSw2ICs5Myw3IEBAIHByb3RlY3RlZDoKICAgICBpbnQgbV9lcnJvckNv
ZGU7CiAgICAgU3RyaW5nIG1fZmFpbGluZ1VSTDsKICAgICBTdHJpbmcgbV9sb2NhbGl6ZWREZXNj
cmlwdGlvbjsKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOwogICAgIGJvb2wgbV9pc051bGw7CiAgICAgYm9vbCBtX2lzQ2FuY2VsbGF0aW9uOwog
ICAgIGJvb2wgbV9pc1RpbWVvdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggZTAwY2E0MWY5OWMwODI1YTFk
ODgxNjEzYzk2OTE2MWVmZTM4NDAzZS4uMjE5ODYyZmE0NDVkY2YxMDVkZTVmZWZmM2RhODI4NGMw
YWIwNGQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSFRU
UEhlYWRlck1hcC5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgogCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTExNyw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgUmVz
b3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdDsKICAgICB2b2lkIHNl
dFJlc291cmNlTG9hZFRpbWluZyhQYXNzUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4pOwogCisg
ICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQg
c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ug
c3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3Bl
Y2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2Uo
KSBjb25zdAogICAgIHsKQEAgLTE1OCw2ICsxNjIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWdu
ZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAg
IFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2FkVGltaW5nOworICAgIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAKICAgICBi
b29sIG1faXNOdWxsIDogMTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggZTBhNWRkNDhhZGUxN2FiNDZh
ZDE0NmU5NDQ5YzQzNGY0OTA1NDA3MC4uMjczYzhkNzcyOGU2MjRlMWM5ZGY5ZmUwZmE0MjU1MGY4
MzI2ZDAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywxMCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jl
c3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAg
IC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25z
ZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVz
cG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2Vy
dGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIEluaXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBi
b29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb01hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDJkYzQwZjg0MzhmODE1YTMxNTdlM2NhOGI0OWUx
ZjFmNTIzYTk3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworCitQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKQorICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCit7
Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQoreworfQorCit2b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNo
YWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKK3sKKyAgICBtX2NlcnRpZmljYXRlQ2hh
aW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworfQorCitDRkFycmF5UmVmIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZp
Y2F0ZUNoYWluLmdldCgpOworfQorCisjaWZuZGVmIE5ERUJVRwordm9pZCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2Vy
dGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkp
IDogMDsKKworICAgIE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOworICAgIE5T
TG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1
bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0
aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQo
KSwgaSkpKTsKKyAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQo
KSk7CisgICAgfQorfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3Bv
bnNlTWFjLm1tCmluZGV4IDk3ZmNmODdmNTNiNmM0ZmE2MjExZmI3NGE1MzZkYWU5OTBiZjE1ZDku
LjNhYmY0NzU4MDkwNmJlZGRiOTFmNDIzMDY3NDUzNDE4M2FjZTBkNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25z
ZU1hYy5tbQpAQCAtMTgyLDEzICsxODIsMTMgQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0
Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2UKIHZv
aWQgUmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCiB7CiAgICAgQVNTRVJUKCF3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNh
dGVDaGFpbihuc1VSTFJlc3BvbnNlKCkpKTsKLSAgICBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFp
biA9IGNlcnRpZmljYXRlQ2hhaW47CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRD
ZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5QdHI8Q0ZBcnJh
eVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0CiB7Ci0gICAg
aWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gbV9leHRlcm5h
bENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGVDaGFpbigpKQorICAgICAgICByZXR1cm4gYWRvcHRDRihtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CiAKICAgICByZXR1cm4gYWRvcHRDRih3a0Nv
cHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbihuc1VSTFJlc3BvbnNlKCkpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9RdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZDkyZTIzMmU4OWRjZWJk
NjYxNzk4OWM1OTllZTE1NjFiN2JhODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwCkBAIC0w
LDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MDBjODdlYTM1OWZiMTcyNzk0MjFhZWYwYTkwYjRjZDA1ODYwMGUxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIElu
Yy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCisKKyNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpCisgICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAppbmRl
eCAxYTcwNWYxNWVkN2YzOGY4ZDNhZmVkNzAxMWEzMGMwNGJjYzc4ZjE4Li4wNDdiNjljZWEwZGVm
YmE2NmMxNGZhZjkyODQ2YzEwMThlYTE3NGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKQEAgLTQwLDEyICs0MCwxMCBA
QCBjbGFzcyBSZXNvdXJjZUVycm9yIDogcHVibGljIFJlc291cmNlRXJyb3JCYXNlCiBwdWJsaWM6
CiAgICAgUmVzb3VyY2VFcnJvcihjb25zdCBTdHJpbmcmIGRvbWFpbiwgaW50IGVycm9yQ29kZSwg
Y29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMLCBjb25zdCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0
aW9uKQogICAgICAgICA6IFJlc291cmNlRXJyb3JCYXNlKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWls
aW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlwdGlvbikKLSAgICAgICAgLCBtX3Rsc0Vycm9ycygwKQog
ICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZUVycm9yKCkKLSAgICAgICAgOiBtX3Rsc0Vycm9y
cygwKQogICAgIHsKICAgICB9CiAKQEAgLTU2LDE3ICs1NCwxNCBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlc291cmNlRXJyb3IgdGltZW91dEVycm9yKGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCk7
CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgYXV0aGVudGljYXRpb25FcnJvcihTb3VwTWVzc2Fn
ZSopOwogCi0gICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJv
cnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV90bHNF
cnJvcnMgPSB0bHNFcnJvcnM7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2Vy
dGlmaWNhdGU7IH0KKyAgICB1bnNpZ25lZCB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpOyB9CisgICAgdm9pZCBzZXRUTFNFcnJv
cnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExT
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQor
ICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAogcHJpdmF0ZToKICAgICB2b2lk
IHBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgcGxh
dGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3Im
IGIpOwotCi0gICAgdW5zaWduZWQgbV90bHNFcnJvcnM7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlm
aWNhdGU+IG1fY2VydGlmaWNhdGU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAppbmRleCBi
YTg2NTdiNTA1MDkwNTI1N2MxZGE0Y2E3OTlmNzM3NmFkY2RkYzUyLi4wMzI4MTJmNDAyYjcyYWQy
Y2MzYjNlNmM3NmE1MjVhYjgxMzU3NWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC05OCw4ICs5OSw3IEBAIFJlc291cmNlRXJyb3IgUmVzb3VyY2VFcnJvcjo6dGltZW91
dEVycm9yKGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCkKIAogdm9pZCBSZXNvdXJjZUVycm9yOjpw
bGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYgZXJyb3JDb3B5KSBjb25zdAogewotICAgIGVycm9y
Q29weS5tX2NlcnRpZmljYXRlID0gbV9jZXJ0aWZpY2F0ZTsKLSAgICBlcnJvckNvcHkubV90bHNF
cnJvcnMgPSBtX3Rsc0Vycm9yczsKKyAgICBlcnJvckNvcHkuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8obV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJv
cjo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDhlZmFhNjdiNzVhZDgzZjIyYTdm
MDdlODgwNjNhM2M0ZWEzYzhkY2YuLjc5YjdhYTFjOGY3YzkwN2E4YTlmM2Q0MDAzZGZlZWZkY2Nk
ZDZjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MDYsOCArNjA2LDggQEAgc3RhdGlj
IGJvb2wgaGFuZGxlVW5pZ25vcmVkVExTRXJyb3JzKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAK
ICAgICBoYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKGhhbmRsZSwgUmVzb3VyY2VFcnJvcjo6dGxz
RXJyb3IoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgcmVzcG9uc2Uuc291cE1lc3NhZ2VUTFNFcnJv
cnMoKSwgcmVzcG9uc2Uuc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKSk7CiAgICAgcmV0dXJuIHRy
dWU7Ci19CiAKK30KIHN0YXRpYyB2b2lkIG5leHRNdWx0aXBhcnRSZXNwb25zZVBhcnRDYWxsYmFj
ayhHT2JqZWN0KiAvKnNvdXJjZSovLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIgZGF0
YSkKIHsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJl
c291cmNlSGFuZGxlKj4oZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAppbmRleCAzNzBmNDMwYjY5Zjc1YmE2
Mjg3N2U2M2UwZjQ5M2MwOWJmZDIxYTBiLi4wZTkzZjY3OWI2OTRiYTdjMmEzNGFjZDA5ODQxN2M2
OGM1NTM2NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTM3LDIyICszNywxNiBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlIDogcHVibGljIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKIHB1YmxpYzoKICAg
ICBSZXNvdXJjZVJlc3BvbnNlKCkKICAgICAgICAgOiBSZXNvdXJjZVJlc3BvbnNlQmFzZSgpCi0g
ICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCi0g
ICAgICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDAp
KQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBT
dHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAg
IDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBtaW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRl
eHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19j
YXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19j
YXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3Vy
Y2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UpCiAgICAgICAgIDogUmVzb3VyY2VS
ZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNz
YWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShz
b3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcsMTEgKzYxLDExIEBAIHB1YmxpYzoKICAgICBjb25z
dCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fc25pZmZlZENv
bnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRTbmlmZmVkQ29udGVudFR5cGUoY29uc3QgU3RyaW5n
JiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50VHlwZSA9IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2Vy
dGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRp
ZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHND
ZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9
CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9p
ZCBzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUp
IHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7
IH0KIAotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29u
c3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJy
b3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vy
cm9yczsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQor
ICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxz
RXJyb3JzKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9y
cyk7IH0KIAogICAgIGJvb2wgcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogCkBAIC04MCw4ICs3NCw2IEBAIHByaXZhdGU6CiAKICAgICBTb3VwTWVz
c2FnZUZsYWdzIG1fc291cEZsYWdzOwogICAgIFN0cmluZyBtX3NuaWZmZWRDb250ZW50VHlwZTsK
LSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2Vy
dGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKIAogICAgIHZvaWQgZG9VcGRhdGVSZXNvdXJjZVJl
c3BvbnNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCmluZGV4IDljM2IwZWRiZDlm
ZDNjYjY3MDhhMGY5OWZlNDJkN2IyNDU1ZDI2ZjAuLjMxY2ZiNjgxZTY2YWRhNWMwZTcwYzcyMjA1
MmJjODVhYTM3YjAzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcApAQCAtNTIsNyArNTIs
NyBAQCBTb3VwTWVzc2FnZSogUmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0
CiAKICAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZsYWdzKHNvdXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7
CiAKLSAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmlj
YXRlIiwgbV9jZXJ0aWZpY2F0ZS5nZXQoKSwgInRscy1lcnJvcnMiLCBtX3Rsc0Vycm9ycywgTlVM
TCk7CisgICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZp
Y2F0ZSIsIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSwgInRscy1lcnJv
cnMiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAg
IC8vIEJvZHkgZGF0YSBpcyBub3QgaW4gdGhlIG1lc3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNz
YWdlOwpAQCAtNjgsOCArNjgsMTAgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9t
U291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0g
c291cF9tZXNzYWdlX2dldF9mbGFncyhzb3VwTWVzc2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNh
dGUqIGNlcnRpZmljYXRlID0gMDsKLSAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhz
b3VwTWVzc2FnZSwgJmNlcnRpZmljYXRlLCAmbV90bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNh
dGUgPSBjZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7Cisg
ICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0
ZSwgJnRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJv
cnModGxzRXJyb3JzKTsKKyAgICBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmlj
YXRlKGNlcnRpZmljYXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291
cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggYjE1MDE3ZmViOGNkMGM1Zjg4NGE1OGQ5NTkzNTk3YmRhNmEyNzYyZS4uZTMzMDlj
Y2E5MmQwZTBhZTZkMjBiN2JkMGZkNmUwMzU2NjA3NjY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC00NjcsOCArNDY3LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0
ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tl
clN0YXRlLmggXApAQCAtMTMxMiw4ICsxMzEwLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxl
UGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJv
LmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NM
YXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCAwMGY0MDY4Y2Y4MDEyODNhMmI4NmYwNWRmYmI1YTU0Nzk1YjMxYWRhLi41
Mjg4MjRjNjBjMmIyNjc5Yzc3YjZlZGU3MTFkOWU4MTUyNDZkMjIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xh
c3MgUnVuTG9vcDsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgUnVuTG9v
cDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCw3ICs0NSw2IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwogY2xhc3MgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7Ci1jbGFz
cyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3MgOiBwdWJsaWMgQ2hpbGRQcm9jZXNz
LCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsKQEAgLTEwOCw3ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgY2FuY2VsRG93bmxvYWQo
dWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRDYWNoZU1vZGVsKHVpbnQzMl90KTsK
LSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29y
a1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJD
YWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW4KaW5kZXggYTVmY2JjN2JlOTQwMjgwN2MxZTU1NjJhM2VlNjlmZjYwNjk4NWRkNy4uOWNiYWFh
YmZjMGMzMTljN2U3NTkzYWNkYmJiMzhkNjBkNTliZGYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAg
LTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
ewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2VuZGlmCiAK
LSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0
d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcAppbmRleCBiZTExMzRjNGZhNzUyYTQ0NmEyYzkxN2UyNDUzY2Y0ZWY4MzI0ZTYyLi5lOGQ3
MGJlMGQwYmNkNGUyZGNlMWJlYTQzYzU4MTg0YmQ0YjdkOWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVh
YmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKQEAgLTQzLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgTmV0d29y
a1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VBc3luYyhSZXNvdXJjZUhhbmRsZSog
aGFuZGxlLCBjb25zCiAgICAgaWYgKEZvcm1EYXRhKiBmb3JtRGF0YSA9IHJlcXVlc3QoKS5odHRw
Qm9keSgpKQogICAgICAgICBmb3JtRGF0YS0+cmVtb3ZlR2VuZXJhdGVkRmlsZXNJZk5lZWRlZCgp
OwogCi0gICAgc2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRl
cjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBpc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwor
ICAgIHNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRp
ZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UsIHJlc3BvbnNlLnBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCksIGlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CiAKICAg
ICAvLyBtX2hhbmRsZSB3aWxsIGJlIDAgaWYgdGhlIHJlcXVlc3QgZ290IGFib3J0ZWQgYWJvdmUu
CiAgICAgaWYgKCFtX2hhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCAzZTk2ZmE0ZGNiYmY1YjQzMDhj
MTU2MjYyNWU0Nzc5NjlhYjQ1YjcyLi4yOWU5NjgzOGY5NzY0YTcyYzQwMjY0MTEyZjg2ZmY4OWY4
NDc5ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQg
IlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgog
I2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3Ry
aW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQg
PFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1w
b3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9ydCA8bWFjaC9tYWNoLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDg4ZjljZmJjMjRjNzkyMDZkOGU5MDdiMGZkZmI3YWJlYmE0YTUx
YzguLmEyZDI4ZmQwNGFjNmIyNTE5M2FmNTA3OTA3YzdhZDU5NWQ1YmI3NjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0zNyw3ICszNyw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09V
UkNFUwogCiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKIAotICAg
IFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVu
ZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCBlMzYzODc5YmZl
YzUzY2FkN2U1YTNlMTIwNjY3NTkyODhiYjQ0ZWUyLi41NGNkZTM2MTY2MWM2OTZjNTc1NWYwNzll
Y2I5MTRmMmI3MmM1MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNzMsNyArNzMs
NiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29t
cEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lz
Y2FsbFBvbGljeS5jcHAKICAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNw
cAotICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAgICAgVUlQcm9jZXNzL0RlZmF1
bHRVbmRvQ29udHJvbGxlci5jcHAKICAgICBTaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0
c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5YTM5
OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5lNTBlMjRhOWNiOGNiNDA4ODBjZTBhZjA4YWM5
NjQwNzYyNzNlZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFj
L1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDcgKzMzLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9D
cmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsK
LSAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0
aWZpY2F0ZUluZm86OmNyZWF0ZShQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNo
YWluKSk7CisgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0g
V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oY2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8u
cmVsZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0
YzZmODFlOTUzOTBmZjcwZDM4MTgyYmRjOWI0MjZiYTZlMDFhNTkxLi5kNmVjM2ZhMGQ3NGM4OWNl
OWU4ZGM1ZWQ5MzhkYjdlYTIxZTg4N2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0z
NiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNzIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQ
cm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
IGNsYXNzIFdlYkZyYW1lOwogCiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXIgOiBwdWJsaWMg
V2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQsIHB1
YmxpYyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6
CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMgd2l0aCBvciB3aXRob3V0IHRoZSBOZXR3b3Jr
UHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25s
b2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIAotICAgIHZv
aWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3Qg
V2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Cisg
ICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBj
b25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAv
LyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZF
UlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxl
bmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwg
Y29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90
IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4KaW5kZXggYmIxY2MzMGNhNmJjNTkxYmRlZGVkNDFmMGY1MTk1ZWM3NmM5NjFkZC4uZTY5
MTVjY2I2NWFkZjBiOWFkZTg0NDRjMWIyODgwNDIzM2ZkNDdiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFuYWdlciB7Ci0gICAgdm9pZCBVc2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVk
ZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlm
aWNhdGUpOworICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENh
bmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3ZmUz
NDFlNzY5YzI3NjAxMy4uMTk0NGQzN2ZjYjEwM2NkYWVjMmI1MmI2MGMwOTdhNzJjYmM5MGM4OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsOSArMjgs
OSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKIAotI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCAwMDIy
ZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi45Y2E4YzMzODliNDFmNjAzOTJi
M2ZjNGY4N2NmNTczM2NlNDZjN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
VXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3Nh
Z2VDb2RlcnMuaApAQCAtNTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZv
OiB7Ci0gICAgICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKKyAgICAgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmlj
YXRlSW5mby5oCmluZGV4IDA2MTgyZmNlMmZjNmQ1OTdlOWY1ZjhjMDM5NTc3MTlhMmFhNjJhZjUu
LjJjZDc5ZDdlMzIzN2JmMDQyODllNmVhMWFhNmRkMzE3ZGU3ZThjMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2Rl
ZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1YmxpYyBUeXBl
ZEFQSU9iamVjdDxBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm8+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0
aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNh
dGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOyB9CisgICAgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRl
SW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBsaWNpdCBX
ZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IGluZm8pCiAgICAgICAgIDogbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsK
ICAgICB9CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggN2VmZjNkNTJm
MjcyYmMyZDJlYzljMzMzNGZlNDkzMDI2ZGQ4MWU4Yy4uOTRmMGVjMDU1NmU3ZGRhY2QxYmI0NDJh
ZWY2MWRiZmE2ZTk3ZTA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dy
YXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJv
dGVjdGlvblNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC01
NDUsNiArNTQ2LDIzIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29k
ZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5j
b2RlciwgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworCisgICAgaWYgKCFk
ZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2VydGlmaWNhdGVJbmZvKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZUlu
Zm87CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNl
RXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiByZXNvdXJjZUVycm9yKQogewogICAgIGlmIChrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURh
dGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApp
bmRleCBjYWU5ZDlhYzQ1MjVhNzc5YmMyNWVjMDdjMjkwYzhhOTEzZjc0NjkzLi45OTQ4MzM4Njdh
ZmFlNWFhYzczZGU4MGViZWQxMjQ1YzNhYzAyNTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC00NSw2ICs0NSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdDsKICAgICBjbGFzcyBLVVJMOwog
ICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsK
ICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBAIC0xNjgsNiArMTY5LDEzIEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZT4gewogICAg
IHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlUGxh
dGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHsKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgc3RhdGljIGNvbnN0IGJvb2wga1Nob3VsZFNlcmlhbGl6ZVdl
YkNvcmVEYXRhID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDll
YTFhMmYzMzE3OWYyZDE1NDBkNDkxYWQwNjgzYjk1MjQwY2NjZDYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVz
cG9uc2UuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBD
IHsKLSAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQXJndW1lbnRFbmNvZGVy
OwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGlj
aXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbik7Ci0KLSAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwot
Ci0jaWZuZGVmIE5ERUJVRwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCi0KLXByaXZh
dGU6Ci0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVDaGFpbjsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0YTczNTQ1YzViZDE2
OGY2YWE5MjZkOTc0NjMxOGU0YTZjYThlMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
Ci0KLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rl
ci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKHJlc3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkK
LXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihj
ZXJ0aWZpY2F0ZUNoYWluKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpl
bmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlm
ICghbV9jZXJ0aWZpY2F0ZUNoYWluKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgQ29yZUlQQzo6
ZW5jb2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7Ci19Ci0KLWJvb2wgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjKQotewotICAgIGJvb2wgaGFzQ2VydGlm
aWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4p
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4p
Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2Rl
ciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OmR1bXAoKSBjb25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmlj
YXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7
Ci0KLSAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhA
IiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBlbnRyaWVzOyArK2kpIHsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5
ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNh
dGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkp
KSk7Ci0gICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwot
ICAgIH0KLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXgg
YzEyNjAwMDNlYTE0ZjU2NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NS4uYzBkYzQ2ZTI2NGQwNDk4
MjEwYzI2NGNhZWY2MGIwMjc1NjY2ODg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDE0ICsyOCwxNCBAQAog
I2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29k
ZXJzQ0YuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5o
PgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVz
dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJ
UEMgewogCkBAIC0xMzIsNiArMTMzLDM3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJl
c3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKKwordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29u
c3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQorewor
ICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbiA9IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAg
ICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29k
ZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFp
bik7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRp
ZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWlu
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWlu
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0
aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmlj
YXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3Ry
aW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5n
LmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWI5ZGU2OTgwZTAxZTU2NmU5NmE0ZmZhYTc5NTA2MTU0
NDFmODIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2
L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNs
dWRlICJBcmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpCi0gICAgewotICAgIH0KLQotICAgIGV4cGxpY2l0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKQotICAgIHsK
LSAgICB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25z
dAotICAgIHsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAv
LyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM2OTA0YjRhZTZlNWI1MzJiMDM5ZGQ1Y2ZkYTZlN2VlYmE2NzE0ZWIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMTEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgiCi0KLSNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJB
cmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3Bv
bnNlLmg+Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkp
Ci0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewot
fQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29u
c3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKLSAgICA6IG1fY2VydGlmaWNhdGUocmVz
b3VyY2VFcnJvci5jZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHJlc291cmNlRXJyb3IudGxzRXJyb3JzKCkpKQotewotfQot
Ci1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsK
LX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsK
LSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JK
RUNUKG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRh
LCBOVUxMKTsKLSAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8
IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwot
ICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNh
dGVEYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJ
UEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsK
LSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0K
LWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8p
Ci17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0
aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFy
aWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRl
X2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBj
ZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2Vy
dGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNp
emUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNr
ZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBh
ZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9n
ZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgTlVMTCkpKTsKLQotICAgIHVpbnQz
Ml90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0
aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0
cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4YzIzMWYzNmRiMzJmOGQ4YjQwMjY3YjZkYjQ1YzE0N2Y2MWMwNTUwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvX2gKLQotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0
L0dSZWZQdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVy
OwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFz
cyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAg
ICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNp
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7
Ci0gICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUq
IGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAg
IEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJy
b3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25z
dDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0
aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vy
cm9yczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCBkYzRlMTE5MTc1N2VjZTE3NWFk
NDg1YTdhYTcyMjUyZmFmYWU4ODQ2Li5kNDQ4MGUxNTM2ZjAxODdkYzFmNmE4OTM1NjdlZWJmYmE3
NjAzMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMg
Q29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjUsMTYgKzI2LDE2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRh
dGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVz
cGFjZSBDb3JlSVBDIHsKIApAQCAtNjgsOSArNjksNjAgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJl
c291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNv
ZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIg
PDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0
aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0
YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAgICAgZW5jb2RlciA8
PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsK
KyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmlj
YXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3Jl
SVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7
CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tl
bmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCBOVUxMKSkpOwor
ICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdl
dCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRs
c0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVy
PFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewotICAgIGVuY29kZXIg
PDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7CisgICAgZW5jb2RlciA8
PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTc5LDggKzEz
MSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNl
cnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc291cmNlRXJy
b3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJl
c291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cisg
ICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUlu
Zm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCBmZTYzMzZhMTAxNTYz
ZjFiZTE2ZDViMGQ4MTczNDhkNTdlNTVkNDM3Li5jNTc1NTI1ZGQ5ZGQ2NjQzODFjYzM2MTJlMDk2
YzVkNmM0MWIxZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTE0OCw3ICsxNDgsNiBAQCBIRUFERVJTICs9
IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
XAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKICAgICBTaGFyZWQvcXQvQXJn
dW1lbnRDb2RlcnNRdC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCBcCiAgICAgU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmggXAogICAgIFNoYXJlZC9xdC9R
dE5ldHdvcmtSZXBseURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRh
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcAppbmRleCAyOTQ5NzA5MGRiNjA3ZGJjYTlmMDFhYjlmNDRjOTMyN2U0ODIxYzFmLi41
ZTA5NDdkYzQ3MGQyY2Q2YTkxZDdhYjIyYzk3MTFiMDAzNjA4OGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyAr
MjIsNiBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0
aW9ucy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAi
V2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAj
aW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNjEsNiArNjAsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJv
Lmg+CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
T3duUHRyLmg+CkBAIC0yOTMwLDcgKzI5MzAsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAg
ICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRp
ZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUt
PmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChj
ZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUy
NmE1ZGQ1Li5hOTgzODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYxODljZTIzMWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3
IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJD
cmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRp
ZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZv
KCk7Ci0gICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRp
ZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRl
SW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVu
dGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQs
IGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRh
YzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5NzA3ZjdjYmY2OGI0
MmMwMDA3MTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNw
cApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwog
fQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
K3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQogewogICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7
CiAgICAgbV9sb2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3
NDhhMjY5NmI2YWQ1Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFhODdkNzE4ZTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwx
NCBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87Cit9CisKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNsYXNzIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJG
b3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92
aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lk
IGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAg
ICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQo
KTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24g
c3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGY1N2I2NTM3N2E1YmFmM2Q3MDQyMjFhNzhkYTkzOTMwZWYyNzk1MDEuLjJkMmM5NTJlZDAzZTEx
N2Y1MzQ2ZjI1NmY0MTRiZmRlODUwMDhiYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50
U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90
ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hv
b3NlclNldHRpbmdzOwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJk
RXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxF
dmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
IGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFz
cyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpAQCAtODA3LDcgKzgwNyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGZyYW1l
SGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2
b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcm
IG1pbWVUeXBlLCBib29sIGZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGZy
YW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgppbmRleCBmYzJmYzNlNTc1MGFjYzkwMTUxMWE0OWEzY2Y1ODJiOTYzYWUyZjY4Li40
Y2FmODE2ZThkMGZlNTVkNmJiMDliNWZkODA3NzBkMzI2OWZkNGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExNCw3ICsx
MTQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRD
b21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUs
IGJvb2wgaGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIGJv
b2wgaGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9y
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWY3ZGNiMjg4NmY2MmJhMmQ4
NmUzNWI1NmU4Yzg2ZmMyMzBhNDQ4MS4uMTdiNmIwYTg2ZTdiMGNjMjFhNTY5Yzk5NTI5ZDcxYzI2
ZjNhYjI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTA2Nyw4ICsxMDY3LDYgQEAKIAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFB
ODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICov
OyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0
REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi87IH07
CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjQxNjhG
QTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0JCUJDRjUwNUU3
MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJDRjUwNUU4MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAw
NTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRp
ZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi87
IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZD
RDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAtMjU4NCw4ICsyNTgy
LDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0
d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzU3Vw
cGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4
MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0Iw
MDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1QUUgLyogU2VjdXJp
dHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGgg
PSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRy
ZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2Vy
dGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjY5Rjg0MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDM1NSw4ICs0MzUxLDYgQEAKIAkJCQlDNTc0QTU4MDEyRTY2NjgxMDAy
REZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQyMTUzQ0JGRDcwMEI2
MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTNDQzA1MzAwQjYwODc1
IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8q
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJEN0VB
REYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMUFGMUFDNkExNjUxNzU5RTAw
QzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi8sCiAJCQkJMUFGMUFDNjkx
NjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tICovLApAQCAt
NTQ1Nyw3ICs1NDUxLDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVi
b2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUg
LyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA2MTQxMkIwMTEzMTAw
OEU0OUUyIC8qIFBERlZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVF
NzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0
Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1
MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTY3MjEsNyArNjcxNCw2
IEBACiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmll
bGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAxOTdFNDcgLyogUERG
UGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUFGMDYxNTEyQjAx
MTMxMDA4RTQ5RTIgLyogUERGVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQlC
Q0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1
cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3
MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNC
QTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggNTM1N2JiY2Y0NDAwNGNkM2E1MjQ3N2U1NjM2ZDVhYjcyY2QyNGNiNi4uOGFk
ZmY1YzU0OGY4NTM2MjRhYjM3ZmVlY2IxZDdhOTA1MzBlNzkyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyTWVz
c2FnZXMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CkBAIC0xMDYsNyArMTA2LDcg
QEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmlj
YXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3AKICAgICBSZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+
IHByb3RlY3Rvcih0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2VDb3B5KHJl
c3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHkuc2V0UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVMb2FkZXItPmRpZFJl
Y2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9jb3JlTG9hZGVyIGJl
Y29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGxiYWNr
LCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IGIzN2U5
YjBmMDkyODA5MTVmYTViMjRmNTA5NjZjMDNkMDlkNmIwMjQuLmU4NGYwZjI1MmRlNzU4YjM5NmYz
OWFkNTMyZjhiNzE3YmY5MDQxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNz
IERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VC
dWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElkZW50aWZpZXI7CiAK
IGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUmVzb3VyY2VM
b2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03Niw3ICs3Niw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJl
c3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0
X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3Bv
bnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNo
UmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJj
ZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1l
c3NhZ2VzLmluCmluZGV4IDJhYzI2NDkwOWYxNTYxZjhkZDdlNzRlYTMxNGYwZjYzNDcyZjhiMDcu
LmU2MWE5ZTQ0OGFiMWU0YTNkMmQzMWI1NGQ1YzU4ZDM5NWEyNzAxNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIubWVzc2FnZXMuaW4KQEAgLTI3LDcgKzI3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3Vy
Y2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6
IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4K
ICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0
YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBE
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNh
dGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAg
IERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlm
aWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQog
ICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50NjRfdCBl
bmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlz
aFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVy
cm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBjMWQ3ZGU0YjkyYTk1
NzZlZTU4Nzg5Y2FiN2FlMGI0OWUyNDdmZTM5Li4xNGZjYTVlMDVjNjYwNTI1ZTJmZTViOWUyYWQ5
Mzc4ZjBiMzgyM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIldlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2VzLmgiCkBA
IC02Nyw2ICs2Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTQ0Myw3ICs0NDMsNyBA
QCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1pdExvYWQoKQogCiAg
ICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCks
IHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWVIYXNDdXN0b21SZXByZXNlbnRhdGlvbiwgbV9m
cmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5sb2FkVHlwZSgpLCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhyZXNwb25zZSksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJE
YXRhLmdldCgpKSkpOworICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5
cGUoKSwgbV9mcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCBtX2ZyYW1lLT5jb3JlRnJhbWUo
KS0+bG9hZGVyKCktPmxvYWRUeXBlKCksIHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwog
CiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206500</attachid>
            <date>2013-07-11 18:29:44 -0700</date>
            <delta_ts>2013-07-11 23:26:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130712102659.patch</filename>
            <type>text/plain</type>
            <size>97462</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZlOGJlNTJmNmFkNzVl
MDU4YjU5YTZhNzNiMjc1MDVkZjA2ZTljNi4uYTk0MzlhZTExZjgzOWIwOTIyNTVhNDI0MzQzODYx
Mzg2MzU1MmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA3LTExICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA3LTExICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAg
IEJ1aWxkIGZpeCBmb3IgV2luQ0UgYWZ0ZXIgcjE1MjQyNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzNDFkZWFl
MTQ5MWFmNzBiY2IwNmQ1ZDk4MjlmNjBjMjgwY2M2NTYzLi4xN2NkM2IzMDg4ZjUxZTI0Mjc2NGI0
ZGJlZWIxMjRlNTIxMDU4NzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMTMtMDct
MTEgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBNb3Zl
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNl
UmVzcG9uc2UgcHJpbWl0aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0
aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTg1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNv
dXJjZUVycm9yQmFzZQorICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBn
ZXR0aW5nIGFuZCBzZXR0aW5nIGNlcnRpZmljYXRlcworICAgICAgICBiZWNvbWVzIGNyb3NzIHBs
YXRmb3JtLgorCisgICAgICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmlj
IGNlcnRpZmljYXRlIGdldHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJv
ciBhbmQgUmVzb3VyY2VSZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIG1lbWJlci4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZUFzeW5jKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNh
dGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
OgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJ
UEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVk
L3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwOgorICAgICAgICAoQ29yZUlQQzo6Ojpl
bmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZv
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZp
Y2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGlkQ29tbWl0TG9hZCk6CisKIDIwMTMtMDctMTAgIE1hcmsgUm93ZSAgPG1yb3dlQGFw
cGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTQzOTU3NTk+IFBsdWdpblByb2Nl
c3Mgc29tZXRpbWVzIGxvZ3MgYW4gZXJyb3IgYWJvdXQgYmVpbmcgdW5hYmxlIHRvIGxvYWQgV2Vi
S2l0Mi5mcmFtZXdvcmsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwYTJmM2U2
NmM2MTA1ODA0NjA5YzM5NzFmMzEwY2Y5YzQ0NTE1ZmI5Li5jMTI0ODAzNzE0NDA3YWZjNGE2ZDQ3
YjMzYzZmZTg0YzAxNTUyNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU1
MTEsNiArNTUxMSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaCBcCisJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ29va2llSmFyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgg
XApAQCAtNTU0MCw2ICs1NTQxLDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3Vw
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uU291cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IGY0OTY2NDcyNTA5NzlhYzQ3YWZlNTNkYzI0YmE0MzJmOGUxNTA1N2Eu
LmI3Zjg1YTU4MTBjYWI1ODI5ZDc5ZjY4YzEyYzYzYzU0ODgyYzY0N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC0xNDgsNiArMTQ4LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0dPd25QdHJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9O
ZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Byb3h5UmVzb2x2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNl
cnZlclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3Vw
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKaW5kZXggNTNlMDE1YzIxZTViZjEwMjUzOTBiNmJkYzgyNjhiZDlhMWYy
NzRhYy4uM2QzM2I0MTA5NWY3MWMwOTY5ODExMDZjMjFlODkzM2E4ODY0NzFjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCkBAIC0yMzE0LDYgKzIzMTQsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtpbmdDb250ZXh0LmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
YXRlTm90aWZpZXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50VHlwZS5o
IFwKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogICAg
IHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0
d29yay9Qcm90ZWN0aW9uU3BhY2UuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm94eVNlcnZl
ci5oIFwKQEAgLTI4ODksNiArMjg5MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL25l
dHdvcmsvcXQvUmVzb3VyY2VSZXF1ZXN0UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0
L0ROU1F0LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9OZXR3b3JrU3RhdGVOb3RpZmll
clF0LmNwcCBcCisgICAgcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b1F0LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9Qcm94eVNlcnZlclF0LmNwcCBcCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHAgXAogICAgIHBsYXRm
b3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggNWY5NGVjNThjOTdkYmZlZjJlZjEyOTcwYjBhMjQwMmUzZDVjNWVmYS4uNjk1OTA1
MGUxNzI3ZGQwZGZmNWE3ZGIzMzIzOGU4MWEzYjdkYmQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
QEAgLTc2MCw2ICs3NjAsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZTIzc2V0QXV0aGVudGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29y
ZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNf
MTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJv
ckUKIF9fWk43V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxl
RGVjbGFyYXRpb25FdgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYK
K19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xOXNldENlcnRpZmljYXRlQ2hh
aW5FUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFF
UEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFdgor
X19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0QxRXYKK19fWk5LN1dlYkNvcmUy
M1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29y
ZTIzY3JlYXRlRnJhZ21lbnRGcm9tTm9kZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQ
TlNfNE5vZGVFTG0wRU5TMl8xNUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRh
Rm9yVVJMQ29tcG9uZW50VHlwZUVQNU5TVVJMbAogX19aTjdXZWJDb3JlMjNkZWNvZGVIb3N0TmFt
ZVdpdGhSYW5nZUVQOE5TU3RyaW5nOF9OU1JhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA4ODNmNTNjOWQyMjAyMjM2MDkxMDkwODcz
MTNhY2Q0N2EzYWRjN2RhLi5lZjU5YWUzODUxOTdhYmE3YTQ2N2ZkOTczOTc2YjAyYjZmNDI0NjM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
QEAgLTEyMjM1LDYgKzEyMjM1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXG5ldHdvcmtcTmV0d29ya1N0YXRlTm90aWZpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRU
eXBlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2VIYXNo
LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMWIxNmIwNjliYjc3ZTljNThiYmM5YjBmZjg5N2JhMzM0
M2Q5NDU2ZS4uZDAzYTI1MjljMzQ2MmEwZjRiNjNkOWUzNzIxYzFmOWZjNmJhNzFlOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwpAQCAtODg1OSw2ICs4ODU5LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPnBs
YXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCI+
CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1D
b29raWVKYXIuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAzM2YzNDYyNmRkMDE2ZGU1YmYyNDMwM2Q1OGVhNmRkMGI3YTY1
YWI5Li4xY2JhNjUwYzBlYTlmYmQ5YzhiMzQ5YTZlZjU3NWNjNDBiNzA2YzRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzEx
LDYgKzE3MTEsOCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlO
YW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMu
aCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhC
QTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThG
NTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8q
IFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2
MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMw
MDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlh
bE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3Bh
dGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MDk0LDYg
KzgwOTYsOCBAQAogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyog
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNURDODdFRUYxMTcxNkRGMjAwMUMwRTZEIC8qIEVtcHR5UHJvdG9jb2xEZWZpbml0
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbXB0eVByb3RvY29sRGVm
aW5pdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMy
RDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5h
dmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE0NDk2LDYgKzE0NTAwLDcgQEAKIAkJCQlFMTNFRjM0MjE2ODRFQ0Y0MDAzNEM4M0Yg
LyogTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggKi8sCiAJCQkJNDQ3OTU4MDIxNjQzQjQ3QjAwMUUw
QTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0NDc5NTgwMzE2NDNCNDdCMDAx
RTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAx
NDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQk1MTRDNzY1RjBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmNwcCAqLywKIAkJCQk1MTRDNzY2MDBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmggKi8sCiAJCQkJNTFBMDUyNTUxMDU4ODc0
MDAwQ0M5RTk1IC8qIFByb3RlY3Rpb25TcGFjZUhhc2guaCAqLywKQEAgLTE0NTM4LDYgKzE0NTQz
LDcgQEAKIAkJCQk1MTRDNzY0NDBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
aCAqLywKIAkJCQk1MTRDNzY0NTBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
bW0gKi8sCiAJCQkJMUE3RkE2NDcwRERBM0NCQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyTWFjLmNwcCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDYwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlRXJyb3JNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDcwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlSGFuZGxlTWFjLm1tICovLAogCQkJCTUxNEM3NjQ5MENFOTIzNEUwMDdFRjNDRCAv
KiBSZXNvdXJjZVJlcXVlc3RNYWMubW0gKi8sCkBAIC0yNDAwOCw2ICsyNDAxNCw3IEBACiAJCQkJ
OTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI2OTgzLDYgKzI2OTkwLDcgQEAKIAkJ
CQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9s
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lOTYxYjdiZDE2NmRhODE2OTMzN2Y2NTM2YThjZWE5MmZiNjQ5MTdhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRGT1JNKE1B
QykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5k
aWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJl
c291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1Ymxp
YzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNh
dGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisj
aWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNh
dGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBj
b25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKwor
I2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRl
KEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmlj
YXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJl
dHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisK
K3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENl
cnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0
IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2Ug
YWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47
CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZp
Y2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNmMjcw
NWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKQEAg
LTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJvckJhc2VfaAogI2RlZmluZSBSZXNv
dXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzVGltZW91dChib29sIGlzVGlt
ZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkg
Y29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0KIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0
IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAg
U3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1faXNOdWxsOwogICAgIGJv
b2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmlu
ZGV4IGUwMGNhNDFmOTljMDgyNWExZDg4MTYxM2M5NjkxNjFlZmUzODQwM2UuLjIxOTg2MmZhNDQ1
ZGNmMTA1ZGU1ZmVmZjNkYTgyODRjMGFiMDRkMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJLVVJMLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRUaW1pbmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0xMTcsNiArMTE4
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8v
IFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0
byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1lbW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAg
IHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7CkBAIC0xNTgsNiArMTYyLDcgQEAg
cHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25u
ZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291
cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmlu
ZGV4IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3Mjhl
NjI0ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzEx
Nyw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIG11dGFibGUgUmV0YWluUHRy
PE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykg
fHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBw
YXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0
IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZB
cnJheVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2
ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3BsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4
NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAw
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgi
CisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
Cit7Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFp
bihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7
CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJh
eVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVC
VUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAgIHVu
c2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9j
ZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlT
dWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCht
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChO
U1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIx
MWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNh
Y2UwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9S
ZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wg
UmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRl
Q2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewogICAgIEFTU0VSVCghd2tDb3B5
TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9l
eHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsK
IH0KIAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRl
Q2hhaW4oKSBjb25zdAogewotICAgIGlmIChtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAg
ICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFk
b3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAg
ICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNV
UkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sK
K30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
Cit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0
Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3Vy
Y2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJz
b3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3RhdGlj
X2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRi
Y2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJv
ci5oCkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNv
dXJjZUVycm9yQmFzZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBk
b21haW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3Ry
aW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShk
b21haW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAg
ICAgICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigp
Ci0gICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQs
MTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25z
dCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRp
Y2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNv
bnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWdu
ZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7
IH0KLSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUp
IHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3Jz
KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsg
fQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9
CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0
OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBh
LCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwot
ICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJy
b3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNk
ZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VF
cnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJ
Z2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9y
IFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAK
IHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29w
eSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7
Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5
LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwog
fQogCiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVy
cm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRl
eCA4ZWZhYTY3Yjc1YWQ4M2YyMmE3ZjA3ZTg4MDYzYTNjNGVhM2M4ZGNmLi43OWI3YWExYzhmN2M5
MDdhOGE5ZjNkNDAwM2RmZWVmZGNjZGQ2Y2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAt
NjA2LDggKzYwNiw4IEBAIHN0YXRpYyBib29sIGhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyhSZXNv
dXJjZUhhbmRsZSogaGFuZGxlKQogCiAgICAgaGFuZGxlLT5jbGllbnQoKS0+ZGlkRmFpbChoYW5k
bGUsIFJlc291cmNlRXJyb3I6OnRsc0Vycm9yKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIHJlc3Bv
bnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCksIHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSkpOwogICAgIHJldHVybiB0cnVlOwotfQogCit9CiBzdGF0aWMgdm9pZCBuZXh0TXVsdGlw
YXJ0UmVzcG9uc2VQYXJ0Q2FsbGJhY2soR09iamVjdCogLypzb3VyY2UqLywgR0FzeW5jUmVzdWx0
KiByZXN1bHQsIGdwb2ludGVyIGRhdGEpCiB7CiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBo
YW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgK
aW5kZXggMzcwZjQzMGI2OWY3NWJhNjI4NzdlNjNlMGY0OTNjMDliZmQyMWEwYi4uMGU5M2Y2Nzli
Njk0YmE3YzJhMzRhY2QwOTg0MTdjNjhjNTUzNjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zNywy
MiArMzcsMTYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1YmxpYyBSZXNvdXJjZVJlc3Bv
bnNlQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgIDogUmVz
b3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNv
dXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNw
b25zZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJp
bmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5
cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAg
LCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAg
LCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAg
ewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdl
KQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFn
cyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9y
cyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1
cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2MSwx
MSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25z
dCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENv
bnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2
YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1l
c3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlm
aWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VD
ZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2Vy
dGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2Vy
dGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3Vw
TWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9p
ZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMp
IHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBz
b3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJ
c1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzQsNiBAQCBw
cml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcg
bV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2Vy
dGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2
b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3Vw
LmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNm
YjY4MWU2NmFkYTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNl
U291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6
OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3Vw
TWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBN
ZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJy
b3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3Vw
TWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlKCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdl
LgogICAgIHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3Vy
Y2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2Fn
ZSkKICAgICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2Up
OwogCiAgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNz
YWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJy
b3JzKTsKLSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNv
dXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9t
U291cE1lc3NhZ2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGIxNTAxN2ZlYjhjZDBjNWY4ODRhNThkOTU5
MzU5N2JkYTZhMjc2MmUuLmUzMzA5Y2NhOTJkMGUwYWU2ZDIwYjdiZDBmZDZlMDM1NjYwNzY2NmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDY3LDggKzQ2Nyw2IEBAIHdlYmtp
dDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzMTIsOCArMTMxMCw2IEBAIHdl
YmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWly
by9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggMDBmNDA2OGNmODAxMjgzYTJiODZm
MDVkZmJiNWE1NDc5NWIzMWFkYS4uNTI4ODI0YzYwYzJiMjY3OWM3N2I2ZWRlNzExZDllODE1MjQ2
ZDIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oCkBAIC0zNiw3ICszNiw4IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFJ1bkxvb3A7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQs
NyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBzdHJ1Y3Qg
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNz
IDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCB7
CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25sb2FkUmVxdWVzdCh1
aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAg
ICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0
Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcm
IGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0
KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFj
a0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1Rv
Q2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGE1ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNl
ZTY5ZmY2MDY5ODVkZDcuLjljYmFhYWJmYzBjMzE5YzdlNzU5M2FjZGJiYjM4ZDYwZDU5YmRmMDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQ
cm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVk
KGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6
U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBo
b3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxs
YmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYmUxMTM0YzRmYTc1MmE0NDZhMmM5MTdl
MjQ1M2NmNGVmODMyNGU2Mi4uZThkNzBiZTBkMGJjZDRlMmRjZTFiZWE0M2M1ODE4NGJkNGI3ZDll
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1By
b2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgiCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJSZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVt
b3J5LmgiCkBAIC00Myw2ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVk
ZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTEzMiw3
ICsxMzIsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
QXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29ucwogICAgIGlmIChGb3JtRGF0YSogZm9y
bURhdGEgPSByZXF1ZXN0KCkuaHR0cEJvZHkoKSkKICAgICAgICAgZm9ybURhdGEtPnJlbW92ZUdl
bmVyYXRlZEZpbGVzSWZOZWVkZWQoKTsKIAotICAgIHNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNz
YWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8ocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgaXNMb2Fk
aW5nTWFpblJlc291cmNlKCkpKTsKKyAgICBzZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6
OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KHJlc3BvbnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBpc0xvYWRpbmdN
YWluUmVzb3VyY2UoKSkpOwogCiAgICAgLy8gbV9oYW5kbGUgd2lsbCBiZSAwIGlmIHRoZSByZXF1
ZXN0IGdvdCBhYm9ydGVkIGFib3ZlLgogICAgIGlmICghbV9oYW5kbGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5k
ZXggM2U5NmZhNGRjYmJmNWI0MzA4YzE1NjI2MjVlNDc3OTY5YWI0NWI3Mi4uMjllOTY4MzhmOTc2
NGE3MmM0MDI2NDExMmY4NmZmODlmODQ3OWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMzAsMTMgKzMw
LDEzIEBACiAKICNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAj
aW1wb3J0ICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbXBvcnQg
IlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9G
aWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYktpdFN5
c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KICNpbXBvcnQgPG1h
Y2gvbWFjaC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2Ug
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA4OGY5Y2ZiYzI0Yzc5MjA2
ZDhlOTA3YjBmZGZiN2FiZWJhNGE1MWM4Li5hMmQyOGZkMDRhYzZiMjUxOTNhZjUwNzkwN2M3YWQ1
OTVkNWJiNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMzcsNyArMzcsNiBAQCBs
aXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFNoYXJlZC9saW51eC9XZWJNZW1vcnlT
YW1wbGVyTGludXguY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UKaW5kZXggZTM2Mzg3OWJmZWM1M2NhZDdlNWEzZTEyMDY2NzU5Mjg4YmI0NGVlMi4uNTRj
ZGUzNjE2NjFjNjk2YzU3NTVmMDc5ZWNiOTE0ZjJiNzJjNTM5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UKQEAgLTczLDcgKzczLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xp
bnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1dl
Yk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCiAgICAgU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxlWDExLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMu
bW0KaW5kZXggMzRkZDQzMTUxOWEzOTlhM2RkODNlMGU4MjNmNDM0NzVjMmUzYmZhYi4uZTUwZTI0
YTljYjhjYjQwODgwY2UwYWYwOGFjOTY0MDc2MjczZWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0z
Myw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZv
UmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2Vy
dGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUlu
Zm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsKICAgICByZXR1cm4g
dG9BUEkoY2VydGlmaWNhdGVJbmZvLnJlbGVhc2UoKS5sZWFrUmVmKCkpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3MGQzODE4MmJkYzliNDI2YmE2ZTAx
YTU5MS4uZDZlYzNmYTBkNzRjODljZTllOGRjNWVkOTM4ZGI3ZWEyMWU4ODdhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiAgICAgY2xhc3MgQ3JlZGVudGlh
bDsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwotY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGlj
YXRpb25NYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgTmV0d29y
a1Byb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKQEAg
LTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGgg
b3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0
X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBjb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lk
IGNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgCkBAIC02OSw3ICs2
OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgYm9vbCB0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNv
bnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJiMWNjMzBjYTZiYzU5MWJkZWRlZDQx
ZjBmNTE5NWVjNzZjOTYxZGQuLmU2OTE1Y2NiNjVhZGYwYjlhZGU4NDQ0YzFiMjg4MDQyMzNmZDQ3
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEs
NyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1h
bmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVu
dGlhbCwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwogICAg
IHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21h
Yy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCmluZGV4IGMwYjky
ZjEyYjRlZjJkNDg0MjVkZDJiN2ZlMzQxZTc2OWMyNzYwMTMuLjE5NDRkMzdmY2IxMDNjZGFlYzJi
NTJiNjBjMDk3YTcyY2JjOTBjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIFVTRShTRUNVUklUWV9GUkFNRVdPUksp
CiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3Vy
aXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNz
YWdlQ29kZXJzLmgKaW5kZXggMDAyMmYzMTA1NWU5NGM2ODU4MGZiYWNkNDRkZTM2YjBmN2QwNGU4
Yi4uOWNhOGMzMzg5YjQxZjYwMzkyYjNmYzRmODdjZjU3MzNjZTQ2YzdmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVj
dDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICAgICAgICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRp
ZmljYXRlSW5mbzo6Y3JlYXRlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlm
NWY4YzAzOTU3NzE5YTJhYTYyYWY1Li4yY2Q3OWQ3ZTMyMzdiZjA0Mjg5ZTZlYTFhYTZkZDMxN2Rl
N2U4YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBA
IC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZp
Y2F0ZUluZm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNh
dGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0gICAgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3Qg
eyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IGluZm8pCisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAgICA6IG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCmluZGV4IDdlZmYzZDUyZjI3MmJjMmQyZWM5YzMzMzRmZTQ5MzAyNmRkODFlOGMuLjk0
ZjBlYzA1NTZlN2RkYWNkMWJiNDQyYWVmNjFkYmZhNmU5N2UwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC00MCw2ICs0MCw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bWFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS1VSTC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VFcnJvci5oPgpAQCAtNTQ1LDYgKzU0NiwyMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8
UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291
cmNlUgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAg
ZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKQoreworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbzsKKworICAgIGlmICghZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmlj
YXRlSW5mbykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKICAgICBpZiAoa1No
b3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2FlOWQ5YWM0NTI1YTc3OWJjMjVlYzA3YzI5MGM4
YTkxM2Y3NDY5My4uOTk0ODMzODY3YWZhZTVhYWM3M2RlODBlYmVkMTI0NWMzYWMwMjU2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDUs
NiArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxp
c3Q7CiAgICAgY2xhc3MgS1VSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAg
IGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtMTY4
LDYgKzE2OSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwogfTsKIAordGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShB
cmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAg
IHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNj
Y2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAg
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25z
ZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8
PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykK
LXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICgh
Q29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25l
ZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4
ZjZlNDUuLmMwZGM0NmUyNjRkMDQ5ODIxMGMyNjRjYWVmNjBiMDI3NTY2Njg4NTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNw
b25zZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMyLDYgKzEzMywzNyBAQCBib29sIEFy
Z3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCisKK3ZvaWQgQXJndW1lbnRD
b2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgaWYgKCFjZXJ0
aWZpY2F0ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVu
Y29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBk
ZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
Cit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
ICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIUNvcmVJUEM6OmRl
Y29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZp
Y2F0ZUNoYWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJp
bmcqIG5zU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcu
aW1wbCgpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3Ro
KCldIDogQCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFiOWRlNjk4MGUw
MWU1NjZlOTZhNGZmYWE3OTUwNjE1NDQxZjgyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAi
QXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+
Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7
Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAgIHsKLSAgICB9Ci0K
LSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJikKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJikgY29uc3QKLSAgICB7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wg
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JikKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAK
aW5kZXggMzViZjIyZjBiYTllNTFkNzQxNDJkMWY3ZTA2YTJiY2U5MTQzMmNiZi4uZjQxODQ1MzA3
ZjQxMGM2YTExZmY1ZDRiZWNlOWJjYmVhMWY3YWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCkBAIC0yNiw2ICsyNiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTU0
LDYgKzU1LDE2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9CiAKIAordm9pZCBBcmd1bWVu
dENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKQoreworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNv
ZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJy
b3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRkNWNmZGE2ZTdlZWJhNjcx
NGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxp
YSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5j
bHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291cE1lc3NhZ2VDZXJ0aWZp
Y2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1lc3NhZ2VUTFNFcnJvcnMo
KSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0gICAgOiBtX2NlcnRpZmlj
YXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHN0YXRp
Y19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkK
LXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmlj
YXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAgIGdfb2JqZWN0X2dl
dChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmlj
YXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKLSAgICAgICAgZW5j
b2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwg
dHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJh
eShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+
bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90bHNFcnJvcnMp
OwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICgh
aGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9
IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURh
dGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9w
dEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190
bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2Jh
Y2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCksIE5VTEwpKSk7Ci0KLSAg
ICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fdGxzRXJyb3Jz
ID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycyk7Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2N2I2ZGI0NWMxNDdmNjFj
MDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2
L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYv
Z29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3VtZW50
RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci19Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJs
aWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAg
ZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotCi0gICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7
IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBt
X3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
JikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
bV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggZGM0ZTExOTE3NTdl
Y2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uZDQ0ODBlMTUzNmYwMTg3ZGMxZjZhODkzNTY3
ZWViZmJhNzYwMzBkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEw
MCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY4LDkgKzY5LDYwIEBAIGJvb2wgQXJndW1lbnRD
b2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2Rl
ciYgZGVjb2RlCiB9CiAKIAordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAg
IGlmICghcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJh
eSogY2VydGlmaWNhdGVEYXRhID0gMDsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QocGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZp
Y2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVu
Y29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8
IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJy
YXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUt
PmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSho
YXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2Vy
dGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZVZh
cmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0
ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAg
Y2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5z
aXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRlcyA9IGFkb3B0
R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rs
c19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNl
cnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdf
dGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgTlVM
TCkpKTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZp
Y2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPih0bHNFcnJvcnMpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBl
bmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOworICAgIGVu
Y29kZXIgPDwgcmVzb3VyY2VFcnJvci5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogfQogCiBi
b29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC03
OSw4ICsxMzEsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNv
dXJjZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsK
LSAgICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3Jz
KCkpOworICAgIHJlc291cmNlRXJyb3Iuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlm
aWNhdGVJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggZmU2MzM2
YTEwMTU2M2YxYmUxNmQ1YjBkODE3MzQ4ZDU3ZTU1ZDQzNy4uYzU3NTUyNWRkOWRkNjY0MzgxY2Mz
NjEyZTA5NmM1ZDZjNDFiMWYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNDgsNyArMTQ4LDYgQEAgSEVB
REVSUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCiAgICAgU2hhcmVk
L3F0L0FyZ3VtZW50Q29kZXJzUXQuaCBcCi0gICAgU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggXAogICAgIFNoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5oIFwKICAgICBTaGFy
ZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXF1
ZXN0RGF0YS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKaW5kZXggMjk0OTcwOTBkYjYwN2RiY2E5ZjAxYWI5ZjQ0YzkzMjdlNDgy
MWMxZi4uNWUwOTQ3ZGM0NzBkMmNkNmE5MWQ3YWIyMmM5NzExYjAwMzYwODhkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNpbmNsdWRlICJJ
bWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRl
bS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAgLTYxLDYgKzYwLDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3du
UHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HdGtVdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQ
dHJDYWlyby5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dv
YmplY3QvR093blB0ci5oPgpAQCAtMjkzMCw3ICsyOTMwLDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dl
Yl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNh
dGUqKgogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1l
LT5jZXJ0aWZpY2F0ZUluZm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25z
dCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFp
bkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICBpZiAoY2VydGlmaWNhdGUpCiAgICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpOwogICAgIGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKaW5kZXggOWY2NDg4NWFlODg0ODRkYzc0MTUxNTcyOWY1
NTRiOWY1MjZhNWRkNS4uYTk4MzgyYWVkMzI4NDVkMDdkMTYzNzU2ZDJiNWE2MTg5Y2UyMzFmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYs
NyArNjYsNyBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRp
YWwoV2ViQ3JlZGVudGlhbCogY3JlZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBX
ZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmlj
YXRlSW5mbygpOwotICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8g
PSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkgOiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAgICAgICBXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0
aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxs
ZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2Mx
ZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQyZjMuLjYyNTJiZTYwNTg1YTYzNDU1OTcwN2Y3
Y2JmNjhiNDJjMDAwNzE3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQ
cm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFjaGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJs
ZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKIHsKICAgICBBU1NFUlQobV9sb2FkU3RhdGUgPT0gTG9hZFN0YXRlUHJvdmlz
aW9uYWwpOwogICAgIG1fbG9hZFN0YXRlID0gTG9hZFN0YXRlQ29tbWl0dGVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggMGJlZTY2NmZmZmQ0YWYyZDExYjVm
YzdkYWQyNzQ4YTI2OTZiNmFkNS4uOWIzZTZjMTk3NGY1MDA4YzExNDViZWY3ZGQxNTlhYTg3ZDcx
OGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCwx
MCArNDAsMTQgQEAgbmFtZXNwYWNlIENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9
CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwor
fQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKwogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xh
c3MgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5OwpAQCAtMTA2LDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAg
ICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2Fk
KGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Jik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBz
ZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCBmNTdiNjUzNzdhNWJhZjNkNzA0MjIxYTc4ZGE5MzkzMGVmMjc5NTAxLi4yZDJjOTUy
ZWQwM2UxMTdmNTM0NmYyNTZmNDE0YmZkZTg1MDA4YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDIsNiArMTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIEZsb2F0UmVjdDsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNs
YXNzIEludFNpemU7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xh
c3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBzdHJ1Y3Qg
RmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEzMyw3ICsxMzQsNiBAQCBjbGFzcyBOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIE5hdGl2ZVdl
YldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0
OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTgwNyw3ICs4MDcsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0
cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9v
bCBmcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBmcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCB1aW50
MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwogICAgIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggZmMyZmMzZTU3NTBhY2M5MDE1MTFhNDlhM2NmNTgyYjk2M2Fl
MmY2OC4uNGNhZjgxNmU4ZDBmZTU1ZDZiYjA5YjVmZDgwNzcwZDMyNjlmZDRkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0x
MTQsNyArMTE0LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVT
dWJmcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0g
ICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1p
bWVUeXBlLCBib29sIGhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCB1aW50MzJfdCBsb2FkVHlwZSwg
V2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAg
RGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVU
eXBlLCBib29sIGhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCB1aW50MzJfdCBsb2FkVHlwZSwgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERp
ZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlmN2RjYjI4ODZm
NjJiYTJkODZlMzViNTZlOGM4NmZjMjMwYTQ0ODEuLjE3YjZiMGE4NmU3YjBjYzIxYTU2OWM5OTUy
OWQ3MWMyNmYzYWIyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNjcsOCArMTA2Nyw2IEBACiAJCUJDRjE4NjM4MTY3RDA3
MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVs
LmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5o
ICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRE
RTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovOyB9OwotCQlC
Q0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVF
ODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0
MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBX
ZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQu
Y3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlG
ODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAgLTI1ODQs
OCArMjU4Miw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyog
TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQx
NjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNjEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8q
IFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3Jr
OyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUg
LyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2
OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNTUsOCArNDM1MSw2IEBACiAJCQkJQzU3NEE1ODAxMkU2
NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NC
RkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMw
MEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5
NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4
RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTFBRjFBQzZBMTY1
MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICovLAogCQkJCTFB
RjFBQzY5MTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSAq
LywKQEAgLTU0NTcsNyArNTQ1MSw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8q
IFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAw
QjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQUYwNjE0MTJC
MDExMzEwMDhFNDlFMiAvKiBQREZWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
QkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1
cE1lbnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3Njgg
LyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2RkI3
RDMxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oIGluIEhlYWRlcnMgKi8sCkBAIC02NzIxLDcg
KzY3MTQsNiBAQAogCQkJCTJENDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNz
d29yZEZpZWxkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3
IC8qIFBERlBsdWdpblRleHRBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBRjA2
MTUxMkIwMTEzMTAwOEU0OUUyIC8qIFBERlZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRm
b3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJB
OTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IDUzNTdiYmNmNDQwMDRjZDNhNTI0NzdlNTYzNmQ1YWI3MmNkMjRj
YjYuLjhhZGZmNWM1NDhmODUzNjI0YWIzN2ZlZWNiMWQ3YTkwNTMwZTc5MjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRl
ci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgpAQCAtMTA2LDcg
KzEwNiw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwCiAgICAgUmVmUHRyPFdlYlJlc291cmNl
TG9hZGVyPiBwcm90ZWN0b3IodGhpcyk7CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
Q29weShyZXNwb25zZSk7Ci0gICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CisgICAgcmVzcG9uc2VDb3B5LnNldFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxv
YWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBj
YWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCBiMzdlOWIwZjA5MjgwOTE1ZmE1YjI0ZjUwOTY2YzAzZDA5ZDZiMDI0Li5lODRmMGYyNTJkZTc1
OGIzOTZmMzlhZDUzMmY4YjcxN2JmOTA0MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJl
c291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlm
aWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJl
c291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyAr
NzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVk
aXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQs
IHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRp
ZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWls
UmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbgppbmRleCAyYWMyNjQ5MDlmMTU2MWY4ZGQ3ZTc0ZWEzMTRmMGY2MzQ3
MmY4YjA3Li5lNjFhOWU0NDhhYjFlNGEzZDJkMzFiNTRkNWM1OGQzOTVhMjcwMTQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yNyw3ICsyNyw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICAvLyBGSVhNRSAoTmV0d29ya1By
b2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0eSBmb3IgcmVzcG9uc2UgbWVz
c2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlk
U2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQp
Ci0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVz
c2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGlu
dDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJs
ZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYzFkN2Rl
NGI5MmE5NTc2ZWU1ODc4OWNhYjdhZTBiNDllMjQ3ZmUzOS4uMTRmY2E1ZTA1YzY2MDUyNWUyZmU1
YjllMmFkOTM3OGYwYjM4MjNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVu
c2lvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2lu
Y2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRl
ICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdl
cy5oIgpAQCAtNjcsNiArNjYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Bh
Z2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1
bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC00NDMsNyAr
NDQzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2Fk
KCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogCi0gICAgd2ViUGFnZS0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJh
bWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRp
b24sIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKSwgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
cih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNl
Lm1pbWVUeXBlKCksIG1fZnJhbWVIYXNDdXN0b21SZXByZXNlbnRhdGlvbiwgbV9mcmFtZS0+Y29y
ZUZyYW1lKCktPmxvYWRlcigpLT5sb2FkVHlwZSgpLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQo
KSkpKTsKIAogICAgIHdlYlBhZ2UtPmRpZENvbW1pdExvYWQobV9mcmFtZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206507</attachid>
            <date>2013-07-11 23:26:33 -0700</date>
            <delta_ts>2013-08-26 04:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130712152347.patch</filename>
            <type>text/plain</type>
            <size>99120</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM2NWYyMTgwYjc0MTI1
YTIwN2RiNDNmNmFmZmE1YzZhNTA1NzNhYy4uY2Y5YmFhNjY5NDA5Y2VkZDgwYzQ4YzUwZmZhMzE2
MDU4Y2YzZDM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA3LTExICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA3LTEwICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUGx1
Z2lucyB0aGF0IGRvbid0IHN1cHBvcnQgc25hcHNob3R0aW5nIHNob3VsZCBub3QgYWxsIGF1dG9z
dGFydC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCBlMzZmMzBiYTEwODJhMTIxMjdhZDc5NzJhMWRlOGJjYjQyMzli
NjE1Li43NjgyMGE1ZjFjMWIxM2I2ZTI4OTI0YjYzODlkNmFkMDBjMTQ0YzQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNjkgQEAKKzIwMTMtMDctMTEgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21w
YW55MTAwLm5ldD4KKworICAgICAgICBNb3ZlIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdl
YkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNlUmVzcG9uc2UgcHJpbWl0aXZlcyB3b3JrIGluIHRl
cm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNvdXJjZUVycm9yQmFzZQorICAgICAgICBhbmQgUmVz
b3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBnZXR0aW5nIGFuZCBzZXR0aW5nIGNlcnRpZmljYXRl
cworICAgICAgICBiZWNvbWVzIGNyb3NzIHBsYXRmb3JtLgorCisgICAgICAgIENoYW5nZWQgdGhl
IGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmljIGNlcnRpZmljYXRlIGdldHRlcnMgYW5kIHNldHRl
cnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJvciBhbmQgUmVzb3VyY2VSZXNwb25zZSB0byB1c2Ug
dGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1lbWJlci4KKworICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZUFzeW5jKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NN
YWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1H
VEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01h
Yy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFp
bik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0
aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUp
OgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENv
ZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBD
Ojo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQu
Y3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFRhcmdldC5wcmk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCk6CisKIDIwMTMt
MDctMTAgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBQbHVn
aW5zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBzbmFwc2hvdHRpbmcgc2hvdWxkIG5vdCBhbGwgYXV0b3N0
YXJ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmU5M2UxOWVmMDA3OGU1YThh
N2E2NzJjY2JmM2E0ZmM0YjIyOTZiZS4uZDZhYmFkMGE0YTIwOTQ0NTZhNjQzZmQ4NmI2YjFmNjBl
YzcxZmU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NTI2LDYgKzU1MjYs
NyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIFwKQEAgLTU1NTUs
NiArNTU1Niw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9Tb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Byb3h5U2VydmVyU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUVycm9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpp
bmRleCBmNDk2NjQ3MjUwOTc5YWM0N2FmZTUzZGMyNGJhNDMyZjhlMTUwNTdhLi5iN2Y4NWE1ODEw
Y2FiNTgyOWQ3OWY2OGMxMmM2M2M1NDg4MmM2NDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFr
ZQpAQCAtMTQ4LDYgKzE0OCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBs
YXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291
cC9HT3duUHRyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9Tb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVJlc29s
dmVyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNw
cAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDNiMDM1NTE4YTQ3ODc3MTkyYzJkMGQzNDIxMWI0N2NkOGY5MzQ3NTEuLjQxYjJj
YTczMDNlMmY1YmI4ZGU2NmIyNGQxYzA0ZTI1YjRlOGIyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjMx
NCw2ICsyMzE0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
aW5nQ29udGV4dC5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVy
LmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvUGFyc2VkQ29udGVudFR5cGUuaCBcCisgICAgcGxh
dGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL1BsYXRmb3JtQ29va2llSmFyLmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvUHJvdGVj
dGlvblNwYWNlLmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvUHJveHlTZXJ2ZXIuaCBcCkBAIC0y
OTA0LDYgKzI5MDUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Jl
c291cmNlUmVxdWVzdFF0LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9ETlNRdC5jcHAg
XAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvTmV0d29ya1N0YXRlTm90aWZpZXJRdC5jcHAgXAor
ICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9RdC5jcHAgXAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvUHJveHlTZXJ2ZXJRdC5jcHAgXAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkz
OWNlNDQzZGFlMzExMGJmNWFlMTU0NjEzZWRlYWMwOGM2MTliYmIuLmQ5YWMzZWE1OTRmNGNjODM1
MjUxMWUzNTRlYjI1MWY1ZTBlY2VkYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjAsNiAr
NzYwLDExIEBAIF9fWk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhl
bnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlQzFFUktOU18xNVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlh
bEVqUktOU18xNlJlc291cmNlUmVzcG9uc2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dl
YkNvcmUyM011dGFibGVTdHlsZVByb3BlcnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9u
RXYKIF9fWk43V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNv
cmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9fQ0ZB
cnJheQorX19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJh
eQorX19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0MxRXYKK19fWk43V2ViQ29y
ZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9EMUV2CitfX1pOSzdXZWJDb3JlMjNQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzE2Y2VydGlmaWNhdGVDaGFpbkV2CiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZy
YWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxt
MEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBv
bmVudFR5cGVFUDVOU1VSTGwKIF9fWk43V2ViQ29yZTIzZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2VF
UDhOU1N0cmluZzhfTlNSYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKaW5kZXggNzgxMGNiNDQ2Njc0MDAwMDIwZjViMGZlYzUwM2UyYjljODc0
YzY0OC4uOGM3MDUxYmM2NDJkYzE5N2Q0NmYxYTAzYWQ1ZDY5ZmE3MGMzYThlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMjIzNSw2
ICsxMjIzNSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3Jr
XE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIiAvPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xQbGF0Zm9ybUNvb2tpZUphci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlSGFzaC5oIiAvPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCmluZGV4IDhiMzcxYTA3OWUzMTQxYTA0YzczODg5ZTljYjUyMjg5MTZkNmVmZjAuLmY0
YzlhZjk1ZDEzNmYxMzg0MTNmMTQ3ZTBiOTY3ZmZlNDg5MjQwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAg
LTg4NTksNiArODg1OSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3
b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZp
bHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgi
PgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYzIxNjliOGM5NTRjNGEwYTAwZmJhZDFmMDM2MWJlZDcyOWZhNjllOC4uYzc3MWFk
YzIxZmMzOGZiZGVmZjBiMmQ5Y2MyYTI0YzQ0ZTNkYzVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTcxMSw3ICsxNzExLDEw
IEBACiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4g
Q29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9Owog
CQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdD
MDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVk
QWN0aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb01hYy5tbSAqLzsgfTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxMDksNyArODEx
MiwxMCBAQAogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJh
bnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNURDODdFRUYxMTcxNkRGMjAwMUMwRTZEIC8qIEVtcHR5UHJvdG9jb2xEZWZpbml0aW9u
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbXB0eVByb3RvY29sRGVmaW5p
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMyRDAw
MTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8uLi8u
Li8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNw
YXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2
Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29u
dGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29udGV4
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI5MzMsNiArMTI5MzksNyBAQAog
CQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJCMDQ4
QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJ
CTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRp
b1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMzAzNiw2ICsxMzA0Myw3
IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTND
MyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjcz
IC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3Jl
UHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3Vy
Y2VzLm1ha2UgKi8sCkBAIC0xNDUyNiw2ICsxNDUzNCw3IEBACiAJCQkJRTEzRUYzNDIxNjg0RUNG
NDAwMzRDODNGIC8qIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oICovLAogCQkJCTQ0Nzk1ODAyMTY0
M0I0N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgKi8sCiAJCQkJNDQ3OTU4MDMx
NjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmggKi8sCisJCQkJNUYyREJCRTgx
NzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJCQkJNTE0
Qzc2NUYwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5jcHAgKi8sCiAJCQkJNTE0
Qzc2NjAwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5oICovLAogCQkJCTUxQTA1
MjU1MTA1ODg3NDAwMENDOUU5NSAvKiBQcm90ZWN0aW9uU3BhY2VIYXNoLmggKi8sCkBAIC0xNDU2
OCw2ICsxNDU3Nyw3IEBACiAJCQkJNTE0Qzc2NDQwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1EYXRh
U3RyZWFtTWFjLmggKi8sCiAJCQkJNTE0Qzc2NDUwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1EYXRh
U3RyZWFtTWFjLm1tICovLAogCQkJCTFBN0ZBNjQ3MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3b3Jr
U3RhdGVOb3RpZmllck1hYy5jcHAgKi8sCisJCQkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8q
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCTUxNEM3NjQ2MENFOTIzNEUw
MDdFRjNDRCAvKiBSZXNvdXJjZUVycm9yTWFjLm1tICovLAogCQkJCTUxNEM3NjQ3MENFOTIzNEUw
MDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZU1hYy5tbSAqLywKIAkJCQk1MTRDNzY0OTBDRTkyMzRF
MDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0TWFjLm1tICovLApAQCAtMjMwMjksNiArMjMwMzks
NyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3Jt
Q0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8q
IFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhF
NjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FBNDg3MDE0QTA1MjUzMDA4OEZBQzQgLyogUGxhdGZv
cm1FdmVudEZhY3RvcnlNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMjcwNDMsNiArMjcwNTQsNyBA
QAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdh
dGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFpl
cm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU5NjFiN2JkMTY2ZGE4MTY5MzM3ZjY1MzZhOGNlYTkyZmI2NDkx
N2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorCisjaWYgUExBVEZP
Uk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNlbGlmIFVTRShTT1VQKQorI2lu
Y2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4K
KyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewor
cHVibGljOgorICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisKKyNpZiBQTEFURk9STShN
QUMpCisgICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisgICAgdm9pZCBzZXRDZXJ0
aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bigpIGNvbnN0OworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lkIGR1bXAoKSBjb25zdDsKKyNlbmRp
ZgorCisjZWxpZiBVU0UoU09VUCkKKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2Vy
dGlmaWNhdGU7IH0KKworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0
IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9CisgICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CisjZW5k
aWYKKworcHJpdmF0ZToKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisgICAg
Ly8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNl
LCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNw
b25zZSBhZnRlciBJUEMuCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVD
aGFpbjsKKyNlbGlmIFVTRShTT1VQKQorICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2Nl
cnRpZmljYXRlOworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOworI2VuZGlm
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlRXJyb3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlRXJyb3JCYXNlLmgKaW5kZXggNWI3OTA5ZmRiMWRlMDFkNjUzMzFjNzU5OTRmOTM4YzM3
M2YyNzA1Yy4uNDZiZjliOTUyZWUyOWQwMjA4MDM5ZTI3MzZiYmVjMmQ5ZGNjNDM2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBSZXNvdXJjZUVycm9yQmFzZV9oCiAjZGVmaW5l
IFJlc291cmNlRXJyb3JCYXNlX2gKIAorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wg
aXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVv
dXQoKSBjb25zdCB7IHJldHVybiBtX2lzVGltZW91dDsgfQogCisgICAgY29uc3QgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4g
bV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsgfQorCiAgICAgc3RhdGljIGJvb2wgY29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYpOwogCiBwcm90ZWN0ZWQ6CkBAIC04OSw2ICs5Myw3IEBAIHBy
b3RlY3RlZDoKICAgICBpbnQgbV9lcnJvckNvZGU7CiAgICAgU3RyaW5nIG1fZmFpbGluZ1VSTDsK
ICAgICBTdHJpbmcgbV9sb2NhbGl6ZWREZXNjcmlwdGlvbjsKKyAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGJvb2wgbV9pc051bGw7CiAg
ICAgYm9vbCBtX2lzQ2FuY2VsbGF0aW9uOwogICAgIGJvb2wgbV9pc1RpbWVvdXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKaW5kZXggZTAwY2E0MWY5OWMwODI1YTFkODgxNjEzYzk2OTE2MWVmZTM4NDAzZS4uMjE5ODYy
ZmE0NDVkY2YxMDVkZTVmZWZmM2RhODI4NGMwYWIwNGQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgogI2luY2x1ZGUgIktVUkwu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlc291
cmNlTG9hZFRpbWluZy5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTExNyw2
ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRU
aW1pbmcoKSBjb25zdDsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFRpbWluZyhQYXNzUmVmUHRy
PFJlc291cmNlTG9hZFRpbWluZz4pOwogCisgICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29u
c3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSB7IG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorCiAg
ICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0
aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9u
CiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1OCw2ICsxNjIs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBt
X2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1f
cmVzb3VyY2VMb2FkVGltaW5nOworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87CiAKICAgICBib29sIG1faXNOdWxsIDogMTsKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNl
LmgKaW5kZXggZTBhNWRkNDhhZGUxN2FiNDZhZDE0NmU5NDQ5YzQzNGY0OTA1NDA3MC4uMjczYzhk
NzcyOGU2MjRlMWM5ZGY5ZmUwZmE0MjU1MGY4MzI2ZDAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywx
MCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRh
aW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1h
bGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1h
ZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0
cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIElu
aXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0Rh
dGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDJk
YzQwZjg0MzhmODE1YTMxNTdlM2NhOGI0OWUxZjFmNTIzYTk3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFu
eSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQorICAgIDogbV9jZXJ0aWZpY2F0
ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Ojp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit2b2lkIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bikKK3sKKyAgICBtX2NlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworfQorCitD
RkFycmF5UmVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWluKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisjaWZuZGVm
IE5ERUJVRwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Cit7Cisg
ICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3Vu
dChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKKworICAgIE5TTG9nKEAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9cbiIpOworICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmll
cyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgeworICAgICAg
ICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRl
Q29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKKyAgICAgICAgTlNMb2coQCIgICVA
IiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7CisgICAgfQorfQorI2VuZGlmCisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCmluZGV4IDk3ZmNmODdmNTNiNmM0
ZmE2MjExZmI3NGE1MzZkYWU5OTBiZjE1ZDkuLjNhYmY0NzU4MDkwNmJlZGRiOTFmNDIzMDY3NDUz
NDE4M2FjZTBkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQpAQCAtMTgyLDEzICsxODIsMTMgQEAg
Ym9vbCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgYSwgY29uc3QgUmVzb3VyY2UKIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlm
aWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7CiAgICAgQVNTRVJUKCF3
a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbihuc1VSTFJlc3BvbnNlKCkpKTsKLSAg
ICBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47CisgICAgbV9w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hh
aW4pOwogfQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlm
aWNhdGVDaGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWlu
KQotICAgICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKQorICAgICAgICByZXR1
cm4gYWRvcHRDRihtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7
CiAKICAgICByZXR1cm4gYWRvcHRDRih3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFp
bihuc1VSTFJlc3BvbnNlKCkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9RdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2ZDkyZTIzMmU4OWRjZWJkNjYxNzk4OWM1OTllZTE1NjFiN2JhODgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvUXQuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9Tb3VwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDBjODdlYTM1OWZiMTcyNzk0MjFhZWYw
YTkwYjRjZDA1ODYwMGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCAr
MSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJp
Z2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKKyNpbmNsdWRlICJS
ZXNvdXJjZUVycm9yLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUg
PGxpYnNvdXAvc291cC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCisgICAgOiBtX3Rsc0Vycm9ycyhz
dGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCit7Cit9CisKK1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlRXJyb3IuaAppbmRleCAxYTcwNWYxNWVkN2YzOGY4ZDNhZmVkNzAxMWEz
MGMwNGJjYzc4ZjE4Li4wNDdiNjljZWEwZGVmYmE2NmMxNGZhZjkyODQ2YzEwMThlYTE3NGRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VF
cnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yLmgKQEAgLTQwLDEyICs0MCwxMCBAQCBjbGFzcyBSZXNvdXJjZUVycm9yIDogcHVibGlj
IFJlc291cmNlRXJyb3JCYXNlCiBwdWJsaWM6CiAgICAgUmVzb3VyY2VFcnJvcihjb25zdCBTdHJp
bmcmIGRvbWFpbiwgaW50IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMLCBjb25z
dCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0aW9uKQogICAgICAgICA6IFJlc291cmNlRXJyb3JC
YXNlKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWlsaW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlwdGlvbikK
LSAgICAgICAgLCBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZUVy
cm9yKCkKLSAgICAgICAgOiBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKQEAgLTU2LDE3
ICs1NCwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgdGltZW91dEVycm9y
KGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCk7CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgYXV0
aGVudGljYXRpb25FcnJvcihTb3VwTWVzc2FnZSopOwogCi0gICAgdW5zaWduZWQgdGxzRXJyb3Jz
KCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9ycyh1
bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KLSAgICBHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5n
ZXQoKTsgfQotICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZp
Y2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKyAgICB1bnNpZ25lZCB0bHNF
cnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRsc0Vycm9y
cygpOyB9CisgICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNh
dGUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNh
dGUpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0
ZSk7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJikg
Y29uc3Q7CiAgICAgc3RhdGljIGJvb2wgcGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlRXJy
b3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpOwotCi0gICAgdW5zaWduZWQgbV90bHNFcnJv
cnM7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlRXJyb3JTb3VwLmNwcAppbmRleCBiYTg2NTdiNTA1MDkwNTI1N2MxZGE0Y2E3OTlmNzM3
NmFkY2RkYzUyLi4wMzI4MTJmNDAyYjcyYWQyY2MzYjNlNmM3NmE1MjVhYjgxMzU3NWIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJv
clNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yU291cC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEyIElnYWxpYSBTLkwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05OCw4ICs5OSw3IEBAIFJlc291cmNl
RXJyb3IgUmVzb3VyY2VFcnJvcjo6dGltZW91dEVycm9yKGNvbnN0IFN0cmluZyYgZmFpbGluZ1VS
TCkKIAogdm9pZCBSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYgZXJy
b3JDb3B5KSBjb25zdAogewotICAgIGVycm9yQ29weS5tX2NlcnRpZmljYXRlID0gbV9jZXJ0aWZp
Y2F0ZTsKLSAgICBlcnJvckNvcHkubV90bHNFcnJvcnMgPSBtX3Rsc0Vycm9yczsKKyAgICBlcnJv
ckNvcHkuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8obV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291
cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CmluZGV4IDhlZmFhNjdiNzVhZDgzZjIyYTdmMDdlODgwNjNhM2M0ZWEzYzhkY2YuLjc5YjdhYTFj
OGY3YzkwN2E4YTlmM2Q0MDAzZGZlZWZkY2NkZDZjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CkBAIC02MDYsOCArNjA2LDggQEAgc3RhdGljIGJvb2wgaGFuZGxlVW5pZ25vcmVkVExTRXJyb3Jz
KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAKICAgICBoYW5kbGUtPmNsaWVudCgpLT5kaWRGYWls
KGhhbmRsZSwgUmVzb3VyY2VFcnJvcjo6dGxzRXJyb3IoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwg
cmVzcG9uc2Uuc291cE1lc3NhZ2VUTFNFcnJvcnMoKSwgcmVzcG9uc2Uuc291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZSgpKSk7CiAgICAgcmV0dXJuIHRydWU7Ci19CiAKK30KIHN0YXRpYyB2b2lkIG5leHRN
dWx0aXBhcnRSZXNwb25zZVBhcnRDYWxsYmFjayhHT2JqZWN0KiAvKnNvdXJjZSovLCBHQXN5bmNS
ZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIgZGF0YSkKIHsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9u
c2UuaAppbmRleCAzNzBmNDMwYjY5Zjc1YmE2Mjg3N2U2M2UwZjQ5M2MwOWJmZDIxYTBiLi4wZTkz
ZjY3OWI2OTRiYTdjMmEzNGFjZDA5ODQxN2M2OGM1NTM2NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKQEAg
LTM3LDIyICszNywxNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlIDogcHVibGljIFJlc291cmNl
UmVzcG9uc2VCYXNlIHsKIHB1YmxpYzoKICAgICBSZXNvdXJjZVJlc3BvbnNlKCkKICAgICAgICAg
OiBSZXNvdXJjZVJlc3BvbnNlQmFzZSgpCi0gICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nh
c3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCi0gICAgICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nh
c3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJj
ZVJlc3BvbnNlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBs
b25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0
IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBt
aW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQotICAg
ICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAg
ICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkK
ICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291cE1l
c3NhZ2UpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291
cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAg
ICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcsMTEg
KzYxLDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRTbmlm
ZmVkQ29udGVudFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50VHlw
ZSA9IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRT
b3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9j
ZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVz
c2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5z
ZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
IHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAg
ICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vy
cm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNFcnJv
cnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7IH0KIAogICAgIGJvb2wgcGxhdGZvcm1SZXNw
b25zZUlzVXBUb0RhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCkBAIC04MCw4ICs3NCw2
IEBAIHByaXZhdGU6CiAKICAgICBTb3VwTWVzc2FnZUZsYWdzIG1fc291cEZsYWdzOwogICAgIFN0
cmluZyBtX3NuaWZmZWRDb250ZW50VHlwZTsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4g
bV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKIAog
ICAgIHZvaWQgZG9VcGRhdGVSZXNvdXJjZVJlc3BvbnNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25z
ZVNvdXAuY3BwCmluZGV4IDljM2IwZWRiZDlmZDNjYjY3MDhhMGY5OWZlNDJkN2IyNDU1ZDI2ZjAu
LjMxY2ZiNjgxZTY2YWRhNWMwZTcwYzcyMjA1MmJjODVhYTM3YjAzOTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVz
cG9uc2VTb3VwLmNwcApAQCAtNTIsNyArNTIsNyBAQCBTb3VwTWVzc2FnZSogUmVzb3VyY2VSZXNw
b25zZTo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0CiAKICAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZsYWdz
KHNvdXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7CiAKLSAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qo
c291cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZS5nZXQoKSwgInRs
cy1lcnJvcnMiLCBtX3Rsc0Vycm9ycywgTlVMTCk7CisgICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNU
KHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGUoKSwgInRscy1lcnJvcnMiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBpcyBub3QgaW4gdGhlIG1l
c3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCArNjgsMTAgQEAgdm9pZCBS
ZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBN
ZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9mbGFncyhzb3VwTWVz
c2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlID0gMDsKLSAgICBzb3Vw
X21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNlcnRpZmljYXRlLCAmbV90
bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2Vy
dGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnModGxzRXJyb3JzKTsKKyAgICBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsKIAogICAgIHVwZGF0
ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYjE1MDE3ZmViOGNkMGM1Zjg4NGE1
OGQ5NTkzNTk3YmRhNmEyNzYyZS4uZTMzMDljY2E5MmQwZTBhZTZkMjBiN2JkMGZkNmUwMzU2NjA3
NjY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00NjcsOCArNDY3LDYgQEAg
d2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRl
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTMxMiw4ICsxMzEwLDYg
QEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAwMGY0MDY4Y2Y4MDEyODNh
MmI4NmYwNWRmYmI1YTU0Nzk1YjMxYWRhLi41Mjg4MjRjNjBjMmIyNjc5Yzc3YjZlZGU3MTFkOWU4
MTUyNDZkMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVuTG9vcDsKK2NsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOworY2xhc3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC00NCw3ICs0NSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25N
YW5hZ2VyOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3
b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0
cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1By
b2Nlc3MgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xp
ZW50IHsKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1
ZXN0KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYp
OwogICAgIHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9p
ZCBzZXRDYWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0
cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcm
IGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNh
bGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2Fj
aGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTVmY2JjN2JlOTQwMjgwN2MxZTU1
NjJhM2VlNjlmZjYwNjk4NWRkNy4uOWNiYWFhYmZjMGMzMTljN2U3NTkzYWNkYmJiMzhkNjBkNTli
ZGYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0
d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVu
YWJsZWQoYm9vbCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwg
V1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBiZTExMzRjNGZhNzUyYTQ0NmEy
YzkxN2UyNDUzY2Y0ZWY4MzI0ZTYyLi5lOGQ3MGJlMGQwYmNkNGUyZGNlMWJlYTQzYzU4MTg0YmQ0
YjdkOWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKQEAgLTQzLDYgKzQyLDcgQEAKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNp
bmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAt
MTMyLDcgKzEzMiw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2VBc3luYyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zCiAgICAgaWYgKEZvcm1EYXRh
KiBmb3JtRGF0YSA9IHJlcXVlc3QoKS5odHRwQm9keSgpKQogICAgICAgICBmb3JtRGF0YS0+cmVt
b3ZlR2VuZXJhdGVkRmlsZXNJZk5lZWRlZCgpOwogCi0gICAgc2VuZEFib3J0aW5nT25GYWlsdXJl
KE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBp
c0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOworICAgIHNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNz
YWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8ocmVzcG9uc2UsIHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCksIGlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKSk7CiAKICAgICAvLyBtX2hhbmRsZSB3aWxsIGJlIDAgaWYgdGhl
IHJlcXVlc3QgZ290IGFib3J0ZWQgYWJvdmUuCiAgICAgaWYgKCFtX2hhbmRsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5t
bQppbmRleCAzZTk2ZmE0ZGNiYmY1YjQzMDhjMTU2MjYyNWU0Nzc5NjlhYjQ1YjcyLi4yOWU5Njgz
OGY5NzY0YTcyYzQwMjY0MTEyZjg2ZmY4OWY4NDc5ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0zMCwx
MyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2ltcG9ydCAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2lt
cG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9u
UGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJD
b3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgor
I2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2Vi
S2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9y
dCA8bWFjaC9tYWNoLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5j
bWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDg4ZjljZmJjMjRj
NzkyMDZkOGU5MDdiMGZkZmI3YWJlYmE0YTUxYzguLmEyZDI4ZmQwNGFjNmIyNTE5M2FmNTA3OTA3
YzdhZDU5NWQ1YmI3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0zNyw3ICszNyw2
IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hhcmVkL2xpbnV4L1dlYk1l
bW9yeVNhbXBsZXJMaW51eC5jcHAKIAotICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
CiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUdUSy5jbWFrZQppbmRleCBlMzYzODc5YmZlYzUzY2FkN2U1YTNlMTIwNjY3NTkyODhiYjQ0ZWUy
Li41NGNkZTM2MTY2MWM2OTZjNTc1NWYwNzllY2I5MTRmMmI3MmM1MzljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQpAQCAtNzMsNyArNzMsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJD
RVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKICAgICBTaGFyZWQvbGlu
dXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAotICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1Nv
dXAuY3BwCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKICAgICBTaGFy
ZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZv
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5m
b01hYy5tbQppbmRleCAzNGRkNDMxNTE5YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5l
NTBlMjRhOWNiOGNiNDA4ODBjZTBhZjA4YWM5NjQwNzYyNzNlZTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0K
QEAgLTMzLDcgKzMzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0
ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKLSAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZv
PiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CisgICAgUmVmUHRyPFdlYkNlcnRpZmlj
YXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJl
dHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVsZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0YzZmODFlOTUzOTBmZjcwZDM4MTgyYmRjOWI0MjZi
YTZlMDFhNTkxLi5kNmVjM2ZhMGQ3NGM4OWNlOWU4ZGM1ZWQ5MzhkYjdlYTIxZTg4N2EwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDcmVk
ZW50aWFsOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogfQogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7Ci1jbGFz
cyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZyYW1lOwogCiBjbGFzcyBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIg
ewpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMg
d2l0aCBvciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAg
IHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5
LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6
OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFsbGVu
Z2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYmIxY2MzMGNhNmJjNTkxYmRl
ZGVkNDFmMGY1MTk1ZWM3NmM5NjFkZC4uZTY5MTVjY2I2NWFkZjBiOWFkZTg0NDRjMWIyODgwNDIz
M2ZkNDdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBA
IC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0
aW9uTWFuYWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOworICAgIHZvaWQgVXNlQ3JlZGVudGlh
bEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBj
cmVkZW50aWFsLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7
CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVu
Z2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXgg
YzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3ZmUzNDFlNzY5YzI3NjAxMy4uMTk0NGQzN2ZjYjEwM2Nk
YWVjMmI1MmI2MGMwOTdhNzJjYmM5MGM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1F
V09SSykKIAotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8
U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaAppbmRleCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3
ZDA0ZThiLi45Y2E4YzMzODliNDFmNjAzOTJiM2ZjNGY4N2NmNTczM2NlNDZjN2ZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApAQCAtNTA0LDcgKzUwNCw3IEBA
IHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJ
T2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAgICAgICBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgICAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCmluZGV4IDA2MTgyZmNlMmZjNmQ1
OTdlOWY1ZjhjMDM5NTc3MTlhMmFhNjJhZjUuLjJjZDc5ZDdlMzIzN2JmMDQyODllNmVhMWFhNmRk
MzE3ZGU3ZThjMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZv
LmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAj
aW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNl
cnRpZmljYXRlSW5mbyA6IHB1YmxpYyBUeXBlZEFQSU9iamVjdDxBUElPYmplY3Q6OlR5cGVDZXJ0
aWZpY2F0ZUluZm8+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZp
Y2F0ZUluZm8+IGNyZWF0ZShjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBj
b25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgot
ICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHAKaW5kZXggN2VmZjNkNTJmMjcyYmMyZDJlYzljMzMzNGZlNDkzMDI2ZGQ4MWU4
Yy4uOTRmMGVjMDU1NmU3ZGRhY2QxYmI0NDJhZWY2MWRiZmE2ZTk3ZTA1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTQwLDYgKzQw
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ltYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0
YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC01NDUsNiArNTQ2LDIzIEBAIGJvb2wgQXJndW1lbnRD
b2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rlciwg
UmVzb3VyY2VSCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sK
KyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNv
ZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2Vy
dGlmaWNhdGVJbmZvOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2Vy
dGlmaWNhdGVJbmZvKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
dm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogICAgIGlm
IChrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBjYWU5ZDlhYzQ1MjVhNzc5YmMyNWVjMDdj
MjkwYzhhOTEzZjc0NjkzLi45OTQ4MzM4NjdhZmFlNWFhYzczZGU4MGViZWQxMjQ1YzNhYzAyNTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBA
IC00NSw2ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZh
bHVlTGlzdDsKICAgICBjbGFzcyBLVVJMOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsKKyAgICBj
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7
CiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBA
IC0xNjgsNiArMTY5LDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiB9OwogCit0
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0
IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7
CisgICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wg
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OlJlc291cmNlRXJyb3I+IHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgc3RhdGljIGNv
bnN0IGJvb2wga1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTFhMmYzMzE3OWYyZDE1NDBkNDkxYWQwNjgzYjk1
MjQwY2NjZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLSAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7
Ci0gICAgY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
Y2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7Ci0KLSAgICBDRkFycmF5
UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNv
bnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi0jaWZuZGVmIE5ERUJVRwotICAgIHZvaWQgZHVt
cCgpIGNvbnN0OwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IG1fY2VydGlmaWNhdGVDaGFpbjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5k
aWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM0YTczNTQ1YzViZDE2OGY2YWE5MjZkOTc0NjMxOGU0YTZjYThlMDIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBA
IC0xLDkxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQg
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0Yu
aCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVy
LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0K
LQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKHJl
c3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikK
LSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQotewotfQotCi12b2lk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZUNoYWluKSB7Ci0gICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNv
ZGVyIDw8IHRydWU7Ci0gICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVD
aGFpbi5nZXQoKSk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBjKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
aWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmbmRlZiBOREVC
VUcKLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAotewotICAgIHVu
c2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9j
ZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7Ci0KLSAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKLSAgICAgICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlT
dWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCht
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5TTG9nKEAiICAlQCIsIChO
U1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRpZgotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggYzEyNjAwMDNlYTE0ZjU2NTI1MGZlMGVjMGEyODMw
MTVhMzhmNmU0NS4uYzBkYzQ2ZTI2NGQwNDk4MjEwYzI2NGNhZWY2MGIwMjc1NjY2ODg1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI3LDE0ICsyOCwxNCBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBv
cnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlc3BvbnNlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzIsNiArMTMzLDM3IEBAIGJv
b2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKwordm9pZCBBcmd1
bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
biA9IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICBpZiAo
IWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBDOjplbmNv
ZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQ
Qzo6ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNl
cnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBO
U1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0
cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5s
ZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWI5ZGU2
OTgwZTAxZTU2NmU5NmE0ZmZhYTc5NTA2MTU0NDFmODIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKLSNpbmNs
dWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgewotICAg
IH0KLQotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdAotICAgIHsKLSAgICB9Ci0KLSAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
UXQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0
LmNwcAppbmRleCAzNWJmMjJmMGJhOWU1MWQ3NDE0MmQxZjdlMDZhMmJjZTkxNDMyY2JmLi5mNDE4
NDUzMDdmNDEwYzZhMTFmZjVkNGJlY2U5YmNiZWExZjdhZTU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKQEAgLTI2LDYg
KzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgpA
QCAtNTQsNiArNTUsMTYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+Ojpk
ZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFy
Z3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VFcnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2OTA0YjRhZTZlNWI1MzJiMDM5ZGQ1Y2ZkYTZlN2Vl
YmE2NzE0ZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIK
LSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0KLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICA6IG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNl
cnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vy
cm9ycygpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKLSAgICA6IG1fY2Vy
dGlmaWNhdGUocmVzb3VyY2VFcnJvci5jZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMo
c3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHJlc291cmNlRXJyb3IudGxzRXJyb3Jz
KCkpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCkKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2Vy
dGlmaWNhdGUpIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7Ci0gICAgZ19vYmpl
Y3RfZ2V0KEdfT0JKRUNUKG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAiY2VydGlmaWNhdGUiLCAmY2Vy
dGlmaWNhdGVEYXRhLCBOVUxMKTsKLSAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgewotICAgICAg
ICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2Rl
ciA8PCB0cnVlOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdS
ZWYoY2VydGlmaWNhdGVEYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0
ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmlj
YXRlLT5sZW4pKTsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3Rsc0Vy
cm9ycyk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBD
OjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
aWYgKCFoYXNDZXJ0aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBD
OjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVE
YXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6
ZSgpKTsKLSAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmlj
YXRlRGF0YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9
IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQg
PSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190
bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgTlVMTCkpKTsK
LQotICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vy
cm9ycykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNF
cnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQot
ICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzIzMWYzNmRiMzJmOGQ4YjQwMjY3YjZkYjQ1YzE0
N2Y2MWMwNTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotI2luY2x1ZGUg
PHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJn
dW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLX0K
LQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsK
LXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsK
LSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yJik7Ci0gICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5n
ZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0
dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotcHJpdmF0ZToKLSAgICBHUmVm
UHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVG
bGFncyBtX3Rsc0Vycm9yczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCBkYzRlMTE5
MTc1N2VjZTE3NWFkNDg1YTdhYTcyMjUyZmFmYWU4ODQ2Li5kNDQ4MGUxNTM2ZjAxODdkYzFmNmE4
OTM1NjdlZWJmYmE3NjAzMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBh
bnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjgsOSArNjksNjAgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgaWYgKCFwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0
ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNl
cnRpZmljYXRlRGF0YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAg
ICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29k
ZXIgPDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRH
UmVmKGNlcnRpZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5
dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZp
Y2F0ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGhhc0NlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFo
YXNDZXJ0aWZpY2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRh
UmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0g
Z19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsK
KyAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0
YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0g
YWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9
IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0
ZT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9u
ZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgp
LCBOVUxMKSkpOworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNl
cnRpZmljYXRlLmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBB
cmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewot
ICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7Cisg
ICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9
CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikK
QEAgLTc5LDggKzEzMSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhj
ZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCBm
ZTYzMzZhMTAxNTYzZjFiZTE2ZDViMGQ4MTczNDhkNTdlNTVkNDM3Li5jNTc1NTI1ZGQ5ZGQ2NjQz
ODFjYzM2MTJlMDk2YzVkNmM0MWIxZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTE0OCw3ICsxNDgsNiBA
QCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKICAgICBT
aGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBcCiAgICAgU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmggXAogICAg
IFNoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29y
a1JlcXVlc3REYXRhLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyOTQ5NzA5MGRiNjA3ZGJjYTlmMDFhYjlmNDRjOTMy
N2U0ODIxYzFmLi41ZTA5NDdkYzQ3MGQyY2Q2YTkxZDdhYjIyYzk3MTFiMDAzNjA4OGQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1
ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1l
bnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNjEsNiAr
NjAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HT3duUHRyLmg+CkBAIC0yOTMwLDcgKzI5MzAsNyBAQCBnYm9vbGVhbiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0
aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAot
ICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWlu
RnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAg
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8g
PSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
OwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNh
dGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1
NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgzODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYxODljZTIz
MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBA
IC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3Jl
ZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3Jl
ZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2Vy
dGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3Jt
SW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/
IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1f
Y2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3
MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5
NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJG
cmFtZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVh
Y2hhYmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQogewogICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQ
cm92aXNpb25hbCk7CiAgICAgbV9sb2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJk
MTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFh
ODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAg
LTQwLDEwICs0MCwxNCBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlv
bjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNs
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJs
KTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1p
dExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRp
ZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRp
b24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IGY1N2I2NTM3N2E1YmFmM2Q3MDQyMjFhNzhkYTkzOTMwZWYyNzk1MDEuLjJk
MmM5NTJlZDAzZTExN2Y1MzQ2ZjI1NmY0MTRiZmRlODUwMDhiYTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAg
ICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAg
ICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0
cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNzIE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0
aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2Fy
ZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpAQCAtODA3LDcgKzgwNyw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxl
VVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQ
cm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENv
bW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
LCBib29sIGZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGZyYW1lTG9hZFR5
cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRpb24s
IHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmYzJmYzNlNTc1MGFjYzkwMTUxMWE0OWEzY2Y1ODJi
OTYzYWUyZjY4Li40Y2FmODE2ZThkMGZlNTVkNmJiMDliNWZkODA3NzBkMzI2OWZkNGRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
QEAgLTExNCw3ICsxMTQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENy
ZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2Fn
ZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJp
bmcgbWltZVR5cGUsIGJvb2wgaGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGxvYWRU
eXBlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMK
KyAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcg
bWltZVR5cGUsIGJvb2wgaGFzQ3VzdG9tUmVwcmVzZW50YXRpb24sIHVpbnQzMl90IGxvYWRUeXBl
LCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAg
ICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVz
ZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZp
bmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2Y3Mzk3
MDA5N2ZjNzg4ZmUwZTNiYzlkOTkzODkzM2M1YmY4NTQzNi4uYTRhZWU1MDkyMjYwOGJhYzdlOGNi
NGIxZmM3ZGIwMjMwY2IzOWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA2Nyw4ICsxMDY3LDYgQEAKIAkJQkNGMTg2Mzgx
NjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hl
TW9kZWwuY3BwICovOyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50LmggKi87IH07CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3Vw
cGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07
Ci0JCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJD
RjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3
MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFB
NTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNs
aWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAt
MjU4Myw4ICsyNTgxLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9k
ZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFG
QyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0
REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUw
NUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1
QUUgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFt
ZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM1Myw4ICs0MzQ5LDYgQEAKIAkJCQlDNTc0QTU4
MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQy
MTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTND
QzA1MzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3
QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUx
Q0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMUFGMUFD
NkExNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi8sCiAJ
CQkJMUFGMUFDNjkxNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Lm1tICovLApAQCAtNTQ1NSw3ICs1NDQ5LDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZF
OTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NC
RkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA2
MTQxMkIwMTEzMTAwOEU0OUUyIC8qIFBERlZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMEND
Mjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTZGQjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTY3
MTksNyArNjcxMiw2IEBACiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdp
blBhc3N3b3JkRmllbGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAx
OTdFNDcgLyogUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
QUFGMDYxNTEyQjAxMTMxMDA4RTQ5RTIgLyogUERGVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNl
cyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyog
UGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFF
NjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMx
NjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTM1N2JiY2Y0NDAwNGNkM2E1MjQ3N2U1NjM2ZDVhYjcy
Y2QyNGNiNi4uOGFkZmY1YzU0OGY4NTM2MjRhYjM3ZmVlY2IxZDdhOTA1MzBlNzkyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9y
cy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50
TG9hZGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CkBAIC0x
MDYsNyArMTA2LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
V2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3AKICAgICBSZWZQdHI8V2ViUmVz
b3VyY2VMb2FkZXI+IHByb3RlY3Rvcih0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFp
bihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHku
c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVM
b2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9j
b3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3Bv
bnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5o
CmluZGV4IGIzN2U5YjBmMDkyODA5MTVmYTViMjRmNTA5NjZjMDNkMDlkNmIwMjQuLmU4NGYwZjI1
MmRlNzU4YjM5NmYzOWFkNTMyZjhiNzE3YmY5MDQxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0
MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2Ns
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xh
c3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElk
ZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03
Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVz
U2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRo
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZv
aWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRp
ZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDJhYzI2NDkwOWYxNTYxZjhkZDdlNzRlYTMxNGYw
ZjYzNDcyZjhiMDcuLmU2MWE5ZTQ0OGFiMWU0YTNkMmQzMWI1NGQ1YzU4ZDM5NWEyNzAxNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI3LDcgKzI3LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3
b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25z
ZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAg
ICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0Jl
U2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQo
ZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBj
MWQ3ZGU0YjkyYTk1NzZlZTU4Nzg5Y2FiN2FlMGI0OWUyNDdmZTM5Li4xNGZjYTVlMDVjNjYwNTI1
ZTJmZTViOWUyYWQ5Mzc4ZjBiMzgyM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93
RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUg
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1l
c3NhZ2VzLmgiCkBAIC02Nyw2ICs2Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdp
bkRvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTQ0
Myw3ICs0NDMsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1p
dExvYWQoKQogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1l
LT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWVIYXNDdXN0b21SZXByZXNl
bnRhdGlvbiwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5sb2FkVHlwZSgpLCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVz
cG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZUhhc0N1c3RvbVJlcHJlc2VudGF0aW9uLCBtX2ZyYW1l
LT5jb3JlRnJhbWUoKS0+bG9hZGVyKCktPmxvYWRUeXBlKCksIHJlc3BvbnNlLnBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRh
LmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209637</attachid>
            <date>2013-08-26 04:35:21 -0700</date>
            <delta_ts>2013-08-26 05:14:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130826133518.patch</filename>
            <type>text/plain</type>
            <size>98655</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ4OTdiZTBjOTgwMTMz
ODdjYmFmYjQ0M2ZkMTFmODBjNzIxMjljMS4uOTU0YjYzZjJiNDcyMTRhZjNiYjRlNTIxNjhjMmQw
Nzc1MzM4Mzk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA4LTI2ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA4LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBGaXggY29tcGlsZSB3YXJuaW5nIGluIFdlYktpdERPTUN1c3RvbQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDIxMjZlMWUzZmZlYWM1MmExZjE1NDdlMzkwN2ZkOTc3MmEyNDk5MzMuLmVmZDczNzll
YzczZDQ5OTc5ZDQ4YmZlODQ3MDg0MzE5YmFmZjMxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2
OSBAQAorMjAxMy0wOC0yNiAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0Pgor
CisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZSBhbmQgbWFr
ZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVybXMgb2YgdGhhdCBw
bGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGdldHRlciBhbmQg
c2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNl
QmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVzCisgICAgICAgIGJl
Y29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxh
dGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVycworICAgICAgICBv
ZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0aGUKKyAgICAgICAg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlQXN5bmMpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAg
ICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAg
ICAoV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKToKKyAgICAgICAg
KiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAg
ICAgIChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZp
Y2F0ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0
ZUluZm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZSk6CisgICAgICAgIChD
b3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgor
ICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQ
Qzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHA6CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0wOC0yNiAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRk
IG1pc3NpbmcgaW5pdGlhbGl6ZXIgZm9yIHBsdWdpbkxvYWRQb2xpY3kgaW4gV0tQYWdlTG9hZGVy
Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhMDY0MjA0YTUzODIxM2Zk
M2MxYWRlY2U3ZWVlZmY1MzI0OWU1YTA1Li41NjdkMmQ3ODMzZGRjODEwMTA1Yzk0M2YwMzE3Y2Vm
NGViMWE0MzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU0ODMsNiArNTQ4
Myw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ29va2llSmFyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmggXApAQCAtNTUx
Miw2ICs1NTEzLDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291
cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDIwYTg4ZjZmNzIyMTRmZTNkYjMyYzUwNzg5ZWVhMTc4ZGVhMWFhMTEuLjA2N2QzZmM1
ZDJjN2RkMTRhZTE0YTA3OWVjZGJhMDIyMDJkZWFjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC0xNTAsNiArMTUwLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9z
b3VwL0dPd25QdHJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3Rv
cmFnZVNlc3Npb25Tb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5UmVz
b2x2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNlcnZlclNvdXAu
Y3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggMWQzYTg3NjBmYWRkMDVlNTQzYzExMzBlYmU1MTkxYzNmOWEzYTIyMC4uNWU0
MTYzMmY2YWVkNWRmZWZhYjBlY2U4YTVlNjY4NWUyZjQ2NDcyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0y
MzEwLDYgKzIzMTAsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtpbmdDb250ZXh0LmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50VHlwZS5oIFwKKyAgICBw
bGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm90
ZWN0aW9uU3BhY2UuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm94eVNlcnZlci5oIFwKQEAg
LTI5MDQsNiArMjkwNSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQv
UmVzb3VyY2VSZXF1ZXN0UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L0ROU1F0LmNw
cCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9OZXR3b3JrU3RhdGVOb3RpZmllclF0LmNwcCBc
CisgICAgcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcCBc
CiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9Qcm94eVNlcnZlclF0LmNwcCBcCiAgICAgcGxhdGZv
cm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdv
cmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
OTkxODliNzY5MzZmNWNlZTllMjM3OWExZGMxZGJlZDc0MzFhODMyMC4uZDFiMWU0YmIyYjA3ZDlk
Nzk3ZWM0MjE0MGYxZDE4ZGJmNzFkMDljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2Nyw2
ICs3NjcsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0
aGVudGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50
aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43
V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRp
b25FdgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2Vi
Q29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xOXNldENlcnRpZmljYXRlQ2hhaW5FUEs5X19D
RkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFy
cmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJD
b3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0QxRXYKK19fWk5LN1dlYkNvcmUyM1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hy
b25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNv
cmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJ
UE5TXzROb2RlRUxtMEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0
YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGRmODU4YzU3ZWQxMWU1MzM5YzVhNGZmMzVl
MTM4MzlkZDNhMDM5OGQuLjJjNDRkOWY1YTU0ZTBlZTRhZjBmNDQxNjNjYzllMTZkYTk2NTE5YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtMTk2MDUsNiArMTk2MDUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cbmV0d29ya1xOZXR3b3JrU3RhdGVOb3RpZmllci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5
cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZUhhc2gu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCA4OGI0ZjU4ODg1ZjU5ZDA0OTY4YjhkYjMwYjYxNzUyZjQz
ZmVlOWUzLi5kNzc1NmQ1YmRkODdlNjBiYTc1M2FkNDlmZTgzMGQ3YzQzMDk2MTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC04ODU3LDYgKzg4NTcsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+cGxh
dGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIj4K
KyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNv
b2tpZUphci5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDZmMjMxNDNhNzcxZTg4NzRhNmNmMDFhNjY5NDlmODYxNGQ1M2Y5
NDAuLjVlMzA4M2UxNTQ4OTkyMjk0MzNjZmY2NmI2ZmUyNWQzOTI1ZmRiZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2Nzgs
NyArMTY3OCwxMCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlO
YW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMu
aCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhC
QTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThG
NTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8q
IFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2
MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07CisJCTVGRTFEMjkyMTc4RkQxRjMw
MDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJp
dHkuZnJhbWV3b3JrICovOyB9OwogCQk2MjZDREUwRTExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlh
bE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAq
LzsgfTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwRDEx
NDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2MjhEMjE0QzEyMTMxRUQxMDA1NURDRkMg
LyogTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04
MDQwLDcgKzgwNDMsMTAgQEAKIAkJNURBOTdFQ0MxNjhFNzg3QjAwMEUzNjc2IC8qIFN5c3RlbVZl
cnNpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0
ZW1WZXJzaW9uTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2ODEw
NzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VM
aWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMy
RDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI4NjgsNiArMTI4NzQsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMjk3MSw2ICsxMjk3
OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNDQ1NSw2ICsxNDQ2Myw3IEBACiAJCQkJRTEzRUYzNDIxNjg0
RUNGNDAwMzRDODNGIC8qIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oICovLAogCQkJCTQ0Nzk1ODAy
MTY0M0I0N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgKi8sCiAJCQkJNDQ3OTU4
MDMxNjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmggKi8sCisJCQkJNUYyREJC
RTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJCQkJ
NTE0Qzc2NUYwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5jcHAgKi8sCiAJCQkJ
NTE0Qzc2NjAwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5oICovLAogCQkJCTUx
QTA1MjU1MTA1ODg3NDAwMENDOUU5NSAvKiBQcm90ZWN0aW9uU3BhY2VIYXNoLmggKi8sCkBAIC0x
NDQ5Nyw2ICsxNDUwNiw3IEBACiAJCQkJNTE0Qzc2NDQwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1E
YXRhU3RyZWFtTWFjLmggKi8sCiAJCQkJNTE0Qzc2NDUwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1E
YXRhU3RyZWFtTWFjLm1tICovLAogCQkJCTFBN0ZBNjQ3MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3
b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgKi8sCisJCQkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCTUxNEM3NjQ2MENFOTIz
NEUwMDdFRjNDRCAvKiBSZXNvdXJjZUVycm9yTWFjLm1tICovLAogCQkJCTUxNEM3NjQ3MENFOTIz
NEUwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZU1hYy5tbSAqLywKIAkJCQk1MTRDNzY0OTBDRTky
MzRFMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0TWFjLm1tICovLApAQCAtMjI5MjIsNiArMjI5
MzIsNyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVy
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRm
b3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgx
IC8qIFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0Ex
NzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FBNDg3MDE0QTA1MjUzMDA4OEZBQzQgLyogUGxh
dGZvcm1FdmVudEZhY3RvcnlNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMjY5MjUsNiArMjY5MzYs
NyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVs
ZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4
NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZE
MTc2MkRGMTc2Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRkQxNzYyRTMxNzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTYxYjdiZDE2NmRhODE2
OTMzN2Y2NTM2YThjZWE5MmZiNjQ5MTdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEs
NzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAy
MDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvX2gKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRX
T1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9p
ZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7
IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUp
IHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVG
bGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQg
c2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9y
cyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8
fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBh
cnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQg
dG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRy
PEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFn
cyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFk
ZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNmMjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2
YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VFcnJvckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3Vy
Y2VFcnJvckJhc2VfaAogI2RlZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91
dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0K
IAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2
b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
ID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUo
Y29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVk
OgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAg
IFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247
CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
ICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29s
IG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDQ5YmRjNzAzODk3OGM0Y2ZjZWQ4YWQ2MGEz
MzRhNmI3NDZiOGY5ZjguLjA3NWE3NGE2YzY5NDUwY2RhN2Y4NmRiYTVhNWRmYWJiMjU0YTg4YzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJN
YXAuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CkBAIC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9h
ZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJj
ZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNz
IG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1l
bW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QK
ICAgICB7CkBAIC0xNTIsNiArMTU2LDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29u
bmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8
UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lz
TnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0
OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3MjhlNjI0ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VS
ZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzExNyw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsK
ICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0
aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0
aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFm
dGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRl
Q2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3Bs
YXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9N
YWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2Vy
dGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFp
bi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVCVUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRl
Q2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisK
KyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAg
RW50cmllczogJWRcbiIsIGVudHJpZXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBl
bnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0g
YWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVS
ZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7
CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAg
IH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5t
bQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1
ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2UwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0K
QEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21w
YXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291
cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNo
YWluKQogewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4o
bnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0
aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNh
dGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJl
c291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAogewotICAgIGlmIChtX2V4
dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZp
Y2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
Q2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxS
ZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODlj
NTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAw
Yzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDAp
KQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVm
MTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRm
YWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3Mg
UmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgogICAgIFJl
c291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0
cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAg
ICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwg
bG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAg
ICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNv
dXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0
YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAot
ICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0g
ICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0g
dGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2ln
bmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhz
dGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0
Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9y
bUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29t
cGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQot
ICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBt
X2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUw
NTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZj
NzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAy
MDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
OTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihj
b25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1D
b3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9j
ZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0g
bV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRm
b3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBi
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZVJlc3BvbnNlLmgKaW5kZXggMzcwZjQzMGI2OWY3NWJhNjI4NzdlNjNlMGY0OTNjMDliZmQy
MWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJhMzRhY2QwOTg0MTdjNjhjNTUzNjc4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1Ymxp
YyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgp
CiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZsYWdz
KHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3Jz
KHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAg
ICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdO
YW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VC
YXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxl
bmFtZSkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
PigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoU291cE1lc3Nh
Z2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0K
QEAgLTY3LDExICs2MSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29u
dGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZv
aWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVk
Q29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2Fn
ZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAg
IHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlm
aWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJy
b3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVG
bGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2Vy
dGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBs
YXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAt
ODAsOCArNzQsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFn
czsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2Vy
dGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNF
cnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdi
MjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJl
c291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9tZXNzYWdl
X3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0
KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUu
Z2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3Nl
dChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90
IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEw
IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNz
YWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxh
Z3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7
Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZp
Y2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7Cisg
ICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRf
aHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAg
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAg
bV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAK
ICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9o
ZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDc4YzM0YWQzMTY4
ZDYxNTdlYTEyZmNhYzE3ZDk0ZDk4N2JkZWFmNTEuLjgyOTkzZmQyNDJiZDBlNDk1MGJiOTE3NzZh
YzJkMTliYTdhYjQ3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDcwLDgg
KzQ3MCw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nl
c3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzMjYs
OCArMTMyNCw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCA3NWVlY2ExMjU4YTZlNjY3NDg4OTczNDM3
M2VkODNkNjhmZDQwMmI5Li45YzczZmIzZTYwOGY4MDk2NGIxYTg5YThjMmMxMmZiYWQ2MTkyNWJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1No
YXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCkBAIC02MSw3ICs2
Miw3IEBAIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6Y2FuQXV0aGVudGlj
YXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShOZXR3CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29y
a0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKE5ldHdvcmtSZXNvdXJjZUxvYWRlciog
bG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBsb2FkZXIt
PnNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJl
Y2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKHJlc3BvbnNlKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwor
ICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxv
YWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgcmVz
cG9uc2UucGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVz
b3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRp
ZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZl
ciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAwMGY0MDY4Y2Y4MDEyODNhMmI4NmYw
NWRmYmI1YTU0Nzk1YjMxYWRhLi41Mjg4MjRjNjBjMmIyNjc5Yzc3YjZlZGU3MTFkOWU4MTUyNDZk
MjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVuTG9vcDsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOworY2xhc3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCw3
ICs0NSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2Vy
OwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0cnVjdCBO
ZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3Mg
OiBwdWJsaWMgQ2hpbGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsK
QEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRD
YWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYg
aG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3Qp
OwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNr
SUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9D
bGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTVmY2JjN2JlOTQwMjgwN2MxZTU1NjJhM2Vl
NjlmZjYwNjk4NWRkNy4uOWNiYWFhYmZjMGMzMTljN2U3NTkzYWNkYmJiMzhkNjBkNTliZGYwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1By
b2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQo
Ym9vbCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpT
dHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhv
c3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxi
YWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA5MWU0NGRmZDQ4YTNkMDU5OTZiODVlYjY2
NWQ3NjhlMTkwYjBlYjA5Li4xNmQ3YTIxZTg4ODVkYmY1ODQ0NGFiZTIxZTNjODMzNWIwODJlZjVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1v
cnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbQppbmRleCAwODg0NTJlMDM2NTliODliMzMxNDQzMGIyOGZlNTdhZjk4
MDVkYzQzLi4wMWI4ZjRhZmM2YWFjM2FmODIxYTBkYmYwMGIxNThiODIwZWY0NTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNz
TWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2lt
cG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNlQ2FjaGVz
VG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAiU2FuZGJv
eEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgi
CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxp
emVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
PgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL2hvc3Rf
aW5mby5oPgogI2ltcG9ydCA8bWFjaC9tYWNoLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmlu
ZGV4IDQ4OTVlOThlMjY3NTRkM2RmNWEwNTg2ZDA0YzY1OTZlZWExMjA4ZWEuLjg5OTY4YTNiNzEz
N2I1Y2I1OTQ3Y2YyODA5OWIwYWFkYjE0OTdiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC0zNyw3ICszNyw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hh
cmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKIAotICAgIFNoYXJlZC9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA2YTdhYTYxODNlOWUxZjU0YWRjMDAxNzM5
YWVlOTc0Y2VkMGZjZGI0Li5kNjhmNGUxNmY5YzhmMzI1MWFjYzBhMmJiOWIzMTY1NTJkMTY5ODJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNzQsNyArNzQsNiBAQCBsaXN0KEFQUEVO
RCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2Fs
bC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAK
ICAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAotICAgIFNoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxl
ci5jcHAKICAgICBTaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1
bGVYMTEuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dL
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5YTM5OWEzZGQ4M2UwZTgyM2Y0
MzQ3NWMyZTNiZmFiLi5lNTBlMjRhOWNiOGNiNDA4ODBjZTBhZjA4YWM5NjQwNzYyNzNlZTBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTMzLDcgKzMzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZp
Y2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKLSAgICBSZWZQdHI8V2Vi
Q2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNy
ZWF0ZShQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CisgICAgUmVm
UHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJ
bmZvOjpjcmVhdGUoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVD
aGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVsZWFzZSgpLmxlYWtS
ZWYoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0YzZmODFlOTUzOTBmZjcw
ZDM4MTgyYmRjOWI0MjZiYTZlMDFhNTkxLi5kNmVjM2ZhMGQ3NGM4OWNlOWU4ZGM1ZWQ5MzhkYjdl
YTIxZTg4N2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsK
ICAgICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xhc3Mg
RG93bmxvYWQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZyYW1l
OwogCiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBs
ZW1lbnQsIHB1YmxpYyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBDb3JlSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIgewpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVk
IGZvciBkb3dubG9hZHMgd2l0aCBvciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZv
aWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlh
bEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVu
dGlhbCYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCB1c2VDcmVk
ZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpD
cmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAg
ICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
KTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBi
b29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50
aWZpZXJGb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2Um
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYmIx
Y2MzMGNhNmJjNTkxYmRlZGVkNDFmMGY1MTk1ZWM3NmM5NjFkZC4uZTY5MTVjY2I2NWFkZjBiOWFk
ZTg0NDRjMWIyODgwNDIzM2ZkNDdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2Vz
IC0+IEF1dGhlbnRpY2F0aW9uTWFuYWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRp
YWwsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOworICAgIHZv
aWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29y
ZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3ZmUzNDFlNzY5YzI3NjAxMy4u
MTk0NGQzN2ZjYjEwM2NkYWVjMmI1MmI2MGMwOTdhNzJjYmM5MGM4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMv
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgVVNF
KFNFQ1VSSVRZX0ZSQU1FV09SSykKIAotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCAwMDIyZjMxMDU1ZTk0YzY4NTgw
ZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi45Y2E4YzMzODliNDFmNjAzOTJiM2ZjNGY4N2NmNTczM2Nl
NDZjN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2Rl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApAQCAt
NTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAgICAg
ICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICAg
ICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY29k
ZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCmluZGV4
IDA2MTgyZmNlMmZjNmQ1OTdlOWY1ZjhjMDM5NTc3MTlhMmFhNjJhZjUuLjJjZDc5ZDdlMzIzN2Jm
MDQyODllNmVhMWFhNmRkMzE3ZGU3ZThjMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0aWZp
Y2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1YmxpYyBUeXBlZEFQSU9iamVjdDxBUElP
YmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm8+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNy
ZWF0ZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsK
ICAgICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9
CisgICAgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsg
fQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAg
IDogbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggN2VmZjNkNTJmMjcyYmMyZDJlYzljMzMz
NGZlNDkzMDI2ZGQ4MWU4Yy4uOTRmMGVjMDU1NmU3ZGRhY2QxYmI0NDJhZWY2MWRiZmE2ZTk3ZTA1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC01NDUsNiArNTQ2LDIzIEBA
IGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgUmVzb3VyY2VSCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJn
dW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURh
dGEoZGVjb2RlciwgY2VydGlmaWNhdGVJbmZvKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVy
cm9yKQogewogICAgIGlmIChrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBjYWU5ZDlhYzQ1
MjVhNzc5YmMyNWVjMDdjMjkwYzhhOTEzZjc0NjkzLi45OTQ4MzM4NjdhZmFlNWFhYzczZGU4MGVi
ZWQxMjQ1YzNhYzAyNTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCkBAIC00NSw2ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBLZXlmcmFtZVZhbHVlTGlzdDsKICAgICBjbGFzcyBLVVJMOwogICAgIGNsYXNzIE5vdGlm
aWNhdGlvbjsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQ
cm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CkBAIC0xNjgsNiArMTY5LDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZT4gewogICAgIHN0YXRpYyBib29sIGRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHsKICNpZiBQTEFURk9STShNQUMp
CiAgICAgc3RhdGljIGNvbnN0IGJvb2wga1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTFhMmYzMzE3OWYyZDE1
NDBkNDkxYWQwNjgzYjk1MjQwY2NjZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb19oCi0KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLSAgICBjbGFzcyBB
cmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3Bh
Y2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgot
ICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxp
Y2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7
Ci0KLSAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2Nl
cnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1
bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi0jaWZuZGVmIE5ERUJV
RwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVDaGFpbjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0YTczNTQ1YzViZDE2OGY2YWE5MjZkOTc0NjMx
OGU0YTZjYThlMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQor
KysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25m
aWcuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbXBvcnQgIkFy
Z3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2ltcG9ydCAi
QXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3Bh
Y2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0
aWZpY2F0ZUNoYWluKHJlc3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkKLXsKLX0KLQotUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWlu
KQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0
ZUNoYWluKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIs
IG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVy
biB0cnVlOwotCi0gICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmlj
YXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotI2lmbmRlZiBOREVCVUcKLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBj
b25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFy
cmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7Ci0KLSAgICBOU0xvZyhA
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczogJWRc
biIsIGVudHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kp
IHsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWND
ZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5T
TG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRp
ZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggYzEyNjAwMDNlYTE0ZjU2
NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NS4uYzBkYzQ2ZTI2NGQwNDk4MjEwYzI2NGNhZWY2MGIw
Mjc1NjY2ODg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJD
b3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDE0ICsyOCwxNCBAQAogI2ltcG9ydCAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBv
cnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRl
cmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzIs
NiArMTMzLDM3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKKwordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbiA9IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hh
aW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBm
YWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAg
ICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOwor
ICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0
aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7
CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3Rl
cnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkg
bGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMWI5ZGU2OTgwZTAxZTU2NmU5NmE0ZmZhYTc5NTA2MTU0NDFmODIwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAot
I2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlICJBcmd1bWVudERl
Y29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVzcG9uc2UuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpCi0gICAgewotICAgIH0KLQotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKQotICAgIHsKLSAgICB9Ci0KLSAgICB2
b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdAotICAgIHsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzUXQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVB
cmd1bWVudENvZGVyc1F0LmNwcAppbmRleCAzNWJmMjJmMGJhOWU1MWQ3NDE0MmQxZjdlMDZhMmJj
ZTkxNDMyY2JmLi5mNDE4NDUzMDdmNDEwYzZhMTFmZjVkNGJlY2U5YmNiZWExZjdhZTU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNR
dC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXNwb25zZS5oPgpAQCAtNTQsNiArNTUsMTYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291
cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUK
IH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShB
cmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2OTA0YjRhZTZlNWI1MzJi
MDM5ZGQ1Y2ZkYTZlN2VlYmE2NzE0ZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbmNsdWRlICJBcmd1
bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8bGlic291cC9zb3Vw
Lmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICA6
IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsKLX0K
LQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25z
ZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5z
b3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJv
cikKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzb3VyY2VFcnJvci5jZXJ0aWZpY2F0ZSgpKQotICAg
ICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHJlc291cmNl
RXJyb3IudGxzRXJyb3JzKCkpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsK
LSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9
IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAiY2Vy
dGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKLSAgICBpZiAoIWNlcnRpZmljYXRl
RGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVZh
cmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUt
PmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVp
bnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJh
eSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlf
YXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwg
Y2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0Jh
Y2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlm
aWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19p
bml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwg
MCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5n
ZXQoKSwgTlVMTCkpKTsKLQotICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZp
Y2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
dGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzIzMWYzNmRiMzJmOGQ4
YjQwMjY3YjZkYjQ1YzE0N2Y2MWMwNTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0j
ZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPGxpYnNvdXAvc291
cC5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJ
UEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwot
ICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4g
bV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9y
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotcHJp
dmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBH
VGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cAppbmRleCBkYzRlMTE5MTc1N2VjZTE3NWFkNDg1YTdhYTcyMjUyZmFmYWU4ODQ2Li43ZTI4Yzkw
YzU5MzFhNjljNDU1MDgwYjI4NzMxOTM0NTBkOTc1YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAt
MSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1v
YmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjgsOSArNjks
NjAgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZp
Y2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0
X2dldChHX09CSkVDVChwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNl
cnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgMCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURh
dGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5k
YXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50
MzJfdD4ocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlm
aWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVu
Y2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNl
cnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZp
Y2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2Vu
ZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdU
bHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUo
Z19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5k
KSwgMCwgMCwKKyAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwg
MCkpKTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZp
Y2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPih0bHNFcnJvcnMpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBl
bmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOworICAgIGVu
Y29kZXIgPDwgcmVzb3VyY2VFcnJvci5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogfQogCiBi
b29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC03
OSw4ICsxMzEsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNv
dXJjZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsK
LSAgICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3Jz
KCkpOworICAgIHJlc291cmNlRXJyb3Iuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlm
aWNhdGVJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggN2JhYzM4
M2YyZjRlZGUzYTFjOWM0MzFlZDk2NmU0YzcxYWJlNDUyYi4uNWYwOTg5OGU5YjA3NDY4ZjkyZWMz
MGY5NGFiZTZiMmE2MTA2YmRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNTQsNyArMTU0LDYgQEAgSEVB
REVSUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCiAgICAgU2hhcmVk
L3F0L0FyZ3VtZW50Q29kZXJzUXQuaCBcCi0gICAgU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggXAogICAgIFNoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5oIFwKICAgICBTaGFy
ZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXF1
ZXN0RGF0YS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKaW5kZXggNzJmZTY2YTQyZWFkMjJmYWYyZDlhNDg1YTk5MTIyNTMyNjIy
ZmVkMi4uNTgxZGFjNTkxZjhkY2YxOTcyMjgwY2U1M2EyMDA5ZjQ5NWI3NGQwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNpbmNsdWRlICJJ
bWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRl
bS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAgLTYyLDYgKzYxLDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3du
UHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HdGtVdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQ
dHJDYWlyby5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dv
YmplY3QvR093blB0ci5oPgpAQCAtMjk3Miw3ICsyOTcyLDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dl
Yl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNh
dGUqKgogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1l
LT5jZXJ0aWZpY2F0ZUluZm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25z
dCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFp
bkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICBpZiAoY2VydGlmaWNhdGUpCiAgICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpOwogICAgIGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKaW5kZXggOWY2NDg4NWFlODg0ODRkYzc0MTUxNTcyOWY1
NTRiOWY1MjZhNWRkNS4uYTk4MzgyYWVkMzI4NDVkMDdkMTYzNzU2ZDJiNWE2MTg5Y2UyMzFmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYs
NyArNjYsNyBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRp
YWwoV2ViQ3JlZGVudGlhbCogY3JlZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBX
ZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmlj
YXRlSW5mbygpOwotICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8g
PSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkgOiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAgICAgICBXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0
aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxs
ZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2Mx
ZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQyZjMuLjYyNTJiZTYwNTg1YTYzNDU1OTcwN2Y3
Y2JmNjhiNDJjMDAwNzE3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQ
cm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFjaGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJs
ZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKIHsKICAgICBBU1NFUlQobV9sb2FkU3RhdGUgPT0gTG9hZFN0YXRlUHJvdmlz
aW9uYWwpOwogICAgIG1fbG9hZFN0YXRlID0gTG9hZFN0YXRlQ29tbWl0dGVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggMGJlZTY2NmZmZmQ0YWYyZDExYjVm
YzdkYWQyNzQ4YTI2OTZiNmFkNS4uOWIzZTZjMTk3NGY1MDA4YzExNDViZWY3ZGQxNTlhYTg3ZDcx
OGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCwx
MCArNDAsMTQgQEAgbmFtZXNwYWNlIENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9
CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwor
fQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKwogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xh
c3MgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5OwpAQCAtMTA2LDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAg
ICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2Fk
KGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Jik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBz
ZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA4YTE5NjAxMjgzZGM1ODJhYjIwZmI1YTU4YjY0ODA2NWUzYzdmMTUzLi43ZDRlMmY3
ZGM3MTdhNjdmYzk4ODAzYTQ1MzQ0ZmU0YWFjMDQzNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDIsNiArMTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIEZsb2F0UmVjdDsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNs
YXNzIEludFNpemU7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xh
c3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBzdHJ1Y3Qg
RmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEzMyw3ICsxMzQsNiBAQCBjbGFzcyBOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIE5hdGl2ZVdl
YldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0
OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTgwOCw3ICs4MDgsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0
cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWlu
dDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9h
ZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBk
aWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCA5YmI5ZDU1NjA5OGM4YzMxZDg4ZDFjMDg0M2FiMTE1ZTRmZWEwZTBmLi44N2QyYjFk
NDg4NjRjMmQ2OGU3YTVlMzg5ZGIzZWI5NDJmMTIxMDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExNiw3ICsxMTYsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQz
Ml90IGxvYWRUeXBlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRl
SW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkg
VmFyaWFkaWMKKyAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RG
OjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6
OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAg
IERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjE1N2U5OWU4YjUzYzdhZWE0ODZmMzZiYTQz
ZWNlMDFiOWRlNDE5Zi4uNzZhYmM5YzI0NzQwODI2ZjdiMDVkZDJiYzQ2ZjViZDg4ZjA2NGM1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTA0NSw4ICsxMDQ1LDYgQEAKIAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENh
Y2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlC
Q0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0
QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRE
RTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0
QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0Iw
MDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVB
RSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8q
IFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5m
by5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2
OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi87IH07CiAJCUJD
RjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFB
NTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAtMjUxMiw4ICsyNTEwLDYgQEAKIAkJ
QkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1
cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nl
c3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMg
LyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1QUUgLyogU2VjdXJpdHkuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFi
c29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0
ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2VydGlmaWNhdGVJ
bmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjY5Rjg0MTE3NkNENkYwMDQ3
MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNDI0OCw4ICs0MjQ0LDYgQEAKIAkJCQlDNTc0QTU4MDEyRTY2NjgxMDAyREZFOTggLyog
UGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQyMTUzQ0JGRDcwMEI2MDg3NSAvKiBQ
REZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTNDQzA1MzAwQjYwODc1IC8qIFBERktp
dEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgz
OCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMUFGMUFDNkExNjUxNzU5RTAwQzE3RDdGIC8q
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi8sCiAJCQkJMUFGMUFDNjkxNjUxNzU5RTAw
QzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tICovLApAQCAtNTI2OCw3ICs1
MjYyLDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0
SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8q
IFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNG
NTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1l
bnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyog
UGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2RkI3RDMx
MUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oIGluIEhlYWRlcnMgKi8sCkBAIC02NDQ3LDcgKzY0
NDAsNiBAQAogCQkJCTJEMkFERjEwMTYzNjREODIwMDE5N0U0NyAvKiBQREZQbHVnaW5DaG9pY2VB
bm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFG
IC8qIFBERlBsdWdpblBhc3N3b3JkRmllbGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYw
OTE2MzYyREQ1MDAxOTdFNDcgLyogUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNl
cyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyog
UGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFF
NjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMx
NjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTM1N2JiY2Y0NDAwNGNkM2E1MjQ3N2U1NjM2ZDVhYjcy
Y2QyNGNiNi4uOGFkZmY1YzU0OGY4NTM2MjRhYjM3ZmVlY2IxZDdhOTA1MzBlNzkyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9y
cy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50
TG9hZGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CkBAIC0x
MDYsNyArMTA2LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
V2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3AKICAgICBSZWZQdHI8V2ViUmVz
b3VyY2VMb2FkZXI+IHByb3RlY3Rvcih0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFp
bihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHku
c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVM
b2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9j
b3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3Bv
bnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5o
CmluZGV4IGIzN2U5YjBmMDkyODA5MTVmYTViMjRmNTA5NjZjMDNkMDlkNmIwMjQuLmU4NGYwZjI1
MmRlNzU4YjM5NmYzOWFkNTMyZjhiNzE3YmY5MDQxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0
MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2Ns
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xh
c3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElk
ZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03
Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVz
U2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRo
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZv
aWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRp
ZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDJhYzI2NDkwOWYxNTYxZjhkZDdlNzRlYTMxNGYw
ZjYzNDcyZjhiMDcuLmU2MWE5ZTQ0OGFiMWU0YTNkMmQzMWI1NGQ1YzU4ZDM5NWEyNzAxNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI3LDcgKzI3LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3
b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25z
ZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAg
ICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0Jl
U2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0
YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQo
ZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBj
MTNhYmEwMjY4MGZjMmE0NjA3OWIzMmFmYjYwYmJmYWNkMjg3ZjY2Li5mYzk4MGQwYzUyZTYxM2E5
YjU5MDM2MmJjZDI2ODUwZDcxZjk5NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93
RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUg
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1l
c3NhZ2VzLmgiCkBAIC02Nyw2ICs2Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdp
bkRvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTQ0
MCw3ICs0NDAsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1p
dExvYWQoKQogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1l
LT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5s
b2FkZXIoKS5sb2FkVHlwZSgpLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIElu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworICAgIHdl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1l
KG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZy
YW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkp
OwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2ZyYW1lKTsKIH0K
</data>
<flag name="commit-queue"
          id="231690"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209640</attachid>
            <date>2013-08-26 05:22:01 -0700</date>
            <delta_ts>2013-08-27 04:45:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130826142159.patch</filename>
            <type>text/plain</type>
            <size>98810</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ4OTdiZTBjOTgwMTMz
ODdjYmFmYjQ0M2ZkMTFmODBjNzIxMjljMS4uOTU0YjYzZjJiNDcyMTRhZjNiYjRlNTIxNjhjMmQw
Nzc1MzM4Mzk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA4LTI2ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA4LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBGaXggY29tcGlsZSB3YXJuaW5nIGluIFdlYktpdERPTUN1c3RvbQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDIxMjZlMWUzZmZlYWM1MmExZjE1NDdlMzkwN2ZkOTc3MmEyNDk5MzMuLmVmZDczNzll
YzczZDQ5OTc5ZDQ4YmZlODQ3MDg0MzE5YmFmZjMxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2
OSBAQAorMjAxMy0wOC0yNiAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0Pgor
CisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZSBhbmQgbWFr
ZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVybXMgb2YgdGhhdCBw
bGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGdldHRlciBhbmQg
c2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNl
QmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVzCisgICAgICAgIGJl
Y29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxh
dGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVycworICAgICAgICBv
ZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0aGUKKyAgICAgICAg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlQXN5bmMpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAg
ICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAg
ICAoV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKToKKyAgICAgICAg
KiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAg
ICAgIChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZp
Y2F0ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0
ZUluZm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZSk6CisgICAgICAgIChD
b3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgor
ICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQ
Qzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHA6CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0wOC0yNiAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRk
IG1pc3NpbmcgaW5pdGlhbGl6ZXIgZm9yIHBsdWdpbkxvYWRQb2xpY3kgaW4gV0tQYWdlTG9hZGVy
Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhMDY0MjA0YTUzODIxM2Zk
M2MxYWRlY2U3ZWVlZmY1MzI0OWU1YTA1Li41NjdkMmQ3ODMzZGRjODEwMTA1Yzk0M2YwMzE3Y2Vm
NGViMWE0MzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU0ODMsNiArNTQ4
Myw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ29va2llSmFyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmggXApAQCAtNTUx
Miw2ICs1NTEzLDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291
cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDIwYTg4ZjZmNzIyMTRmZTNkYjMyYzUwNzg5ZWVhMTc4ZGVhMWFhMTEuLjA2N2QzZmM1
ZDJjN2RkMTRhZTE0YTA3OWVjZGJhMDIyMDJkZWFjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC0xNTAsNiArMTUwLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9z
b3VwL0dPd25QdHJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3Rv
cmFnZVNlc3Npb25Tb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5UmVz
b2x2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNlcnZlclNvdXAu
Y3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggMWQzYTg3NjBmYWRkMDVlNTQzYzExMzBlYmU1MTkxYzNmOWEzYTIyMC4uNWU0
MTYzMmY2YWVkNWRmZWZhYjBlY2U4YTVlNjY4NWUyZjQ2NDcyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0y
MzEwLDYgKzIzMTAsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtpbmdDb250ZXh0LmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50VHlwZS5oIFwKKyAgICBw
bGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm90
ZWN0aW9uU3BhY2UuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm94eVNlcnZlci5oIFwKQEAg
LTI5MDQsNiArMjkwNSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQv
UmVzb3VyY2VSZXF1ZXN0UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L0ROU1F0LmNw
cCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9OZXR3b3JrU3RhdGVOb3RpZmllclF0LmNwcCBc
CisgICAgcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcCBc
CiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9Qcm94eVNlcnZlclF0LmNwcCBcCiAgICAgcGxhdGZv
cm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdv
cmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
OTkxODliNzY5MzZmNWNlZTllMjM3OWExZGMxZGJlZDc0MzFhODMyMC4uZDFiMWU0YmIyYjA3ZDlk
Nzk3ZWM0MjE0MGYxZDE4ZGJmNzFkMDljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2Nyw2
ICs3NjcsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0
aGVudGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50
aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43
V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRp
b25FdgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2Vi
Q29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xOXNldENlcnRpZmljYXRlQ2hhaW5FUEs5X19D
RkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFy
cmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJD
b3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0QxRXYKK19fWk5LN1dlYkNvcmUyM1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hy
b25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNv
cmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJ
UE5TXzROb2RlRUxtMEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0
YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGRmODU4YzU3ZWQxMWU1MzM5YzVhNGZmMzVl
MTM4MzlkZDNhMDM5OGQuLjJjNDRkOWY1YTU0ZTBlZTRhZjBmNDQxNjNjYzllMTZkYTk2NTE5YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtMTk2MDUsNiArMTk2MDUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cbmV0d29ya1xOZXR3b3JrU3RhdGVOb3RpZmllci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVudFR5
cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZUhhc2gu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCA4OGI0ZjU4ODg1ZjU5ZDA0OTY4YjhkYjMwYjYxNzUyZjQz
ZmVlOWUzLi5kNzc1NmQ1YmRkODdlNjBiYTc1M2FkNDlmZTgzMGQ3YzQzMDk2MTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC04ODU3LDYgKzg4NTcsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+cGxh
dGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIj4K
KyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNv
b2tpZUphci5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDZmMjMxNDNhNzcxZTg4NzRhNmNmMDFhNjY5NDlmODYxNGQ1M2Y5
NDAuLjVlMzA4M2UxNTQ4OTkyMjk0MzNjZmY2NmI2ZmUyNWQzOTI1ZmRiZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2Nzgs
NyArMTY3OCwxMCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlO
YW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMu
aCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhC
QTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThG
NTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8q
IFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2
MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07CisJCTVGRTFEMjkyMTc4RkQxRjMw
MDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJp
dHkuZnJhbWV3b3JrICovOyB9OwogCQk2MjZDREUwRTExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlh
bE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAq
LzsgfTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwRDEx
NDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2MjhEMjE0QzEyMTMxRUQxMDA1NURDRkMg
LyogTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04
MDQwLDcgKzgwNDMsMTAgQEAKIAkJNURBOTdFQ0MxNjhFNzg3QjAwMEUzNjc2IC8qIFN5c3RlbVZl
cnNpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0
ZW1WZXJzaW9uTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2ODEw
NzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VM
aWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMy
RDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI4NjgsNiArMTI4NzQsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMjk3MSw2ICsxMjk3
OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNDQ1NSw2ICsxNDQ2Myw3IEBACiAJCQkJRTEzRUYzNDIxNjg0
RUNGNDAwMzRDODNGIC8qIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oICovLAogCQkJCTQ0Nzk1ODAy
MTY0M0I0N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgKi8sCiAJCQkJNDQ3OTU4
MDMxNjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmggKi8sCisJCQkJNUYyREJC
RTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJCQkJ
NTE0Qzc2NUYwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5jcHAgKi8sCiAJCQkJ
NTE0Qzc2NjAwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5oICovLAogCQkJCTUx
QTA1MjU1MTA1ODg3NDAwMENDOUU5NSAvKiBQcm90ZWN0aW9uU3BhY2VIYXNoLmggKi8sCkBAIC0x
NDQ5Nyw2ICsxNDUwNiw3IEBACiAJCQkJNTE0Qzc2NDQwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1E
YXRhU3RyZWFtTWFjLmggKi8sCiAJCQkJNTE0Qzc2NDUwQ0U5MjM0RTAwN0VGM0NEIC8qIEZvcm1E
YXRhU3RyZWFtTWFjLm1tICovLAogCQkJCTFBN0ZBNjQ3MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3
b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgKi8sCisJCQkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCTUxNEM3NjQ2MENFOTIz
NEUwMDdFRjNDRCAvKiBSZXNvdXJjZUVycm9yTWFjLm1tICovLAogCQkJCTUxNEM3NjQ3MENFOTIz
NEUwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZU1hYy5tbSAqLywKIAkJCQk1MTRDNzY0OTBDRTky
MzRFMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0TWFjLm1tICovLApAQCAtMjI5MjIsNiArMjI5
MzIsNyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVy
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRm
b3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgx
IC8qIFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0Ex
NzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FBNDg3MDE0QTA1MjUzMDA4OEZBQzQgLyogUGxh
dGZvcm1FdmVudEZhY3RvcnlNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMjY5MjUsNiArMjY5MzYs
NyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVs
ZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4
NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZE
MTc2MkRGMTc2Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRkQxNzYyRTMxNzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTYxYjdiZDE2NmRhODE2
OTMzN2Y2NTM2YThjZWE5MmZiNjQ5MTdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEs
NzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAy
MDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvX2gKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRX
T1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9p
ZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7
IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUp
IHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVG
bGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQg
c2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9y
cyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8
fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBh
cnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQg
dG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRy
PEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFn
cyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFk
ZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNmMjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2
YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VFcnJvckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3Vy
Y2VFcnJvckJhc2VfaAogI2RlZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91
dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0K
IAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2
b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
ID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUo
Y29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVk
OgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAg
IFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247
CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
ICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29s
IG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDQ5YmRjNzAzODk3OGM0Y2ZjZWQ4YWQ2MGEz
MzRhNmI3NDZiOGY5ZjguLjA3NWE3NGE2YzY5NDUwY2RhN2Y4NmRiYTVhNWRmYWJiMjU0YTg4YzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJN
YXAuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CkBAIC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9h
ZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJj
ZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNz
IG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1l
bW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QK
ICAgICB7CkBAIC0xNTIsNiArMTU2LDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29u
bmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8
UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lz
TnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0
OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3MjhlNjI0ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VS
ZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzExNyw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsK
ICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0
aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0
aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFm
dGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRl
Q2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3Bs
YXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9N
YWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2Vy
dGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFp
bi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVCVUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRl
Q2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisK
KyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAg
RW50cmllczogJWRcbiIsIGVudHJpZXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBl
bnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0g
YWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVS
ZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7
CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAg
IH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5t
bQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1
ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2UwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0K
QEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21w
YXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291
cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNo
YWluKQogewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4o
bnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0
aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNh
dGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJl
c291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAogewotICAgIGlmIChtX2V4
dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZp
Y2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
Q2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxS
ZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODlj
NTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAw
Yzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDAp
KQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVm
MTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRm
YWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3Mg
UmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgogICAgIFJl
c291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0
cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAg
ICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwg
bG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAg
ICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNv
dXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0
YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAot
ICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0g
ICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0g
dGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2ln
bmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhz
dGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0
Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9y
bUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29t
cGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQot
ICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBt
X2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUw
NTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZj
NzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAy
MDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
OTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihj
b25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1D
b3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9j
ZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0g
bV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRm
b3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBi
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZVJlc3BvbnNlLmgKaW5kZXggMzcwZjQzMGI2OWY3NWJhNjI4NzdlNjNlMGY0OTNjMDliZmQy
MWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJhMzRhY2QwOTg0MTdjNjhjNTUzNjc4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1Ymxp
YyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgp
CiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZsYWdz
KHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3Jz
KHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAg
ICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdO
YW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VC
YXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxl
bmFtZSkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
PigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoU291cE1lc3Nh
Z2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0K
QEAgLTY3LDExICs2MSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29u
dGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZv
aWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVk
Q29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2Fn
ZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAg
IHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlm
aWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJy
b3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVG
bGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2Vy
dGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBs
YXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAt
ODAsOCArNzQsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFn
czsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2Vy
dGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNF
cnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdi
MjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJl
c291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9tZXNzYWdl
X3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0
KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUu
Z2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3Nl
dChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90
IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEw
IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNz
YWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxh
Z3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7
Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZp
Y2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7Cisg
ICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRf
aHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAg
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAg
bV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAK
ICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9o
ZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDc4YzM0YWQzMTY4
ZDYxNTdlYTEyZmNhYzE3ZDk0ZDk4N2JkZWFmNTEuLjgyOTkzZmQyNDJiZDBlNDk1MGJiOTE3NzZh
YzJkMTliYTdhYjQ3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDcwLDgg
KzQ3MCw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nl
c3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzMjYs
OCArMTMyNCw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCA3NWVlY2ExMjU4YTZlNjY3NDg4OTczNDM3
M2VkODNkNjhmZDQwMmI5Li44MzRhNDEyN2IxYzkwZWJkZmViYzBmOWU1NmMzN2QwOGViYTAwNDg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAtMjgsMTAgKzI4LDExIEBA
CiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNl
TG9hZGVyLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYxLDcgKzYyLDcgQEAgdm9pZCBBc3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWls
dXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Up
LCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJv
cnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZv
aWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3
b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGludCBlbmNv
ZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCmluZGV4IDAwZjQwNjhjZjgwMTI4M2EyYjg2ZjA1ZGZiYjVhNTQ3OTViMzFhZGEu
LjUyODgyNGM2MGMyYjI2NzljNzdiNmVkZTcxMWQ5ZTgxNTI0NmQyMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzYsNyArMzYsOCBA
QAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBj
bGFzcyBSdW5Mb29wOworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBSdW5M
b29wOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ0LDcgKzQ1LDYgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXI7CiBjbGFzcyBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudDsKLWNs
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogCiBjbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nl
c3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQgewpAQCAtMTA4LDcgKzEwOCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9h
ZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3Qp
OwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3
b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVh
ckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdl
cy5pbgppbmRleCBhNWZjYmM3YmU5NDAyODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li45Y2Jh
YWFiZmMwYzMxOWM3ZTc1OTNhY2RiYmIzOGQ2MGQ1OWJkZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYK
IAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDkxZTQ0ZGZkNDhhM2QwNTk5NmI4NWViNjY1ZDc2OGUxOTBiMGViMDkuLjE2
ZDdhMjFlODg4NWRiZjU4NDQ0YWJlMjFlM2M4MzM1YjA4MmVmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApA
QCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFy
ZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmlu
ZGV4IDA4ODQ1MmUwMzY1OWI4OWIzMzE0NDMwYjI4ZmU1N2FmOTgwNWRjNDMuLjAxYjhmNGFmYzZh
YWMzYWY4MjFhMGRiZjAwYjE1OGI4MjBlZjQ1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICsz
MCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgog
I2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0
ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUv
RmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJLaXRT
eXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPG1hY2gvaG9zdF9pbmZvLmg+CiAjaW1wb3J0IDxt
YWNoL21hY2guaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNDg5NWU5OGUyNjc1NGQz
ZGY1YTA1ODZkMDRjNjU5NmVlYTEyMDhlYS4uODk5NjhhM2I3MTM3YjVjYjU5NDdjZjI4MDk5YjBh
YWRiMTQ5N2JjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTM3LDcgKzM3LDYgQEAg
bGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5
U2FtcGxlckxpbnV4LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAog
ICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDZhN2FhNjE4M2U5ZTFmNTRhZGMwMDE3MzlhZWU5NzRjZWQwZmNkYjQuLmQ2
OGY0ZTE2ZjljOGYzMjUxYWNjMGEyYmI5YjMxNjU1MmQxNjk4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC03NCw3ICs3NCw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
ICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9s
aW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogICAgIFNoYXJlZC9saW51eC9X
ZWJNZW1vcnlTYW1wbGVyTGludXguY3BwCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5j
cHAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcAogICAgIFNoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpbk1vZHVsZVgxMS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1YzJlM2JmYWIuLmU1MGUy
NGE5Y2I4Y2I0MDg4MGNlMGFmMDhhYzk2NDA3NjI3M2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAt
MzMsNyArMzMsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5m
b1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJl
ZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNl
cnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJu
IHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oCmluZGV4IDRjNmY4MWU5NTM5MGZmNzBkMzgxODJiZGM5YjQyNmJhNmUw
MWE1OTEuLmQ2ZWMzZmEwZDc0Yzg5Y2U5ZThkYzVlZDkzOGRiN2VhMjFlODg3YTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmgKQEAgLTM2LDEzICszNiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRp
YWw7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBA
IC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRo
IG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRo
b3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9p
ZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyAr
NjksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5
VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0
MWYwZjUxOTVlYzc2Yzk2MWRkLi5lNjkxNWNjYjY1YWRmMGI5YWRlODQ0NGMxYjI4ODA0MjMzZmQ0
N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIx
LDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25N
YW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9y
Q2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRl
bnRpYWwsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAg
ICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9t
YWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5
MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3NjljMjc2MDEzLi4xOTQ0ZDM3ZmNiMTAzY2RhZWMy
YjUyYjYwYzA5N2E3MmNiYzkwYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JL
KQogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1
cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVz
c2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEwNTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRl
OGIuLjljYThjMzM4OWI0MWY2MDM5MmIzZmM0Zjg3Y2Y1NzMzY2U0NmM3ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVi
bGljOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmpl
Y3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgICAgICAgICAgV2ViQ29yZTo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0
aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggMDYxODJmY2UyZmM2ZDU5N2U5
ZjVmOGMwMzk1NzcxOWEyYWE2MmFmNS4uMmNkNzlkN2UzMjM3YmYwNDI4OWU2ZWExYWE2ZGQzMTdk
ZTdlOGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRl
SW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApA
QCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNs
dWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlm
aWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmlj
YXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRl
SW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAppbmRleCA3ZWZmM2Q1MmYyNzJiYzJkMmVjOWMzMzM0ZmU0OTMwMjZkZDgxZThjLi45
NGYwZWMwNTU2ZTdkZGFjZDFiYjQ0MmFlZjYxZGJmYTZlOTdlMDUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtNDAsNiArNDAsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SW1hZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlRXJyb3IuaD4KQEAgLTU0NSw2ICs1NDYsMjMgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNv
dXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAg
IGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7Cit9
CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZShB
cmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZUluZm87CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZp
Y2F0ZUluZm8pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lk
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtT
aG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGNhZTlkOWFjNDUyNWE3NzliYzI1ZWMwN2MyOTBj
OGE5MTNmNzQ2OTMuLjk5NDgzMzg2N2FmYWU1YWFjNzNkZTgwZWJlZDEyNDVjM2FjMDI1NmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1
LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVM
aXN0OwogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAg
ICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE2
OCw2ICsxNjksMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlPiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFy
Z3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAg
ICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOWVhMWEyZjMzMTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBj
Y2NkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAg
ICBjbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFz
cyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQo
KTsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7
Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkg
Y29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9j
ZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAv
LyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzRhNzM1NDVjNWJkMTY4ZjZhYTkyNmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEs
OTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgot
I2ltcG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIK
LQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9u
c2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAg
IDogbV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAg
ZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIg
PDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWlu
LmdldCgpKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMp
Ci17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlm
ICghaGFzQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAo
IUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjLm1fY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwot
dm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWdu
ZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRp
ZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9cbiIpOwotICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgewotICAgICAgICBSZXRhaW5Q
dHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1Ympl
Y3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2Vy
dGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKLSAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3Ry
aW5nICopc3VtbWFyeS5nZXQoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbQppbmRleCBjMTI2MDAwM2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEz
OGY2ZTQ1Li5jMGRjNDZlMjY0ZDA0OTgyMTBjMjY0Y2FlZjYwYjAyNzU2NjY4ODU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01h
Yy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAw
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjcsMTQgKzI4LDE0IEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
IAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8
V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVz
cG9uc2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50
Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0g
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2Vy
dGlmaWNhdGVDaGFpbikgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShl
bmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBp
ZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0
YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpk
ZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3Ry
aW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5n
LmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0
PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0
aCgpXSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxYjlkZTY5ODBl
MDFlNTY2ZTk2YTRmZmFhNzk1MDYxNTQ0MWY4MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUg
IkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
ewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICB7Ci0gICAgfQot
Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6
OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Ci0gICAgewotICAgIH0KLQotICAgIHN0YXRpYyBib29s
IGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3Bw
CmluZGV4IDM1YmYyMmYwYmE5ZTUxZDc0MTQyZDFmN2UwNmEyYmNlOTE0MzJjYmYuLmY0MTg0NTMw
N2Y0MTBjNmExMWZmNWQ0YmVjZTliY2JlYTFmN2FlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcApAQCAtMjYsNiArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVy
cy5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC01
NCw2ICs1NSwxNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1l
bnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQor
eworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVy
cm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3
MTRlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2Fs
aWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2lu
Y2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAgIDogbV90bHNFcnJvcnMoc3RhdGlj
X2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlm
aWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3Jz
KCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZp
Y2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0
aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkp
Ci17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZp
Y2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9n
ZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZp
Y2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVu
Y29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8
IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJy
YXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUt
PmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3Jz
KTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAo
IWhhc0NlcnRpZmljYXRlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRh
dGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEg
PSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkp
OwotICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVE
YXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZl
cmVuY2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRv
cHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdf
dGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZp
Y2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19i
YWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBOVUxMKSkpOwotCi0g
ICAgdWludDMyX3QgdGxzRXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3Jz
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9y
cyA9IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMjMxZjM2ZGIzMmY4ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYx
YzA1NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rl
di9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEw
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3Rm
L2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVu
dERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVi
bGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAg
IGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImKTsKLSAgICB+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0
aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgp
OyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4g
bV90bHNFcnJvcnM7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rl
ciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi1wcml2YXRlOgotICAgIEdSZWZQdHI8
R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
IG1fdGxzRXJyb3JzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IGRjNGUxMTkxNzU3
ZWNlMTc1YWQ0ODVhN2FhNzIyNTJmYWZhZTg4NDYuLjI4ZDIwZDk3NDZmYWM0N2I3MWUyMDFkMmFj
MzI3NDcwNzFjMDAwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dl
YkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAx
MDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCw5ICs2OSw2MCBAQCBib29sIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29k
ZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAg
ICBpZiAoIXBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAg
ZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRlQXJy
YXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlm
aWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgeworICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8
PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYo
Y2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFy
cmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRl
LT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
aGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0Nl
cnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVW
YXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5
dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAg
IGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBj
ZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uu
c2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9w
dEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190
bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBj
ZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhn
X3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAorICAgICAg
ICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCAwKSkpOworICAgIHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKwor
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykp
OworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNl
RXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJj
ZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTc5LDggKzEzMSw3IEBAIGJv
b2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRl
SW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2Vy
dGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJy
b3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CisgICAgcmVzb3Vy
Y2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAg
IHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJp
IGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCA3YmFjMzgzZjJmNGVkZTNhMWM5YzQz
MWVkOTY2ZTRjNzFhYmU0NTJiLi41ZjA5ODk4ZTliMDc0NjhmOTJlYzMwZjk0YWJlNmIyYTYxMDZi
ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1RhcmdldC5wcmkKQEAgLTE1NCw3ICsxNTQsNiBAQCBIRUFERVJTICs9IFwKICAgICBT
aGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNo
YXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKICAgICBTaGFyZWQvcXQvQXJndW1lbnRDb2Rl
cnNRdC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAg
U2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtS
ZXBseURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApp
bmRleCA3MmZlNjZhNDJlYWQyMmZhZjJkOWE0ODVhOTkxMjI1MzI2MjJmZWQyLi41ODFkYWM1OTFm
OGRjZjE5NzIyODBjZTUzYTIwMDlmNDk1Yjc0ZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAog
I2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlm
aWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAi
V2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNjIsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CiAjaW5j
bHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+
CkBAIC0yOTcyLDcgKzI5NzIsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19p
bmZvKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFt
YWluRnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5m
bygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmlj
YXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0
ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7
CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5h
OTgzODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYxODljZTIzMWZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFs
KiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSht
X2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5m
byogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAg
ICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5m
byA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRp
YWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRhYzIwMjIzMDdh
ZDQ1YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5NzA3ZjdjYmY2OGI0MmMwMDA3MTc4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM4
LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgp
CiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwogfQogCi12b2lk
IFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2Vi
RnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25z
dCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewog
ICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9s
b2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3NDhhMjY5NmI2
YWQ1Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFhODdkNzE4ZTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwxNCBAQCBuYW1l
c3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFtZXNwYWNlIFdl
YkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlz
c2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBA
IC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExv
YWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQ
cm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2
b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNv
bnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hh
bmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDhhMTk2MDEy
ODNkYzU4MmFiMjBmYjVhNThiNjQ4MDY1ZTNjN2YxNTMuLjdkNGUyZjdkYzcxN2E2N2ZjOTg4MDNh
NDUzNDRmZTRhYWMwNDM3MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxv
YXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAg
ICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3Bh
Y2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRp
bmdzOwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBj
bGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNs
YXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0
cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtOwpAQCAtODA4LDcgKzgwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRU
eXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZv
aWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDliYjlkNTU2
MDk4YzhjMzFkODhkMWMwODQzYWIxMTVlNGZlYTBlMGYuLjg3ZDJiMWQ0ODg2NGMyZDY4ZTdhNWUz
ODlkYjNlYjk0MmYxMjEwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE2LDcgKzExNiw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAog
ICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdl
YktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERp
ZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlw
ZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1l
SUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3Ig
ZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkg
VmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2MTU3ZTk5ZThiNTNjN2FlYTQ4NmYzNmJhNDNlY2UwMWI5ZGU0MTlmLi43
NmFiYzljMjQ3NDA4MjZmN2IwNWRkMmJjNDZmNWJkODhmMDY0YzUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQ1LDggKzEw
NDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUw
MEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0
QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4
dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1
MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJCUJD
RjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYwMDQ3
MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2RjAw
NDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmggKi87IH07CkBAIC0yNTEyLDggKzI1MTAsNiBAQAogCQlCQ0YxODYzNzE2N0QwNzFF
MDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNG
NERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsg
cGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3Vw
cGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0U3Vw
cGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMwNDdC
MDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJ
QkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlz
dG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MjQ4LDggKzQy
NDQsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMu
bW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAq
LywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywK
LQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01h
Yy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MjY4LDcgKzUyNjIsNiBAQAogCQkJCUM1
NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
QzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEg
LyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTY0NDcsNyArNjQ0MCw2IEBACiAJCQkJMkQy
QURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFz
c3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0
NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUw
NUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVu
dURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8q
IFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNw
cAppbmRleCA1MzU3YmJjZjQ0MDA0Y2QzYTUyNDc3ZTU2MzZkNWFiNzJjZDI0Y2I2Li44YWRmZjVj
NTQ4Zjg1MzYyNGFiMzdmZWVjYjFkN2E5MDUzMGU3OTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMy
LDExICszMiwxMSBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KQEAgLTEwNiw3ICsxMDYsNyBAQCB2
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcAogICAgIFJlZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJv
dGVjdG9yKHRoaXMpOwogCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9u
c2UpOwotICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZUNoYWluKCkpOworICAgIHJlc3BvbnNlQ29weS5zZXRQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKHJlc3BvbnNlQ29weSk7CiAKICAgICAvLyBJZiBtX2NvcmVMb2FkZXIgYmVjb21l
cyBudWxsIGFzIGEgcmVzdWx0IG9mIHRoZSBkaWRSZWNlaXZlUmVzcG9uc2UgY2FsbGJhY2ssIHdl
IGNhbid0IHVzZSB0aGUgc2VuZCBmdW5jdGlvbigpLiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggYjM3ZTliMGYw
OTI4MDkxNWZhNWIyNGY1MDk2NmMwM2QwOWQ2YjAyNC4uZTg0ZjBmMjUyZGU3NThiMzk2ZjM5YWQ1
MzJmOGI3MTdiZjkwNDFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0
YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZl
cjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xh
c3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRl
cj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0
b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVz
c2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNv
dXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9h
ZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2Fn
ZXMuaW4KaW5kZXggMmFjMjY0OTA5ZjE1NjFmOGRkN2U3NGVhMzE0ZjBmNjM0NzJmOGIwNy4uZTYx
YTllNDQ4YWIxZTRhM2QyZDMxYjU0ZDVjNThkMzk1YTI3MDE0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5tZXNzYWdlcy5pbgpAQCAtMjcsNyArMjcsNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxv
YWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2Un
bGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAg
IFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVp
bnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJl
Y2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUlu
Zm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlk
UmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAg
RGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29k
ZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGlt
ZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGMxM2FiYTAyNjgwZmMyYTQ2
MDc5YjMyYWZiNjBiYmZhY2QyODdmNjYuLmZjOTgwZDBjNTJlNjEzYTliNTkwMzYyYmNkMjY4NTBk
NzFmOTk2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0zMyw3ICsz
Myw2IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCIKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiV2ViQmFja0Zv
cndhcmRMaXN0UHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVzc2FnZXMuaCIKQEAgLTY3
LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgpAQCAtNDQwLDcgKzQ0MCw3IEBAIHZv
aWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAv
LyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVz
cG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBl
KCksIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJ
RCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCku
bG9hZFR5cGUoKSwgcmVzcG9uc2UucGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSwgSW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CiAKICAgICB3ZWJQYWdl
LT5kaWRDb21taXRMb2FkKG1fZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209746</attachid>
            <date>2013-08-27 04:45:40 -0700</date>
            <delta_ts>2013-09-03 03:18:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130827134537.patch</filename>
            <type>text/plain</type>
            <size>98831</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNiZDY4NDQ2YWM0Zjk1
MDJmMmViMDRkODE0ODk3MjJmOTQ1ZjA0Ny4uMDg4NzZmZDJlOGE5NzQxOTZhNjdiZGMxNTI1M2Jl
ZTFhMGY0NGZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA4LTI3ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA4LTI3ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW1vdmUgRE9NU2V0dGFibGVUb2tlbkxpc3QncyBvdmVybG9hZCBvZiBhZGQoKSBhbmQgcmVt
b3ZlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCBmMDYyOGJlNDlkN2ZjNTBjZDI2ZmQ4OTYwMGM1MWY2MmFkNWM0
MTQwLi40NGIzYjI2ZTQwYzI1ZmUwNjIyNDQ1NWQ5NDc1MTdmYjIzZDU4ZjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNjkgQEAKKzIwMTMtMDgtMjcgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21w
YW55MTAwLm5ldD4KKworICAgICAgICBNb3ZlIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdl
YkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNlUmVzcG9uc2UgcHJpbWl0aXZlcyB3b3JrIGluIHRl
cm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNvdXJjZUVycm9yQmFzZQorICAgICAgICBhbmQgUmVz
b3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBnZXR0aW5nIGFuZCBzZXR0aW5nIGNlcnRpZmljYXRl
cworICAgICAgICBiZWNvbWVzIGNyb3NzIHBsYXRmb3JtLgorCisgICAgICAgIENoYW5nZWQgdGhl
IGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmljIGNlcnRpZmljYXRlIGdldHRlcnMgYW5kIHNldHRl
cnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJvciBhbmQgUmVzb3VyY2VSZXNwb25zZSB0byB1c2Ug
dGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1lbWJlci4KKworICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZUFzeW5jKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NN
YWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1H
VEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01h
Yy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFp
bik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0
aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUp
OgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENv
ZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBD
Ojo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQu
Y3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFRhcmdldC5wcmk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCk6CisKIDIwMTMt
MDgtMjYgIFNhbnRvc2ggTWFodG8gIDxzYW50b3NoLm1hQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IEZpeGluZyBjb21waWxhdGlvbiB3YXJuaW5nICJ1bnVzZWQgcGFyYW1ldGVyIiBpbiBXZWJQYWdl
UHJveHkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkZTk1Mzc1ZDkzNjVk
N2U4YTM0OTY4OWYxYzY3ZDIxYzY1MjNkYmFhLi5hNzM1NGI0N2Q3MGIwYzY1YzEwNjc0N2VjMDU4
NzAyNzViNzAwYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU0ODUsNiAr
NTQ4NSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ29va2llSmFyLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmggXApAQCAt
NTUxNCw2ICs1NTE1LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
U291cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNt
YWtlCmluZGV4IDIwYTg4ZjZmNzIyMTRmZTNkYjMyYzUwNzg5ZWVhMTc4ZGVhMWFhMTEuLjA2N2Qz
ZmM1ZDJjN2RkMTRhZTE0YTA3OWVjZGJhMDIyMDJkZWFjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlCkBAIC0xNTAsNiArMTUwLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0ROU1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0dPd25QdHJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25Tb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5
UmVzb2x2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNlcnZlclNv
dXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggMjg3YTVhMDM4Yjk4ZmQ1OTBkMGMwODg1YjU5N2NhNTY5YmJlZDkxNi4u
YjBjZDYxMTc4NGJkMWE5MGJmZDA1ZWJjZjVhOGM3MWM2MGYwODMyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBA
IC0yMzEyLDYgKzIzMTIsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL05l
dHdvcmtpbmdDb250ZXh0LmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90
aWZpZXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50VHlwZS5oIFwKKyAg
ICBwbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogICAgIHBsYXRm
b3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Q
cm90ZWN0aW9uU3BhY2UuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9Qcm94eVNlcnZlci5oIFwK
QEAgLTI5MDYsNiArMjkwNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsv
cXQvUmVzb3VyY2VSZXF1ZXN0UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L0ROU1F0
LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9OZXR3b3JrU3RhdGVOb3RpZmllclF0LmNw
cCBcCisgICAgcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNw
cCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9Qcm94eVNlcnZlclF0LmNwcCBcCiAgICAgcGxh
dGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHAgXAogICAgIHBsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5k
ZXggOTkxODliNzY5MzZmNWNlZTllMjM3OWExZGMxZGJlZDc0MzFhODMyMC4uZDFiMWU0YmIyYjA3
ZDlkNzk3ZWM0MjE0MGYxZDE4ZGJmNzFkMDljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2
Nyw2ICs3NjcsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0
QXV0aGVudGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVk
ZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9f
Wk43V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFy
YXRpb25FdgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43
V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xOXNldENlcnRpZmljYXRlQ2hhaW5FUEs5
X19DRkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFUEs5X19D
RkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdX
ZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0QxRXYKK19fWk5LN1dlYkNvcmUyM1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dl
YkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0
b3JJUE5TXzROb2RlRUxtMEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIz
ZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDA2NzNkZDMxOTM4YTgyMWYxZGRkYTVh
YjQ0NzMxMDcwYzJkNWU2NDkuLjMzYWNkMTcwNGIwMzc4ZTMyYzkwN2Y3MjRiMzJjY2RkOGQ3M2Vl
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agpAQCAtMTk2MTksNiArMTk2MTksNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cbmV0d29ya1xOZXR3b3JrU3RhdGVOb3RpZmllci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGFyc2VkQ29udGVu
dFR5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtc
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZUhh
c2guaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA5ODRkYWNmN2JjOTRjMjJiMTljZWJhMjNlMjY2MTU2
OWMxOGI5MTI4Li5jNDMyMzcyZmU3ZDM1NjU3NTk2OTc0ZDQ0NWNiMmU3OWM4MDBjNjEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC04ODYwLDYgKzg4NjAsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
Ij4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgorICAgIDwvQ2xJbmNs
dWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9y
bUNvb2tpZUphci5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDJhZGM4NDdjOWE5ZmMzNjU1NGU0OGIyZTc3M2E5Njg4YzQ1
YTQyY2YuLjAyYmRiMjUzOTZlNWZkNTA4OTI1MzNjMzU0YjY4NDE2NTg4OGJlNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2
NzgsNyArMTY3OCwxMCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVy
dHlOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFt
ZXMuaCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Ez
NzhCQTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURG
RThGNTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2
IC8qIFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEy
RCAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZF
MjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07CisJCTVGRTFEMjkyMTc4RkQx
RjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2Vj
dXJpdHkuZnJhbWV3b3JrICovOyB9OwogCQk2MjZDREUwRTExNDA0MjRDMDAxRTVBNjggLyogU3Bh
dGlhbE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNw
cCAqLzsgfTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUw
RDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2MjhEMjE0QzEyMTMxRUQxMDA1NURD
RkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29u
dGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC04MDQxLDcgKzgwNDQsMTAgQEAKIAkJNURBOTdFQ0MxNjhFNzg3QjAwMEUzNjc2IC8qIFN5c3Rl
bVZlcnNpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBT
eXN0ZW1WZXJzaW9uTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2
ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNs
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3Vy
Y2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhF
MzMyRDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4
NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHku
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAu
Li8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29y
azsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5n
Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI4NzAsNiArMTI4NzYs
NyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFB
M0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEy
MTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAv
KiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMjk3Myw2ICsx
Mjk4MCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMw
MDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAw
QUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBX
ZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2
ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNDQ1Nyw2ICsxNDQ2NSw3IEBACiAJCQkJRTEzRUYzNDIx
Njg0RUNGNDAwMzRDODNGIC8qIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oICovLAogCQkJCTQ0Nzk1
ODAyMTY0M0I0N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgKi8sCiAJCQkJNDQ3
OTU4MDMxNjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmggKi8sCisJCQkJNUYy
REJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJNTE0Qzc2NUYwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5jcHAgKi8sCiAJ
CQkJNTE0Qzc2NjAwQ0U5MjNBMTAwN0VGM0NEIC8qIFByb3RlY3Rpb25TcGFjZS5oICovLAogCQkJ
CTUxQTA1MjU1MTA1ODg3NDAwMENDOUU5NSAvKiBQcm90ZWN0aW9uU3BhY2VIYXNoLmggKi8sCkBA
IC0xNDQ5OSw2ICsxNDUwOCw3IEBACiAJCQkJNTE0Qzc2NDQwQ0U5MjM0RTAwN0VGM0NEIC8qIEZv
cm1EYXRhU3RyZWFtTWFjLmggKi8sCiAJCQkJNTE0Qzc2NDUwQ0U5MjM0RTAwN0VGM0NEIC8qIEZv
cm1EYXRhU3RyZWFtTWFjLm1tICovLAogCQkJCTFBN0ZBNjQ3MEREQTNDQkEwMDI4RjhBNSAvKiBO
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgKi8sCisJCQkJNUYyREJCRTcxNzhFMzMyRDAwMTQx
NDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCTUxNEM3NjQ2MENF
OTIzNEUwMDdFRjNDRCAvKiBSZXNvdXJjZUVycm9yTWFjLm1tICovLAogCQkJCTUxNEM3NjQ3MENF
OTIzNEUwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZU1hYy5tbSAqLywKIAkJCQk1MTRDNzY0OTBD
RTkyMzRFMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0TWFjLm1tICovLApAQCAtMjI5MjQsNiAr
MjI5MzQsNyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmls
dGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBs
YXRmb3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIw
MDgxIC8qIFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0
Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9y
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FBNDg3MDE0QTA1MjUzMDA4OEZBQzQgLyog
UGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMjY5MjksNiArMjY5
NDAsNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9y
RGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENF
IC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0
MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUZEMTc2MkRGMTc2Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkQxNzYyRTMxNzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDBkN2U1N2ZiOTE1
ZDBhNmE5ZTg0NzRkMDhjYTUwNmRmMTAyMTE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAg
KzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVz
cG9uc2U7CisKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxp
Y2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7
CisjZW5kaWYKKworICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihD
RkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdDsKKyNp
Zm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2VsaWYgVVNF
KFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0
aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisK
KyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rs
c0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRs
c0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3ByaXZhdGU6
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRl
IGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlz
IG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBD
LgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47CisjZWxpZiBV
U0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAg
ICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9y
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFz
ZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNmMjcwNWMuLjQ2YmY5
Yjk1MmVlMjlkMDIwODAzOWUyNzM2YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJvckJhc2VfaAogI2RlZmluZSBSZXNvdXJjZUVycm9y
QmFzZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw2ICs1
Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBt
X2lzVGltZW91dCA9IGlzVGltZW91dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1RpbWVvdXQ7IH0KIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAg
IHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNl
RXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
aW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3RyaW5nIG1f
bG9jYWxpemVkRGVzY3JpcHRpb247CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0Nh
bmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDQ5YmRj
NzAzODk3OGM0Y2ZjZWQ4YWQ2MGEzMzRhNmI3NDZiOGY5ZjguLjA3NWE3NGE2YzY5NDUwY2RhN2Y4
NmRiYTVhNWRmYWJiMjU0YTg4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAog
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcu
aCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0xMTIsNiArMTEzLDkgQEAgcHVi
bGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRU
aW1pbmc+KTsKIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNv
dXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRl
IHBsYXRmb3JtLXNwZWNpZmljIG1lbW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVk
IG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7CkBAIC0xNTIsNiArMTU2LDcgQEAgcHJvdGVjdGVk
OgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1
c2VkIDogMTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRp
bWluZzsKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOwogCiAgICAgYm9vbCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IGUwYTVk
ZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3MjhlNjI0ZTFjOWRm
OWZlMGZhNDI1NTBmODMyNmQwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzExNyw2IEBAIHBy
aXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVz
cG9uc2U+IG1fbnNSZXNwb25zZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENG
TkVUV09SSykKLSAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5T
L0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVz
ZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4g
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwgbV9pbml0
TGV2ZWw7CiAgICAgYm9vbCBtX3BsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4ZjgxNWEz
MTU3ZTNjYThiNDllMWYxZjUyM2E5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0w
LDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisK
KworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZp
Y2F0ZUNoYWluKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0
Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9j
ZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVCVUcKK3ZvaWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVu
dHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0
ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
XG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3Vt
bWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmlj
YXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAq
KXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZiNzRhNTM2
ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2UwZDRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJl
c3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVzb3VyY2VS
ZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0
IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNw
b25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENl
cnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAogUmV0
YWluUHRyPENGQXJyYXlSZWY+IFJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hhaW4oKSBj
b25zdAogewotICAgIGlmIChtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0
dXJuIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0dXJu
IGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25z
ZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5
MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b1F0LmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBh
bnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291
cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2MDBl
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBD
b21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5o
IgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4u
MDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00
MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9y
QmFzZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGlu
dCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2Nh
bGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVy
cm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90
bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAg
IDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcm
IGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJy
b3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0
dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJy
b3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBj
ZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2
b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0
aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3Qg
eyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZv
aWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxz
RXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9p
ZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZh
dGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0
YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQ
dHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMDMy
ODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAu
Y3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5M
LgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNl
RXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVz
b3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QK
IHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJy
b3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29s
IFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBj
b25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMzcwZjQzMGI2OWY3NWJh
NjI4NzdlNjNlMGY0OTNjMDliZmQyMWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJhMzRhY2QwOTg0MTdj
NjhjNTUzNjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xhc3MgUmVz
b3VyY2VSZXNwb25zZSA6IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJsaWM6CiAg
ICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQot
ICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQot
ICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigw
KSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBLVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3Qg
U3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAg
ICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0
ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNf
Y2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291
cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNl
UmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVz
c2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2Vy
dGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uo
c291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2MSwxMSBAQCBwdWJsaWM6CiAgICAgY29u
c3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRD
b250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0Nl
cnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsg
fQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQorICAgIHZv
aWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUp
OyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygpIGNv
bnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vy
cm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNF
cnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygp
IGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0K
KyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRs
c0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJv
cnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzQsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1l
c3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7
Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VS
ZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5
ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3MGM3MjIw
NTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUy
LDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25z
dAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3Mp
OwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZp
Y2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5V
TEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlm
aWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0bHMtZXJy
b3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAKICAg
ICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3VwTWVz
c2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJv
bVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFncyA9
IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRpZmlj
YXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMo
c291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRpZmlj
YXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzOwor
ICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlmaWNh
dGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJy
b3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZp
Y2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKHNv
dXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGVkOTc3ODhiYjgxZTgyNGRmYWI2ZTNkOGM0YjI2ZDliZDc3YTZkZTAuLmQwMWQx
ZGViMzE0ZDcyNTQ5NDNkMTdiZmY4NjA1MTEwNDcyYWQ3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNDcxLDggKzQ3MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGlj
c0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lz
dGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNr
ZXJTdGF0ZS5oIFwKQEAgLTEzMzAsOCArMTMyOCw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJs
ZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9y
eS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWly
by5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vz
c0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCBkYjk3
NzVlNTgzYTJjMWIyNTUzYzdhZjQxY2U4M2U3MzIwZWMyMDZhLi44YzdiZTFmMGZiNTI3M2U5NTRh
ODdjYjA1ZGVmOGFjZDZkNjcxNTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNw
cApAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYxLDcg
KzYyLDcgQEAgdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50
aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVy
KiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRl
ci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlk
UmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7
CisgICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNl
TG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCBy
ZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGluZ01haW5S
ZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6
ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hhcmVkQnVm
ZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAwZjQwNjhjZjgwMTI4M2EyYjg2
ZjA1ZGZiYjVhNTQ3OTViMzFhZGEuLjUyODgyNGM2MGMyYjI2NzljNzdiNmVkZTcxMWQ5ZTgxNTI0
NmQyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CitjbGFzcyBSdW5Mb29wOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ0
LDcgKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFn
ZXI7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtQ
cm9jZXNzU3VwcGxlbWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogc3RydWN0
IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBOZXR3b3JrUHJvY2Vz
cyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQg
ewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3Qo
dWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAg
ICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNl
dENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlm
aWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5n
JiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9z
dCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJh
Y2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNU
b0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAyODA3YzFlNTU2MmEz
ZWU2OWZmNjA2OTg1ZGQ3Li45Y2JhYWFiZmMwYzMxOWM3ZTc1OTNhY2RiYmIzOGQ2MGQ1OWJkZjAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3Jr
UHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6
OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcg
aG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2Fs
bGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkxZTQ0ZGZkNDhhM2QwNTk5NmI4NWVi
NjY1ZDc2OGUxOTBiMGViMDkuLjE2ZDdhMjFlODg4NWRiZjU4NDQ0YWJlMjFlM2M4MzM1YjA4MmVm
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1l
bW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDA4ODQ1MmUwMzY1OWI4OWIzMzE0NDMwYjI4ZmU1N2Fm
OTgwNWRjNDMuLjAxYjhmNGFmYzZhYWMzYWY4MjFhMGRiZjAwYjE1OGI4MjBlZjQ1NjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nl
c3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0j
aW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNo
ZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5k
Ym94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMu
aCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPG1hY2gvaG9z
dF9pbmZvLmg+CiAjaW1wb3J0IDxtYWNoL21hY2guaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UK
aW5kZXggNDg5NWU5OGUyNjc1NGQzZGY1YTA1ODZkMDRjNjU5NmVlYTEyMDhlYS4uODk5NjhhM2I3
MTM3YjVjYjU5NDdjZjI4MDk5YjBhYWRiMTQ5N2JjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UKQEAgLTM3LDcgKzM3LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBT
aGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAogCi0gICAgU2hhcmVkL3NvdXAv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDZhN2FhNjE4M2U5ZTFmNTRhZGMwMDE3
MzlhZWU5NzRjZWQwZmNkYjQuLmQ2OGY0ZTE2ZjljOGYzMjUxYWNjMGEyYmI5YjMxNjU1MmQxNjk4
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC03NCw3ICs3NCw2IEBAIGxpc3QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNj
YWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNw
cAogICAgIFNoYXJlZC9saW51eC9XZWJNZW1vcnlTYW1wbGVyTGludXguY3BwCi0gICAgU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9s
bGVyLmNwcAogICAgIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpbk1v
ZHVsZVgxMS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMv
V0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFj
L1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIz
ZjQzNDc1YzJlM2JmYWIuLmU1MGUyNGE5Y2I4Y2I0MDg4MGNlMGFmMDhhYzk2NDA3NjI3M2VlMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0
ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRp
ZmljYXRlSW5mb01hYy5tbQpAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0
ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAgIFJlZlB0cjxX
ZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6
Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsKKyAgICBS
ZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0
ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNlKCkubGVh
a1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRjNmY4MWU5NTM5MGZm
NzBkMzgxODJiZGM5YjQyNmJhNmUwMWE1OTEuLmQ2ZWMzZmEwZDc0Yzg5Y2U5ZThkYzVlZDkzOGRi
N2VhMjFlODg3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
OwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFz
cyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJh
bWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3Vw
cGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6
Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxs
ZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAg
dm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVk
ZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6
OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwog
ICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdl
SUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1l
c3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAotICAg
IGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpOworICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVu
Z2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRl
bnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBi
YjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2Yzk2MWRkLi5lNjkxNWNjYjY1YWRmMGI5
YWRlODQ0NGMxYjI4ODA0MjMzZmQ0N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2Fn
ZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVu
dGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAg
dm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJD
b3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdl
KHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5h
Z2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3NjljMjc2MDEz
Li4xOTQ0ZDM3ZmNiMTAzY2RhZWMyYjUyYjYwYzA5N2E3MmNiYzkwYzg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21h
Yy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBACiAKICNpZiBV
U0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEwNTVlOTRjNjg1
ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLjljYThjMzM4OWI0MWY2MDM5MmIzZmM0Zjg3Y2Y1NzMz
Y2U0NmM3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBA
IC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAg
ICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAg
ICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBj
b2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNh
dGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5k
ZXggMDYxODJmY2UyZmM2ZDU5N2U5ZjVmOGMwMzk1NzcxOWEyYWE2MmFmNS4uMmNkNzlkN2UzMjM3
YmYwNDI4OWU2ZWExYWE2ZGQzMTdkZTdlOGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRp
ZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0PEFQ
SU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4g
Y3JlYXRlKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykp
OwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
IH0KKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRl
SW5mbyhjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICAg
ICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAg
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAg
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA3ZWZmM2Q1MmYyNzJiYzJkMmVjOWMz
MzM0ZmU0OTMwMjZkZDgxZThjLi45NGYwZWMwNTU2ZTdkZGFjZDFiYjQ0MmFlZjYxZGJmYTZlOTdl
MDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KQEAgLTU0NSw2ICs1NDYsMjMg
QEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBB
cmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3Jt
RGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsKKworICAgIHJl
dHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29k
ZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNl
RXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGNhZTlkOWFj
NDUyNWE3NzliYzI1ZWMwN2MyOTBjOGE5MTNmNzQ2OTMuLjk5NDgzMzg2N2FmYWU1YWFjNzNkZTgw
ZWJlZDEyNDVjM2FjMDI1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgTm90
aWZpY2F0aW9uOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGNsYXNz
IFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKQEAgLTE2OCw2ICsxNjksMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7CiAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsK
KyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBzdGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVhMWEyZjMzMTc5ZjJk
MTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2NkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotICAgIGNsYXNz
IEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6
Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhw
bGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KTsKLQotICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJn
dW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5kZWYgTkRF
QlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhNzM1NDVjNWJkMTY4ZjZhYTkyNmQ5NzQ2
MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1t
CisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNv
bmZpZy5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2ltcG9ydCAi
QXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW1wb3J0
ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hh
aW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmlj
YXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2Rl
ciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjLm1fY2VydGlm
aWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwot
fQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgp
IGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENG
QXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5TTG9n
KEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAgIE5TTG9nKEAiICBFbnRyaWVzOiAl
ZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsr
aSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNl
Y0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5
R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKLSAgICAgICAg
TlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7Ci0gICAgfQotfQotI2Vu
ZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBjMTI2MDAwM2VhMTRm
NTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2ZTQ1Li5jMGRjNDZlMjY0ZDA0OTgyMTBjMjY0Y2FlZjYw
YjAyNzU2NjY4ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNv
cmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTQgKzI4LDE0IEBACiAjaW1wb3J0ICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2lt
cG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUlu
dGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291
cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEz
Miw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJl
ZiBjZXJ0aWZpY2F0ZUNoYWluID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVD
aGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgeworICAgICAgICBlbmNvZGVyIDw8
IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOwor
ICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9v
bCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47
CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykK
IHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFj
dGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygp
KSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMxYjlkZTY5ODBlMDFlNTY2ZTk2YTRmZmFhNzk1MDYxNTQ0MWY4MjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19o
Ci0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgIkFyZ3VtZW50
RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXNwb25zZS5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKLSAgICB7Ci0gICAgfQotCi0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCi0gICAgewotICAgIH0KLQotICAg
IHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Ci0gICAgewotICAg
IH0KLQotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzUXQuY3BwCmluZGV4IDM1YmYyMmYwYmE5ZTUxZDc0MTQyZDFmN2UwNmEy
YmNlOTE0MzJjYmYuLmY0MTg0NTMwN2Y0MTBjNmExMWZmNWQ0YmVjZTliY2JlYTFmN2FlNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVy
c1F0LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlc3BvbnNlLmg+CkBAIC01NCw2ICs1NSwxNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVz
b3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29k
ZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVu
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKK30KKworYm9vbCBB
cmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY5MDRiNGFlNmU1YjUz
MmIwMzlkZDVjZmRhNmU3ZWViYTY3MTRlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFy
Z3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3Nv
dXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAg
IDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQotewot
fQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc3Bv
bnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNl
LnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVy
cm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0g
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3Vy
Y2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAot
ewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRh
ID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJj
ZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNh
dGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0
aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2Rl
VmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0
ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRl
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLQotICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZp
Y2F0ZURhdGFSZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHQnl0ZUFy
cmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJh
eV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgp
LCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRyPEdCeXRlQXJy
YXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0KLSAgICBHVGxz
QmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKLSAgICBjZXJ0
aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShn
X2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRl
LmdldCgpLCBOVUxMKSkpOwotCi0gICAgdWludDMyX3QgdGxzRXJyb3JzOwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNlcnRp
ZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
Pih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMjMxZjM2ZGIzMmY4
ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYxYzA1NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogUG9ydGlv
bnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gK
LSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9z
b3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29y
ZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICB+UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oKTsKLQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVy
biBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJy
b3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQotICAgIHZvaWQgZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi1w
cml2YXRlOgotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwotICAg
IEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCmluZGV4IGRjNGUxMTkxNzU3ZWNlMTc1YWQ0ODVhN2FhNzIyNTJmYWZhZTg4NDYuLjI4ZDIw
ZDk3NDZmYWM0N2I3MWUyMDFkMmFjMzI3NDcwNzFjMDAwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBA
IC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldl
YkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCw5ICs2
OSw2MCBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVu
Y29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIXBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmpl
Y3RfZ2V0KEdfT0JKRUNUKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAi
Y2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRpZmlj
YXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVuY29k
ZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNh
dGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0
PHVpbnQzMl90PihwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBj
ZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBl
bmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNl
cnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNC
YWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQ
dHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJ
Q0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJh
Y2tlbmQpLCAwLCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdl
dCgpLCAwKSkpOworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNl
cnRpZmljYXRlLmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBB
cmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewot
ICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7Cisg
ICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9
CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikK
QEAgLTc5LDggKzEzMSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhj
ZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCA3
YmFjMzgzZjJmNGVkZTNhMWM5YzQzMWVkOTY2ZTRjNzFhYmU0NTJiLi41ZjA5ODk4ZTliMDc0Njhm
OTJlYzMwZjk0YWJlNmIyYTYxMDZiZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTE1NCw3ICsxNTQsNiBA
QCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKICAgICBT
aGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBcCiAgICAgU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmggXAogICAg
IFNoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29y
a1JlcXVlc3REYXRhLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA3MmZlNjZhNDJlYWQyMmZhZjJkOWE0ODVhOTkxMjI1
MzI2MjJmZWQyLi41ODFkYWM1OTFmOGRjZjE5NzIyODBjZTUzYTIwMDlmNDk1Yjc0ZDBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1
ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1l
bnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNjIsNiAr
NjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HT3duUHRyLmg+CkBAIC0yOTcyLDcgKzI5NzIsNyBAQCBnYm9vbGVhbiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0
aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAot
ICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWlu
RnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAg
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8g
PSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
OwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNh
dGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1
NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgzODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYxODljZTIz
MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBA
IC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3Jl
ZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3Jl
ZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2Vy
dGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3Jt
SW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/
IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1f
Y2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3
MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5
NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJG
cmFtZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVh
Y2hhYmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQogewogICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQ
cm92aXNpb25hbCk7CiAgICAgbV9sb2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJk
MTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFh
ODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAg
LTQwLDEwICs0MCwxNCBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlv
bjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNs
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJs
KTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1p
dExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRp
ZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRp
b24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDhhMTk2MDEyODNkYzU4MmFiMjBmYjVhNThiNjQ4MDY1ZTNjN2YxNTMuLjdk
NGUyZjdkYzcxN2E2N2ZjOTg4MDNhNDUzNDRmZTRhYWMwNDM3MWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAg
ICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAg
ICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0
cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNzIE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0
aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2Fy
ZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpAQCAtODA4LDcgKzgwOCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxl
VVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQ
cm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENv
bW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
LCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJh
bWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDliYjlkNTU2MDk4YzhjMzFkODhkMWMwODQzYWIxMTVlNGZlYTBlMGYuLjg3
ZDJiMWQ0ODg2NGMyZDY4ZTdhNWUzODlkYjNlYjk0MmYxMjEwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE2LDcgKzEx
Niw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUo
dWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENv
bW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwg
dWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlm
aWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGlj
CiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdl
YkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MTU3ZTk5ZThiNTNjN2FlYTQ4NmYz
NmJhNDNlY2UwMWI5ZGU0MTlmLi43NmFiYzljMjQ3NDA4MjZmN2IwNWRkMmJjNDZmNWJkODhmMDY0
YzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMDQ1LDggKzEwNDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEg
LyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07
CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIy
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJ
QkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4
MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQz
MDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAw
NTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1
QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggKi87IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsK
IAkJQkNGNjlGODcxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYw
MDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNTEyLDggKzI1MTAsNiBA
QAogCQlCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5
NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJDb250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9
ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRp
ZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZp
Y2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2
RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC00MjQ4LDggKzQyNDQsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5
OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1
IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyog
UERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAw
NjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdE
N0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3
NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MjY4
LDcgKzUyNjIsNiBAQAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJk
VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQ
REZLaXRJbXBvcnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRD
RDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJ
CQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBp
biBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBv
cHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2
OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZG
QjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTY0NDcs
NyArNjQ0MCw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNo
b2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBF
QzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
MkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBT
b3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0Yx
NiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3
RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2
N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1MzU3YmJjZjQ0MDA0Y2QzYTUyNDc3ZTU2MzZk
NWFiNzJjZDI0Y2I2Li44YWRmZjVjNTQ4Zjg1MzYyNGFiMzdmZWVjYjFkN2E5MDUzMGU3OTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2Vi
RXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9j
dW1lbnRMb2FkZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4K
QEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcAogICAgIFJlZlB0cjxX
ZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdG9yKHRoaXMpOwogCiAgICAgUmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwotICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0
ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOworICAgIHJlc3BvbnNl
Q29weS5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIG1f
Y29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlQ29weSk7CiAKICAgICAvLyBJ
ZiBtX2NvcmVMb2FkZXIgYmVjb21lcyBudWxsIGFzIGEgcmVzdWx0IG9mIHRoZSBkaWRSZWNlaXZl
UmVzcG9uc2UgY2FsbGJhY2ssIHdlIGNhbid0IHVzZSB0aGUgc2VuZCBmdW5jdGlvbigpLiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmgKaW5kZXggYjM3ZTliMGYwOTI4MDkxNWZhNWIyNGY1MDk2NmMwM2QwOWQ2YjAyNC4uZTg0
ZjBmMjUyZGU3NThiMzk2ZjM5YWQ1MzJmOGI3MTdiZjkwNDFmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQw
LDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7
CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1
MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1j
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VM
b2FkSWRlbnRpZmllcjsKIAogY2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsK
QEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3Qg
Ynl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGlu
dWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25z
dCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAg
ICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZv
aWQgZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggMmFjMjY0OTA5ZjE1NjFmOGRkN2U3NGVh
MzE0ZjBmNjM0NzJmOGIwNy4uZTYxYTllNDQ4YWIxZTRhM2QyZDMxYjU0ZDVjNThkMzk1YTI3MDE0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjcsNyArMjcsNyBAQCBtZXNz
YWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUg
KE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJl
c3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNl
KQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRl
c1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVS
ZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5j
ZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNl
TG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6
OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmlu
ZGV4IDMyYmRiZGJkOGZkOWFkODgxZDJlZTg1NmNmMmExNzkxYzM2YTIxYTMuLjFiYjBiMzdiYzQ3
NzI2MjZmMjgxYjU5MTI5MGFjODRjYTRiZDVkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVET01X
aW5kb3dFeHRlbnNpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rp
b24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3Lmgi
CiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250
ZXh0TWVzc2FnZXMuaCIKQEAgLTY3LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01vdXNl
RXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGx1Z2luRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgpA
QCAtNDQwLDcgKzQ0MCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlk
Q29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1f
ZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1l
KCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNl
KSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7Cisg
ICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9y
RnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5j
b3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgcmVzcG9uc2UucGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0
KCkpKSk7CiAKICAgICB3ZWJQYWdlLT5kaWRDb21taXRMb2FkKG1fZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210347</attachid>
            <date>2013-09-03 03:18:36 -0700</date>
            <delta_ts>2013-09-26 07:14:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130903121845.patch</filename>
            <type>text/plain</type>
            <size>101972</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQzMTU3Y2Y2OWE1NmZh
MzlmMDk3MDBmMTVjYTAyMDAzYjgwMDgxZS4uMTFkMjc2M2M2Y2RiZjQ5NWVmN2ZjYTJmOWI4Yjk3
ZTk0ZDZhODFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTA5LTAzICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNl
cnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZp
Y2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9RdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjp0bHNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExT
RXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVVuaWdub3JlZFRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEz
LTA5LTAzICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgogCiAgICAgICAgIFtD
U1MgUmVnaW9uc10gcG9zaXRpb246IGZpeGVkIGlzIGNvbXB1dGVkIHJlbGF0aXZlIHRvIHRoZSBm
aXJzdCByZWdpb24sIG5vdCB0aGUgdmlld3BvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhMGZmMDFkOWU3ZjE1
NTBhYzkzMGMxODMyZDNkNTQ0NjcwYzdmZjY0Li4wYTUxMTJmNzc4MTdhZGEwMTU4MTY1Nzc0OTM2
OGEyMDNiMGYwZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMTMtMDktMDMgIEt3
YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBNb3ZlIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNlUmVzcG9u
c2UgcHJpbWl0aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0aWMgb2Jq
ZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1
MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNvdXJjZUVy
cm9yQmFzZQorICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBnZXR0aW5n
IGFuZCBzZXR0aW5nIGNlcnRpZmljYXRlcworICAgICAgICBiZWNvbWVzIGNyb3NzIHBsYXRmb3Jt
LgorCisgICAgICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmljIGNlcnRp
ZmljYXRlIGdldHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJvciBhbmQg
UmVzb3VyY2VSZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIG1lbWJlci4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZUFzeW5jKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21h
a2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9j
L21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZv
Q3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAg
ICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVz
c2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0
ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAg
ICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6
ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1E
YXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAg
IChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQ
bGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgor
ICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6
OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
RGlkQ29tbWl0TG9hZCk6CisKIDIwMTMtMDktMDIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEN1dCBkb3duIG9uIGRvdWJsZSBoYXNoaW5nIGFuZCBjb2RlIG5lZWRs
ZXNzbHkgdXNpbmcgaGFzaCB0YWJsZSBpdGVyYXRvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGJkZjdiNzJlODc5MGU5ZjE3YzUxZjUwMDVjNmMxOTdmZmUwMzM2MWMuLjg4MWZk
MzUyZjcwZDUxNjdmY2YxYzYxOGJlOTQzNGI4NzUxZWE3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNTQ5MSw2ICs1NDkxLDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlm
aWVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxh
dGZvcm1Db29raWVKYXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUVycm9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VFcnJvckJhc2UuaCBcCkBAIC01NTIwLDYgKzU1MjEsNyBAQCB3ZWJjb3JlX3BsYXRmb3Jt
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DcmVk
ZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvRE5TU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNlcnZlclNvdXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMjE4MGM3MjA5OTViMzNjMzUzNTA4NmZi
MDcxMDhlNDM0NjkyN2Q3Yi4uMWMyMDc0YzcyYzkzYWYxNTBlMGI4OWVlYjJhZDc3ZjA1OTFlZmZk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1Myw2ICsxNTMsNyBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5j
cHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR093blB0clNvdXAuY3BwCiAgICAgcGxhdGZv
cm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwCisgICAgcGxhdGZv
cm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlSZXNvbHZlclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VFcnJvclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA3NDUzNmExN2MyYTg4NDBmOWIx
Mjk1MjExN2RkNjBlZWQ1NTE3OWI3Li45ZDU3ZWNkZmFjMWQ5ZWIyOWU3YzMwNjQ0ZWJhN2JhYTkz
NjE2MWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIzMTEsNiArMjMxMSw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQuaCBcCiAgICAgcGxhdGZvcm0v
bmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Bh
cnNlZENvbnRlbnRUeXBlLmggXAorICAgIHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZS5oIFwKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL1Byb3h5U2VydmVyLmggXApAQCAtMjkwNSw2ICsyOTA2LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZVJlcXVlc3RRdC5jcHAgXAogICAgIHBs
YXRmb3JtL25ldHdvcmsvcXQvRE5TUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L05l
dHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3BwIFwKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Byb3h5
U2VydmVyUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVy
LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2ZjEyMDUwNmQ3MWVlN2JlZDBlZjdjZmUyMTJhNzRh
MDllNDg4MDZjLi4zYmNlODMzZThiZDE5Nzc1YmZhMjMzZTliODJhNzUxZGE4YzExZDc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYyLDYgKzc2MiwxMSBAQCBfX1pON1dlYkNvcmUyM0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRBdXRoZW50aWNhdGlvbkNsaWVudEVQTlNfMjBBdXRoZW50
aWNhdAogX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUMxRVJLTlNfMTVQcm90
ZWN0aW9uU3BhY2VFUktOU18xMENyZWRlbnRpYWxFalJLTlNfMTZSZXNvdXJjZVJlc3BvbnNlRVJL
TlNfMTNSZXNvdXJjZUVycm9yRQogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNl
dDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbkV2CiBfX1pON1dlYkNvcmUyM011dGFibGVTdHls
ZVByb3BlcnR5U2V0RDFFdgorX19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzE5
c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9DMUV2CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRDFF
dgorX19aTks3V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xNmNlcnRpZmljYXRlQ2hh
aW5FdgogX19aTjdXZWJDb3JlMjNTeW5jaHJvbm91c0xvYWRlckNsaWVudDI0cGxhdGZvcm1CYWRS
ZXNwb25zZUVycm9yRXYKIF9fWk43V2ViQ29yZTIzY3JlYXRlRnJhZ21lbnRGcm9tTm9kZXNFUE5T
XzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNfNE5vZGVFTG0wRU5TMl8xNUNyYXNoT25PdmVy
Zmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9yVVJMQ29tcG9uZW50VHlwZUVQNU5TVVJMbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXgg
MGI0NGQwZDM3MjVhZWYwYjhjNGU4ZWNhZDA4YzY1M2M1YzMxOWE2Ni4uMmQxZjExYjYwMTAxOTU3
ZmUwMjExMjY1Y2E1M2RkMzI5ZTI5YWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC04MjExLDYgKzgyMTEsMTIgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXGNmXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIj4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxuZXR3b3JrXGNmXFByb3h5U2VydmVyQ0ZOZXQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5NjIxLDYgKzE5
NjI3LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcTmV0
d29ya1N0YXRlTm90aWZpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXG5ldHdvcmtcTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3Jr
XFBsYXRmb3JtQ29va2llSmFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2VIYXNoLmgiIC8+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKaW5kZXggZTEzZTIxNzdhMjBhNTVkYmU3MzNlNTQ0OTA5Yjc4MTU1ZWIzMGJlZC4uMDZkYWUx
NDJhMzc3YzFjZTQ4ZjgwZDFkMjhmMmYxZDEwNWJjZjQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtODg2
MSw2ICs4ODYxLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdv
cmtcUGFyc2VkQ29udGVudFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCI+CiAg
ICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAzZDg0NmQzMzlhYmRiYTlmNzc3ZTBjODc5OGNlZDlhOGViZjljZmRlLi44ZGE0ZjMxYjc4
ZDM2ZWM2ZmMzYzJhNDAxMzIxN2VmZDI0YTVkOTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjc5LDcgKzE2NzksMTAgQEAK
IAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5
IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVE
RkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5
M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2
RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rp
b24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
TWFjLm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdE
QzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyog
SlNFdmVudFRhcmdldC5oICovOyB9OworCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2Vj
dXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAq
LzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBD
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNE
RTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdD
b250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODA0OSw3ICs4MDUyLDEw
IEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5
IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBU
cmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkx
MDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUZDN0RDMjZD
RkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vLi4vLi4vLi4vU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdh
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0aWFsTmF2
aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBEMTE0MDQy
NEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyODgyLDYgKzEyODg4LDcgQEAKIAkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAorCQkJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMjEyQjA0OEEzMDBFRDk4QzYg
LyogQWNjZWxlcmF0ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5M0YxOUIxMzA4
MjQ1RTU5MDAxRTlBQkMgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLywKIAkJCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29sYm94LmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLApAQCAtMTI5ODUsNiArMTI5OTIsNyBAQAogCQkwODY3
RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJp
dHkuZnJhbWV3b3JrICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcu
aCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICov
LAogCQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICov
LApAQCAtMTQ0NzMsNiArMTQ0ODEsNyBAQAogCQkJCUUxM0VGMzQyMTY4NEVDRjQwMDM0QzgzRiAv
KiBOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCAqLywKIAkJCQk0NDc5NTgwMjE2NDNCNDdCMDAxRTBB
N0YgLyogUGFyc2VkQ29udGVudFR5cGUuY3BwICovLAogCQkJCTQ0Nzk1ODAzMTY0M0I0N0IwMDFF
MEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0
MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAogCQkJCTUxNEM3NjVGMENFOTIz
QTEwMDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuY3BwICovLAogCQkJCTUxNEM3NjYwMENFOTIz
QTEwMDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuaCAqLywKIAkJCQk1MUEwNTI1NTEwNTg4NzQw
MDBDQzlFOTUgLyogUHJvdGVjdGlvblNwYWNlSGFzaC5oICovLApAQCAtMTQ1MTUsNiArMTQ1MjQs
NyBAQAogCQkJCTUxNEM3NjQ0MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5o
ICovLAogCQkJCTUxNEM3NjQ1MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5t
bSAqLywKIAkJCQkxQTdGQTY0NzBEREEzQ0JBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZp
ZXJNYWMuY3BwICovLAorCQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQk1MTRDNzY0NjBDRTkyMzRFMDA3RUYzQ0QgLyog
UmVzb3VyY2VFcnJvck1hYy5tbSAqLywKIAkJCQk1MTRDNzY0NzBDRTkyMzRFMDA3RUYzQ0QgLyog
UmVzb3VyY2VIYW5kbGVNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDkwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlUmVxdWVzdE1hYy5tbSAqLywKQEAgLTIyOTQ2LDYgKzIyOTU2LDcgQEAKIAkJCQkw
RjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBTGF5ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNB
TGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEy
RCAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRD
OEExNjRCM0I0RTAwRjMyRDQwIC8qIFBsYXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBCQzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNBQTQ4NzAxNEEwNTI1MzAwODhGQUM0IC8qIFBsYXRmb3JtRXZlbnRGYWN0
b3J5TWFjLmggaW4gSGVhZGVycyAqLywKQEAgLTI2OTUxLDYgKzI2OTYyLDcgQEAKIAkJCQk5NzdF
MkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5
MDBEODM2QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2
Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0
RTlFMDE3NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAwZDdlNTdmYjkxNWQwYTZhOWU4NDc0ZDA4Y2E1
MDZkZjEwMjExNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEw
MCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faAorI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisKKyNp
ZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgorI2VsaWYgVVNFKFNPVVApCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIFJlc291cmNlRXJyb3I7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oKTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworI2VuZGlmCisKKyAgICB+
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENG
TkVUV09SSykKKyAgICB2b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZik7CisgICAg
Q0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3Q7CisjaWZuZGVmIE5ERUJVRworICAg
IHZvaWQgZHVtcCgpIGNvbnN0OworI2VuZGlmCisKKyNlbGlmIFVTRShTT1VQKQorICAgIEdUbHND
ZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdl
dCgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorCisgICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KKyAgICB2
b2lkIHNldFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNF
cnJvcnMgPSB0bHNFcnJvcnM7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKE1B
QykgfHwgVVNFKENGTkVUV09SSykKKyAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxs
eSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRk
IGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KKyAgICBSZXRhaW5QdHI8
Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOworI2VsaWYgVVNFKFNPVVApCisgICAgR1Jl
ZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRl
RmxhZ3MgbV90bHNFcnJvcnM7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAppbmRleCA1Yjc5MDlm
ZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi40NmJmOWI5NTJlZTI5ZDAyMDgwMzll
MjczNmJiZWMyZDlkY2M0MzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFJl
c291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJhc2VfaAogCisjaW5jbHVk
ZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTIsNiArNTMsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRJc1RpbWVvdXQoYm9vbCBpc1RpbWVvdXQpIHsgbV9pc1RpbWVvdXQgPSBpc1Rp
bWVvdXQ7IH0KICAgICBib29sIGlzVGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUaW1lb3V0
OyB9CiAKKyAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgdm9pZCBzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyA9IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CiAgICAgYm9vbCBtX2lzTnVsbDsKICAgICBib29sIG1faXNDYW5jZWxsYXRpb247CiAgICAg
Ym9vbCBtX2lzVGltZW91dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCA0OWJkYzcwMzg5NzhjNGNmY2VkOGFk
NjBhMzM0YTZiNzQ2YjhmOWY4Li4wNzVhNzRhNmM2OTQ1MGNkYTdmODZkYmE1YTVkZmFiYjI1NGE4
OGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJIVFRQSGVh
ZGVyTWFwLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCiAKICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgpAQCAtMTEyLDYgKzExMyw5IEBAIHB1YmxpYzoKICAgICBSZXNvdXJj
ZUxvYWRUaW1pbmcqIHJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0UmVz
b3VyY2VMb2FkVGltaW5nKFBhc3NSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPik7CiAKKyAgICBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBj
b25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgdm9pZCBzZXRQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOyB9CisKICAgICAvLyBUaGUgUmVzb3VyY2VSZXNwb25zZSBzdWJj
bGFzcyBtYXkgInNoYWRvdyIgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBwbGF0Zm9ybS1zcGVjaWZp
YyBtZW1vcnkgdXNhZ2UgaW5mb3JtYXRpb24KICAgICB1bnNpZ25lZCBtZW1vcnlVc2FnZSgpIGNv
bnN0CiAgICAgewpAQCAtMTUyLDYgKzE1Niw3IEBAIHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBt
X2Nvbm5lY3Rpb25JRDsKICAgICBib29sIG1fY29ubmVjdGlvblJldXNlZCA6IDE7CiAgICAgUmVm
UHRyPFJlc291cmNlTG9hZFRpbWluZz4gbV9yZXNvdXJjZUxvYWRUaW1pbmc7CisgICAgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIAogICAgIGJvb2wg
bV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZkOTJlMjMyZTg5ZGNlYmQ2NjE3OTg5YzU5OWVlMTU2MWI3YmE4OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4
IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3MjhlNjI0
ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzExNyw2
IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIG11dGFibGUgUmV0YWluUHRyPE5T
VVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwg
VVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0
IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRv
IGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJh
eVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwg
bV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3BsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4
ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1t
CkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7
Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihj
ZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7Cisg
ICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJl
ZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVCVUcK
K3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAgIHVuc2ln
bmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOworICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJq
ZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2Nl
cnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0
cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZi
NzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2Uw
ZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVz
b3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEs
IGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hh
aW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewogICAgIEFTU0VSVCghd2tDb3B5TlNV
UkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRl
cm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0K
IAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hh
aW4oKSBjb25zdAogewotICAgIGlmIChtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAgICAg
ICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0
Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAg
cmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxS
ZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
KworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2Qw
NTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VF
cnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nh
c3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3
OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5o
CkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJj
ZUVycm9yQmFzZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21h
aW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5n
JiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21h
aW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAg
ICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0g
ICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQg
QEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBT
dHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0
aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0
IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQg
dGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmlj
YXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0K
LSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsg
bV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQor
ICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFn
cz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29u
c3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9Cisg
ICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAK
IHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0Owog
ICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBj
b25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAg
IEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1
Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJv
clNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2Fs
aWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJl
c291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZv
aWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkg
Y29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0g
ICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNl
dFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQog
CiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9y
JiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMzcwZjQzMGI2
OWY3NWJhNjI4NzdlNjNlMGY0OTNjMDliZmQyMWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJhMzRhY2Qw
OTg0MTdjNjhjNTUzNjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJs
aWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJh
c2UoKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+
KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwg
Y29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQog
ICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVu
Z3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhz
dGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhz
dGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAg
IFJlc291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1l
c3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2MSwxMSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Nu
aWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0
IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAg
R1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4g
bV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0
ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQor
ICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlm
aWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9y
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2Fn
ZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMg
PSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vy
cm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3Jz
KCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzQsNiBAQCBwcml2YXRlOgogCiAgICAg
U291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVu
dFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAg
R1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVz
b3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNi
MGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3
MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2Uo
KSBjb25zdAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3Vw
RmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1j
ZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJv
cnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMt
Y2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0
bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7
CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBz
b3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBk
YXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBG
bGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0Nl
cnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19z
dGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2Nl
cnRpZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJy
b3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2Vy
dGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0
VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRD
ZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFk
ZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGVkOTc3ODhiYjgxZTgyNGRmYWI2ZTNkOGM0YjI2ZDliZDc3YTZkZTAu
LmQwMWQxZGViMzE0ZDcyNTQ5NDNkMTdiZmY4NjA1MTEwNDcyYWQ3ZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtNDcxLDggKzQ3MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3Rh
dGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2ll
UGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dl
YkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4
dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzMzAsOCArMTMyOCw2IEBAIHdlYmtpdDJfcGx1Z2luX3By
b2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhl
Y3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50
RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRt
YXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Q
cm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
UHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCAxYmFmNWIxOWFiMjAwM2U1NDhkMDNiYzJlNjU4MmIyMmE0M2ViN2E3Li40MzM5YmQ3OWRjYzVm
OGJlMjUzYjM2MmY4NTAzY2FkMGU2MTYxNWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNp
bmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJv
ci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAg
LTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5B
dXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNl
TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAg
IGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRl
cjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJj
ZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJl
c291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3Bv
bnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGlu
Z01haW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hh
cmVkQnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAwZjQwNjhjZjgwMTI4
M2EyYjg2ZjA1ZGZiYjVhNTQ3OTViMzFhZGEuLjUyODgyNGM2MGMyYjI2NzljNzdiNmVkZTcxMWQ5
ZTgxNTI0NmQyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBSdW5Mb29wOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
QEAgLTQ0LDcgKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBdXRoZW50aWNhdGlv
bk1hbmFnZXI7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5l
dHdvcmtQcm9jZXNzU3VwcGxlbWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
c3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBOZXR3b3Jr
UHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpD
bGllbnQgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJl
cXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2
b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3Qg
U3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmlu
ZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3Qg
Y2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBj
YWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAyODA3YzFl
NTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li45Y2JhYWFiZmMwYzMxOWM3ZTc1OTNhY2RiYmIzOGQ2MGQ1
OWJkZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9u
RW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRl
LCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpT
dHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0
X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkxZTQ0ZGZkNDhhM2QwNTk5
NmI4NWViNjY1ZDc2OGUxOTBiMGViMDkuLjE2ZDdhMjFlODg4NWRiZjU4NDQ0YWJlMjFlM2M4MzM1
YjA4MmVmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5l
dHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNo
YXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDA4ODQ1MmUwMzY1OWI4OWIzMzE0NDMwYjI4
ZmU1N2FmOTgwNWRjNDMuLjAxYjhmNGFmYzZhYWMzYWY4MjFhMGRiZjAwYjE1OGI4MjBlZjQ1Njgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJv
Y2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29y
a1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVy
LmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3Vy
Y2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0
ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGls
aXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPG1h
Y2gvaG9zdF9pbmZvLmg+CiAjaW1wb3J0IDxtYWNoL21hY2guaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggNDg5NWU5OGUyNjc1NGQzZGY1YTA1ODZkMDRjNjU5NmVlYTEyMDhlYS4uODk5
NjhhM2I3MTM3YjVjYjU5NDdjZjI4MDk5YjBhYWRiMTQ5N2JjZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKQEAgLTM3LDcgKzM3LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAK
ICAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAogCi0gICAgU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRy
b2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDZhN2FhNjE4M2U5ZTFmNTRh
ZGMwMDE3MzlhZWU5NzRjZWQwZmNkYjQuLmQ2OGY0ZTE2ZjljOGYzMjUxYWNjMGEyYmI5YjMxNjU1
MmQxNjk4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC03NCw3ICs3NCw2IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcAogICAgIFNoYXJlZC9saW51eC9XZWJNZW1vcnlTYW1wbGVyTGludXguY3BwCi0gICAg
U2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9D
b250cm9sbGVyLmNwcAogICAgIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBs
dWdpbk1vZHVsZVgxMS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgz
ZTBlODIzZjQzNDc1YzJlM2JmYWIuLmU1MGUyNGE5Y2I4Y2I0MDg4MGNlMGFmMDhhYzk2NDA3NjI3
M2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0
aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdp
dGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAgIFJl
ZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRl
SW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsK
KyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0
aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0
aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNl
KCkubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRjNmY4MWU5
NTM5MGZmNzBkMzgxODJiZGM5YjQyNmJhNmUwMWE1OTEuLmQ2ZWMzZmEwZDc0Yzg5Y2U5ZThkYzVl
ZDkzOGRiN2VhMjFlODg3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM2LDEzICsz
NiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7
CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3Mg
V2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9j
ZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAv
LyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNz
CiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3Jl
OjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lk
IHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdl
YkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50
NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsK
IAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JD
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJs
aXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2Yzk2MWRkLi5lNjkxNWNjYjY1
YWRmMGI5YWRlODQ0NGMxYjI4ODA0MjMzZmQ0N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAog
bWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwg
Y3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7
CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
LCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2VsQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3Njlj
Mjc2MDEzLi4xOTQ0ZDM3ZmNiMTAzY2RhZWMyYjUyYjYwYzA5N2E3MmNiYzkwYzg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBACiAK
ICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEwNTVl
OTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLjljYThjMzM4OWI0MWY2MDM5MmIzZmM0Zjg3
Y2Y1NzMzY2U0NmM3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVz
c2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVy
cy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm86IHsKLSAg
ICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OworICAgICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
ICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZv
LmgKaW5kZXggMDYxODJmY2UyZmM2ZDU5N2U5ZjVmOGMwMzk1NzcxOWEyYWE2MmFmNS4uMmNkNzlk
N2UzMjM3YmYwNDI4OWU2ZWExYWE2ZGQzMTdkZTdlOGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdl
YkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2Jq
ZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRl
SW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZv
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8o
aW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykK
ICAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0K
IAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA3ZWZmM2Q1MmYyNzJiYzJk
MmVjOWMzMzM0ZmU0OTMwMjZkZDgxZThjLi45NGYwZWMwNTU2ZTdkZGFjZDFiYjQ0MmFlZjYxZGJm
YTZlOTdlMDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NM
YXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tV
UkwuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9u
U3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KQEAgLTU0NSw2ICs1
NDYsMjMgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
dm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICBpZiAoIWRlY29kZVBs
YXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46
OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJl
c291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGNh
ZTlkOWFjNDUyNWE3NzliYzI1ZWMwN2MyOTBjOGE5MTNmNzQ2OTMuLjk5NDgzMzg2N2FmYWU1YWFj
NzNkZTgwZWJlZDEyNDVjM2FjMDI1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xh
c3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAg
IGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE2OCw2ICsxNjksMTMgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7CiAgICAgc3RhdGlj
IGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
KTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBzdGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURh
dGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVhMWEyZjMz
MTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2NkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotICAg
IGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1w
dWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0g
ICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0
dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5k
ZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAg
ICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhNzM1NDVjNWJkMTY4ZjZhYTky
NmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2lt
cG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0j
aW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQot
Ci1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmlj
YXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2Nl
cnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUo
ZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2Rlciwg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNo
YWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjLm1f
Y2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0
cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFp
biA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAg
IE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAgIE5TTG9nKEAiICBFbnRy
aWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJp
ZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9w
dENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilD
RkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKLSAg
ICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7Ci0gICAgfQot
fQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBjMTI2MDAw
M2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2ZTQ1Li5jMGRjNDZlMjY0ZDA0OTgyMTBjMjY0
Y2FlZjYwYjAyNzU2NjY4ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTQgKzI4LDE0IEBACiAjaW1wb3J0
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5
c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAK
QEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+
OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+
OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgeworICAgICAgICBlbmNv
ZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0
cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxh
dGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVD
aGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRl
Q2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFp
bikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRo
Q2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFj
dGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGMxYjlkZTY5ODBlMDFlNTY2ZTk2YTRmZmFhNzk1MDYxNTQ0MWY4MjAu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgIkFy
Z3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xh
c3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkKLSAgICB7Ci0gICAgfQotCi0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCi0gICAgewotICAgIH0K
LQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Ci0gICAg
ewotICAgIH0KLQotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9x
dC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCmluZGV4IDM1YmYyMmYwYmE5ZTUxZDc0MTQyZDFm
N2UwNmEyYmNlOTE0MzJjYmYuLmY0MTg0NTMwN2Y0MTBjNmExMWZmNWQ0YmVjZTliY2JlYTFmN2Fl
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVu
dENvZGVyc1F0LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC01NCw2ICs1NSwxNiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKK30KKwor
Ym9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIHJldHVybiB0cnVlOworfQorCisKIHZv
aWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikK
IHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY5MDRiNGFl
NmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3MTRlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1
ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJz
b3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQotICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDAp
KQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRl
KHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJl
c3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNv
dXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRl
KCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
cmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBib29sIGhhc0NlcnRp
ZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShj
ZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBH
Qnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0
ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uu
ZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRyPEdC
eXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0KLSAg
ICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKLSAg
ICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJ
Q0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJh
Y2tlbmQpLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRp
ZmljYXRlLmdldCgpLCBOVUxMKSkpOwotCi0gICAgdWludDMyX3QgdGxzRXJyb3JzOwotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMjMxZjM2
ZGIzMmY4ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYxYzA1NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGli
c291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3Bh
Y2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29k
ZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFz
cyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICB+UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7
IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
dGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQotICAgIHZvaWQgZW5j
b2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYp
OwotCi1wcml2YXRlOgotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRl
OwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVy
c1NvdXAuY3BwCmluZGV4IGRjNGUxMTkxNzU3ZWNlMTc1YWQ0ODVhN2FhNzIyNTJmYWZhZTg4NDYu
LjI4ZDIwZDk3NDZmYWM0N2I3MWUyMDFkMmFjMzI3NDcwNzFjMDAwMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02
OCw5ICs2OSw2MCBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1l
bnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIXBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAg
Z19vYmplY3RfZ2V0KEdfT0JKRUNUKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNl
cnRpZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJh
eT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVy
LmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2Vy
dGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRp
Y19jYXN0PHVpbnQzMl90PihwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9
CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRl
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZp
Y2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFy
cmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJh
eV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgp
LCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJy
YXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAg
IEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAg
IEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19D
RVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90
eXBlKGJhY2tlbmQpLCAwLCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5
dGVzLmdldCgpLCAwKSkpOworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmlj
YXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0Nl
cnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwog
dm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9y
KQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJv
cik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VF
cnJvcikKQEAgLTc5LDggKzEzMSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9y
Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5m
by50bHNFcnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpp
bmRleCA3YmFjMzgzZjJmNGVkZTNhMWM5YzQzMWVkOTY2ZTRjNzFhYmU0NTJiLi41ZjA5ODk4ZTli
MDc0NjhmOTJlYzMwZjk0YWJlNmIyYTYxMDZiZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTE1NCw3ICsx
NTQsNiBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwK
ICAgICBTaGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0Lmgg
XAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0
TmV0d29ya1JlcXVlc3REYXRhLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA3MmZlNjZhNDJlYWQyMmZhZjJkOWE0ODVh
OTkxMjI1MzI2MjJmZWQyLi41ODFkYWM1OTFmOGRjZjE5NzIyODBjZTUzYTIwMDlmNDk1Yjc0ZDBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAog
I2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAt
NjIsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNs
dWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CkBAIC0yOTcyLDcgKzI5NzIsNyBAQCBnYm9vbGVh
biB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdU
bHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxT
RTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8g
PSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
OworICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRj
NzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgzODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYx
ODljZTIzMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6
dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRo
b3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7
CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlh
bC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBs
YXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRl
SW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5k
ZXggYTU3MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVh
NjM0NTU5NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94
eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFz
dFVucmVhY2hhYmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQo
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25z
dCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2Fk
U3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9sb2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZm
ZDRhZjJkMTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdk
ZDE1OWFhODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmgKQEAgLTQwLDEwICs0MCwxNCBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29u
bmVjdGlvbjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJh
eTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2
b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBk
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5h
dmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDhhMTk2MDEyODNkYzU4MmFiMjBmYjVhNThiNjQ4MDY1ZTNjN2Yx
NTMuLjdkNGUyZjdkYzcxN2E2N2ZjOTg4MDNhNDUzNDRmZTRhYWMwNDM3MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5
ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwog
ICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNz
IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xh
c3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpAQCAtODA4LDcgKzgw
OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVh
Y2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2
ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRp
ZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lk
IGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMy
X3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
ICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IDliYjlkNTU2MDk4YzhjMzFkODhkMWMwODQzYWIxMTVlNGZlYTBl
MGYuLjg3ZDJiMWQ0ODg2NGMyZDY4ZTdhNWUzODlkYjNlYjk0MmYxMjEwMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE2
LDcgKzExNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3Vi
ZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAg
IERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1l
VHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
IHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWls
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJy
b3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZh
cmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1l
SUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MTU3ZTk5ZThiNTNjN2Fl
YTQ4NmYzNmJhNDNlY2UwMWI5ZGU0MTlmLi43NmFiYzljMjQ3NDA4MjZmN2IwNWRkMmJjNDZmNWJk
ODhmMDY0YzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDQ1LDggKzEwNDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBB
MUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAg
Ki87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsg
fTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2
OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1
RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQz
MDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFF
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFB
MDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggKi87IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJI
aXN0b3J5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAq
LzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNTEyLDggKzI1
MTAsNiBAQAogCQlCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NT
dXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0
NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3
QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0
aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNl
VHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdl
YkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
ZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00MjQ4LDggKzQyNDQsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEw
MDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAw
QjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4
NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3
RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlF
MDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2
OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBA
IC01MjY4LDcgKzUyNjIsNiBAQAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0
ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3
NSAvKiBQREZLaXRJbXBvcnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAz
MDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0
Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgw
MENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAg
LTY0NDcsNyArNjQ0MCw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBs
dWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFF
MkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMw
MDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUE2RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1MzU3YmJjZjQ0MDA0Y2QzYTUyNDc3
ZTU2MzZkNWFiNzJjZDI0Y2I2Li44YWRmZjVjNTQ4Zjg1MzYyNGFiMzdmZWVjYjFkN2E5MDUzMGU3
OTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJO
ZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVk
ZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvRG9jdW1lbnRMb2FkZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2Fk
ZXIuaD4KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNl
aXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcAogICAgIFJl
ZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdG9yKHRoaXMpOwogCiAgICAgUmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwotICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0
aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOworICAgIHJl
c3BvbnNlQ29weS5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwog
ICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlQ29weSk7CiAKICAg
ICAvLyBJZiBtX2NvcmVMb2FkZXIgYmVjb21lcyBudWxsIGFzIGEgcmVzdWx0IG9mIHRoZSBkaWRS
ZWNlaXZlUmVzcG9uc2UgY2FsbGJhY2ssIHdlIGNhbid0IHVzZSB0aGUgc2VuZCBmdW5jdGlvbigp
LiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmgKaW5kZXggYjM3ZTliMGYwOTI4MDkxNWZhNWIyNGY1MDk2NmMwM2QwOWQ2YjAy
NC4uZTg0ZjBmMjUyZGU3NThiMzk2ZjM5YWQ1MzJmOGI3MTdiZjkwNDFmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgK
QEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdl
YkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9u
U3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01
MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVz
b3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2Vu
ZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1
ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWlu
dDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRz
Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0Nv
bnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0
aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwog
ICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggMmFjMjY0OTA5ZjE1NjFmOGRk
N2U3NGVhMzE0ZjBmNjM0NzJmOGIwNy4uZTYxYTllNDQ4YWIxZTRhM2QyZDMxYjU0ZDVjNThkMzk1
YTI3MDE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjcsNyArMjcsNyBA
QCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8g
RklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkg
Zm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJl
c3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90
YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJl
c291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdl
YkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCmluZGV4IDY3ZTIzZTM5ODQzYzhhODI1ZTYxMjI3MDk1MzE2NjhjMmFmOTMyODUuLjc4MTg4
NDQzZTM4NzIxYjQzZGEwZmY5Y2ExYzU3NzJjNGFkMmZkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRp
b25BY3Rpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgi
Ci0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJQbHVnaW5W
aWV3LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVzc2FnZXMuaCIKQEAgLTY3LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L01vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tl
ci5oPgpAQCAtNDQwLDcgKzQ0MCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KIAotICAg
IHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZy
YW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29y
ZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJl
c3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkp
KSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRM
b2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgcmVzcG9uc2UucGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRh
dGEuZ2V0KCkpKSk7CiAKICAgICB3ZWJQYWdlLT5kaWRDb21taXRMb2FkKG1fZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212703</attachid>
            <date>2013-09-26 07:14:39 -0700</date>
            <delta_ts>2013-09-27 07:22:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130926161437.patch</filename>
            <type>text/plain</type>
            <size>100395</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4MTZjNWIxYTI5Nzg4
NTMwZDczYzBmYTk3MTE4ZWE2NzUwZDg0Ni4uMGZlNDg3OWFkNmM5ZDcxZmVlMzg3Y2ZhY2U5ZTVl
MmI0NDFmZWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEzLTA5LTI2ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBU
YXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOjpzZXRDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpzZXRUTFNFcnJvcnMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VFcnJvckJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFz
ZTo6c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2VCYXNlOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bS4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlOjpjZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3Iu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yOjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpzZXRDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlRXJyb3JTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRm
b3JtQ29weSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9u
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9u
c2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVz
c2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNv
dXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTA5LTI2ICBNaWhhaSBNYWVyZWFu
ICA8bW1hZXJlYW5AYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgUmVnaW9uc10gVGhlIGxheWVy
cyBmcm9tIHRoZSBmbG93IHRocmVhZCBzaG91bGQgYmUgY29sbGVjdGVkIHVuZGVyIHRoZSByZWdp
b25zJyBsYXllcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWQ3YWUyNmUyNGI3NDZlODg0NTU3MDNhNWMyZDg0
NDA0ZjViM2Y2MC4uMzY3MzI1N2M5ZDY3MDUwYjM4NmQzYTY2YTM3OWZlZjc0ZjRhNGFmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEzLTA5LTI2ICBDc2FiYSBPc3p0cm9nb27DoWMg
IDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2ZXMgd29y
ayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJvckJhc2UKKyAgICAgICAg
YW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBhbmQgc2V0dGluZyBjZXJ0
aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4KKworICAgICAgICBDaGFu
Z2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZpY2F0ZSBnZXR0ZXJzIGFu
ZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJlc291cmNlUmVzcG9uc2Ug
dG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtZW1iZXIuCisKKyAg
ICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAu
bmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUgZml4ZWQgYnkgQ3NhYmEg
T3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3RzIHJlc29sdmVkIGluIFdl
YkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAs
CisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBhbmQg
UGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXggaW4gdGhlIG5ldyBBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAtIHN0eWxlIGZpeGVkIChO
VUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29yZUFyZ3VtZW50Q29kZXJz
U291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92ZWQgZnJvbSBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlwbyByZW1vdmVkIGZyb20g
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRoZSBpZiBndWFyZCBvZiBp
bmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCB0byBtYWtl
IFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgdG8gbWFr
ZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAg
ICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgor
ICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAg
ICAgIChXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4pOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAg
ICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRp
ZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZv
OjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmlj
YXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAg
KENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06
CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3F0L1dlYkNvcmVB
cmd1bWVudENvZGVyc1F0LmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1E
YXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0wOS0yNSAgTWluanUg
S2ltICA8cG11YXJ0ZW9AZ21haWwuY29tPgogCiAgICAgICAgIDggYnl0ZXMgbWVtb3J5IGxlYWtz
IGluIFdlYlByb2Nlc3NNYWluUXQuY3BwIHdoZW4gcHJveHkgaXMgaW5pdGlhbGl6ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGE3YmM4YWEwN2JiYmJjMzg1YTJlNzUwOTEyNTRh
ZjcwMmIyNTU3Y2YuLmNkYjhkYzIwNWUxMjdmYmM4NTJmYzZhZWMyYzM0OTJlNDUyNjMwMDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTUyMSw2ICs1NTIxLDcgQEAgd2ViY29y
ZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBcCkBAIC01NTUwLDYgKzU1NTEsNyBA
QCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
U291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNl
cnZlclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvclNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYWNhYmQy
NDU1YzBkZWFmOWVhODEwOWRkYTczMDhhODZkMzI5ZDZlMS4uNTQzYWQxZjMyZjliM2M1OTNhM2Iy
MmI3YTg1OWVkZWZmZmY5NjdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1NSw2
ICsxNTUsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvRE5TU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR093blB0clNv
dXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNv
dXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
U291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlSZXNvbHZlclNvdXAuY3Bw
CiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBm
YTg0NmEyZTFmZWJlYmFkNzQyMTI2ODBkNTg4NTMxMzc1MzM5NjQ0Li42NTA0ZDM3ZjYzMTJiMWJk
NzdjYjRlODczMjAyYzRlNDhkNDAyYjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIyOTksNiArMjI5OSw3
IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQu
aCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKICAgICBw
bGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENvbnRlbnRUeXBlLmggXAorICAgIHBsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QbGF0
Zm9ybUNvb2tpZUphci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZS5o
IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3h5U2VydmVyLmggXApAQCAtMjg5Niw2ICsyODk3
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZVJlcXVl
c3RRdC5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvRE5TUXQuY3BwIFwKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3F0L05ldHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3BwIFwKKyAgICBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIFwKICAgICBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1Byb3h5U2VydmVyUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29y
a1JlcGx5SGFuZGxlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2YjJjZTBiMmVhYjIw
YmE4MTRkZjk4ZTA1N2JkODQ2OTQzNTI4OTJmLi42OWZlYWU4NmMxMmJkOGUwNTRjNWQ2Nzg0YTM5
OWNjMzhmNTU2Y2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYzLDYgKzc2MywxMSBAQCBf
X1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRBdXRoZW50aWNhdGlvbkNs
aWVudEVQTlNfMjBBdXRoZW50aWNhdAogX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUMxRVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFUktOU18xMENyZWRlbnRpYWxFalJLTlNfMTZS
ZXNvdXJjZVJlc3BvbnNlRVJLTlNfMTNSZXNvdXJjZUVycm9yRQogX19aTjdXZWJDb3JlMjNNdXRh
YmxlU3R5bGVQcm9wZXJ0eVNldDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbkV2CiBfX1pON1dl
YkNvcmUyM011dGFibGVTdHlsZVByb3BlcnR5U2V0RDFFdgorX19aTjdXZWJDb3JlMjNQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43
V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUV2CitfX1pON1dlYkNvcmUyM1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdXZWJDb3JlMjNTeW5jaHJvbm91c0xvYWRlckNs
aWVudDI0cGxhdGZvcm1CYWRSZXNwb25zZUVycm9yRXYKIF9fWk43V2ViQ29yZTIzY3JlYXRlRnJh
Z21lbnRGcm9tTm9kZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNfNE5vZGVFTG0w
RU5TMl8xNUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9yVVJMQ29tcG9u
ZW50VHlwZUVQNU5TVVJMbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKaW5kZXggYzIxODgwYTA0Yzg1OGRjZjljZjljNjE3OGFiNjllYTE5YzYxZGQw
MC4uMDdmZjk1NTQ2ODg5YzQ5YzBmNzViYmRmNmJhZThhNTNjYjk0MjViMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xOTU2Myw2ICsx
OTU2Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXE5l
dHdvcmtTdGF0ZU5vdGlmaWVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIiAvPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29y
a1xQbGF0Zm9ybUNvb2tpZUphci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlSGFzaC5oIiAvPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCmluZGV4IDRiMjc2NDk4N2QwZjgxY2FiOTBiODFjOTViYmE1NjUyNmIxYjdmNWUuLjUwM2M0
YzlmYzY3MjNjOThjNDVhMDI0Y2E5OGIyN2UzZDE3NmY3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTg4
NjUsNiArODg2NSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3
b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRl
cj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgiPgog
ICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggM2MzNGRlOTU2OGIwNDI2YWY2Yjc1N2ZiYjZlODBkNTIwNWJkY2JhYi4uM2UxMTExOGQ1
OTVmYmJhMGFmYmYyZDJmMThhMzY3MjJjZTYwZmVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTgzNCw3ICsxODM0LDEwIEBA
CiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9OwogCQk1
REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdDMDA3
NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0
aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b01hYy5tbSAqLzsgfTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3
REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8q
IEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNl
Y3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsg
Ki87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUw
QzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZD
REUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2
OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0MjAsNyArODQyMywx
MCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0
OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5
MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2
Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5h
dmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzI3Myw2ICsxMzI3OSw3IEBACiAJCQlpc2EgPSBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CiAJCQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHku
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2
IC8qIEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMw
ODI0NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzNTY0LDYgKzEzNTcxLDcgQEAKIAkJMDg2
N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3Vy
aXR5LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmln
LmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAq
LywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAq
LywKQEAgLTE1MDYwLDYgKzE1MDY4LDcgQEAKIAkJCQlFMTNFRjM0MjE2ODRFQ0Y0MDAzNEM4M0Yg
LyogTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggKi8sCiAJCQkJNDQ3OTU4MDIxNjQzQjQ3QjAwMUUw
QTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0NDc5NTgwMzE2NDNCNDdCMDAx
RTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAx
NDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQk1MTRDNzY1RjBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmNwcCAqLywKIAkJCQk1MTRDNzY2MDBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmggKi8sCiAJCQkJNTFBMDUyNTUxMDU4ODc0
MDAwQ0M5RTk1IC8qIFByb3RlY3Rpb25TcGFjZUhhc2guaCAqLywKQEAgLTE1MTAyLDYgKzE1MTEx
LDcgQEAKIAkJCQk1MTRDNzY0NDBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
aCAqLywKIAkJCQk1MTRDNzY0NTBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
bW0gKi8sCiAJCQkJMUE3RkE2NDcwRERBM0NCQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyTWFjLmNwcCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDYwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlRXJyb3JNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDcwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlSGFuZGxlTWFjLm1tICovLAogCQkJCTUxNEM3NjQ5MENFOTIzNEUwMDdFRjNDRCAv
KiBSZXNvdXJjZVJlcXVlc3RNYWMubW0gKi8sCkBAIC0yMzY0Niw2ICsyMzY1Niw3IEBACiAJCQkJ
MEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1D
QUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhB
MkQgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDQUE0ODcwMTRBMDUyNTMwMDg4RkFDNCAvKiBQbGF0Zm9ybUV2ZW50RmFj
dG9yeU1hYy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc2Niw2ICsyNzc3Nyw3IEBACiAJCQkJOTc3
RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyREYxNzY2ODZE
OTAwRDgzNkE4IC8qIFVwU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJFMzE3
NjY4NkVBMDBEODM2QTggLyogRG93blNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkU4
NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5NjFiN2JkMTY2ZGE4MTY5MzM3ZjY1MzZhOGNl
YTkyZmI2NDkxN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAx
MDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorCisj
aWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNlbGlmIFVTRShT
T1VQKQorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dS
ZWZQdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSZXNvdXJjZUVy
cm9yOworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8geworcHVibGljOgorICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisKKyNpZiBQ
TEFURk9STShNQUMpCisgICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgflBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCk7CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisgICAgdm9p
ZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOworICAgIENGQXJyYXlSZWYgY2VydGlm
aWNhdGVDaGFpbigpIGNvbnN0OworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lkIGR1bXAoKSBjb25z
dDsKKyNlbmRpZgorCisjZWxpZiBVU0UoU09VUCkKKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAgIHZvaWQg
c2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlID0gY2VydGlmaWNhdGU7IH0KKworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9y
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9CisgICAgdm9pZCBzZXRUTFNFcnJvcnMo
R1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3Jz
OyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdP
UkspCisgICAgLy8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVS
TFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFs
aXplZCByZXNwb25zZSBhZnRlciBJUEMuCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fY2Vy
dGlmaWNhdGVDaGFpbjsKKyNlbGlmIFVTRShTT1VQKQorICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmlj
YXRlPiBtX2NlcnRpZmljYXRlOworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3Jz
OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKaW5kZXggNWI3OTA5ZmRiMWRlMDFkNjUzMzFjNzU5
OTRmOTM4YzM3M2YyNzA1Yy4uNDZiZjliOTUyZWUyOWQwMjA4MDM5ZTI3MzZiYmVjMmQ5ZGNjNDM2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVy
cm9yQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VF
cnJvckJhc2UuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBSZXNvdXJjZUVycm9yQmFzZV9o
CiAjZGVmaW5lIFJlc291cmNlRXJyb3JCYXNlX2gKIAorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNUaW1l
b3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9v
bCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lzVGltZW91dDsgfQogCisgICAgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3Qg
eyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsgfQorCiAgICAgc3RhdGljIGJvb2wgY29tcGFyZShjb25zdCBSZXNvdXJj
ZUVycm9yJiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCiBwcm90ZWN0ZWQ6CkBAIC04OSw2ICs5
Myw3IEBAIHByb3RlY3RlZDoKICAgICBpbnQgbV9lcnJvckNvZGU7CiAgICAgU3RyaW5nIG1fZmFp
bGluZ1VSTDsKICAgICBTdHJpbmcgbV9sb2NhbGl6ZWREZXNjcmlwdGlvbjsKKyAgICBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGJvb2wgbV9p
c051bGw7CiAgICAgYm9vbCBtX2lzQ2FuY2VsbGF0aW9uOwogICAgIGJvb2wgbV9pc1RpbWVvdXQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmgKaW5kZXggNDliZGM3MDM4OTc4YzRjZmNlZDhhZDYwYTMzNGE2Yjc0NmI4Zjlm
OC4uMDc1YTc0YTZjNjk0NTBjZGE3Zjg2ZGJhNWE1ZGZhYmIyNTRhODhjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgogI2luY2x1
ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
QEAgLTExMiw2ICsxMTMsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNv
dXJjZUxvYWRUaW1pbmcoKSBjb25zdDsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFRpbWluZyhQ
YXNzUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4pOwogCisgICAgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsgfQorCiAgICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ci
IHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGlu
Zm9ybWF0aW9uCiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1
Miw2ICsxNTYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAg
ICAgYm9vbCBtX2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRU
aW1pbmc+IG1fcmVzb3VyY2VMb2FkVGltaW5nOworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAKICAgICBib29sIG1faXNOdWxsIDogMTsKICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlc3BvbnNlLmgKaW5kZXggZTBhNWRkNDhhZGUxN2FiNDZhZDE0NmU5NDQ5YzQzNGY0OTA1NDA3
MC4uMjczYzhkNzcyOGU2MjRlMWM5ZGY5ZmUwZmE0MjU1MGY4MzI2ZDAwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgK
QEAgLTExNywxMCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0
YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWlu
IGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdh
eSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRp
ZgogICAgIEluaXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25z
ZUlzVXBUb0RhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NDJkYzQwZjg0MzhmODE1YTMxNTdlM2NhOGI0OWUxZjFmNTIzYTk3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQorICAgIDogbV9j
ZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCit7Cit9CisKK1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit2b2lkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlm
aWNhdGVDaGFpbikKK3sKKyAgICBtX2NlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWlu
OworfQorCitDRkFycmF5UmVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNo
YWluKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQor
CisjaWZuZGVmIE5ERUJVRwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNv
bnN0Cit7CisgICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJy
YXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKKworICAgIE5TTG9nKEAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOworICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxu
IiwgZW50cmllcyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkg
eworICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0Nl
cnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0
VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKKyAgICAgICAgTlNM
b2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7CisgICAgfQorfQorI2VuZGlm
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCmluZGV4IDk3ZmNm
ODdmNTNiNmM0ZmE2MjExZmI3NGE1MzZkYWU5OTBiZjE1ZDkuLjNhYmY0NzU4MDkwNmJlZGRiOTFm
NDIzMDY3NDUzNDE4M2FjZTBkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQpAQCAtMTgyLDEzICsx
ODIsMTMgQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2UKIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6
c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7CiAgICAg
QVNTRVJUKCF3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbihuc1VSTFJlc3BvbnNl
KCkpKTsKLSAgICBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47
CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRp
ZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZp
Y2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47Cisg
ICAgaWYgKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKQorICAg
ICAgICByZXR1cm4gYWRvcHRDRihtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
Q2hhaW4oKSk7CiAKICAgICByZXR1cm4gYWRvcHRDRih3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlm
aWNhdGVDaGFpbihuc1VSTFJlc3BvbnNlKCkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9RdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
UXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2ZDkyZTIzMmU4OWRjZWJkNjYxNzk4OWM1OTllZTE1NjFiN2Jh
ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDBjODdlYTM1OWZiMTcy
Nzk0MjFhZWYwYTkwYjRjZDA1ODYwMGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAK
QEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKKyNp
bmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgor
I2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCisgICAgOiBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCit7Cit9CisKK1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAppbmRleCAxYTcwNWYxNWVkN2YzOGY4ZDNh
ZmVkNzAxMWEzMGMwNGJjYzc4ZjE4Li4wNDdiNjljZWEwZGVmYmE2NmMxNGZhZjkyODQ2YzEwMThl
YTE3NGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUVycm9yLmgKQEAgLTQwLDEyICs0MCwxMCBAQCBjbGFzcyBSZXNvdXJjZUVycm9y
IDogcHVibGljIFJlc291cmNlRXJyb3JCYXNlCiBwdWJsaWM6CiAgICAgUmVzb3VyY2VFcnJvcihj
b25zdCBTdHJpbmcmIGRvbWFpbiwgaW50IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBmYWlsaW5n
VVJMLCBjb25zdCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0aW9uKQogICAgICAgICA6IFJlc291
cmNlRXJyb3JCYXNlKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWlsaW5nVVJMLCBsb2NhbGl6ZWREZXNj
cmlwdGlvbikKLSAgICAgICAgLCBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKICAgICBS
ZXNvdXJjZUVycm9yKCkKLSAgICAgICAgOiBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAK
QEAgLTU2LDE3ICs1NCwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgdGlt
ZW91dEVycm9yKGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCk7CiAgICAgc3RhdGljIFJlc291cmNl
RXJyb3IgYXV0aGVudGljYXRpb25FcnJvcihTb3VwTWVzc2FnZSopOwogCi0gICAgdW5zaWduZWQg
dGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRM
U0Vycm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0K
LSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRl
KiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKyAgICB1bnNp
Z25lZCB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnRsc0Vycm9ycygpOyB9CisgICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3Jz
KSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSog
Y2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSog
Y2VydGlmaWNhdGUpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShj
ZXJ0aWZpY2F0ZSk7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29weShSZXNvdXJj
ZUVycm9yJikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgcGxhdGZvcm1Db21wYXJlKGNvbnN0IFJl
c291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpOwotCi0gICAgdW5zaWduZWQg
bV90bHNFcnJvcnM7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAppbmRleCBiYTg2NTdiNTA1MDkwNTI1N2MxZGE0
Y2E3OTlmNzM3NmFkY2RkYzUyLi4wMzI4MTJmNDAyYjcyYWQyY2MzYjNlNmM3NmE1MjVhYjgxMzU3
NWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvclNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAx
MDAgSW5jLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05OCw4ICs5OSw3IEBA
IFJlc291cmNlRXJyb3IgUmVzb3VyY2VFcnJvcjo6dGltZW91dEVycm9yKGNvbnN0IFN0cmluZyYg
ZmFpbGluZ1VSTCkKIAogdm9pZCBSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkoUmVzb3VyY2VF
cnJvciYgZXJyb3JDb3B5KSBjb25zdAogewotICAgIGVycm9yQ29weS5tX2NlcnRpZmljYXRlID0g
bV9jZXJ0aWZpY2F0ZTsKLSAgICBlcnJvckNvcHkubV90bHNFcnJvcnMgPSBtX3Rsc0Vycm9yczsK
KyAgICBlcnJvckNvcHkuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8obV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db21wYXJlKGNv
bnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2Uu
aAppbmRleCAzNzBmNDMwYjY5Zjc1YmE2Mjg3N2U2M2UwZjQ5M2MwOWJmZDIxYTBiLi4wZTkzZjY3
OWI2OTRiYTdjMmEzNGFjZDA5ODQxN2M2OGM1NTM2NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTM3
LDIyICszNywxNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlIDogcHVibGljIFJlc291cmNlUmVz
cG9uc2VCYXNlIHsKIHB1YmxpYzoKICAgICBSZXNvdXJjZVJlc3BvbnNlKCkKICAgICAgICAgOiBS
ZXNvdXJjZVJlc3BvbnNlQmFzZSgpCi0gICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8
U291cE1lc3NhZ2VGbGFncz4oMCkpCi0gICAgICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZVJl
c3BvbnNlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBsb25n
IGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFN0
cmluZyYgZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBtaW1l
VHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQotICAgICAg
ICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAg
ICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291cE1lc3Nh
Z2UpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZs
YWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgICAg
IHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcsMTEgKzYx
LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRTbmlmZmVk
Q29udGVudFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50VHlwZSA9
IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNhdGUo
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRTb3Vw
TWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0
aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2Fn
ZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5j
ZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHND
ZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRD
ZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNv
dXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2
b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9y
cykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
IHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNFcnJvcnMo
R1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7IH0KIAogICAgIGJvb2wgcGxhdGZvcm1SZXNwb25z
ZUlzVXBUb0RhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCkBAIC04MCw4ICs3NCw2IEBA
IHByaXZhdGU6CiAKICAgICBTb3VwTWVzc2FnZUZsYWdzIG1fc291cEZsYWdzOwogICAgIFN0cmlu
ZyBtX3NuaWZmZWRDb250ZW50VHlwZTsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9j
ZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKIAogICAg
IHZvaWQgZG9VcGRhdGVSZXNvdXJjZVJlc3BvbnNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCmluZGV4IDljM2IwZWRiZDlmZDNjYjY3MDhhMGY5OWZlNDJkN2IyNDU1ZDI2ZjAuLjMx
Y2ZiNjgxZTY2YWRhNWMwZTcwYzcyMjA1MmJjODVhYTM3YjAzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9u
c2VTb3VwLmNwcApAQCAtNTIsNyArNTIsNyBAQCBTb3VwTWVzc2FnZSogUmVzb3VyY2VSZXNwb25z
ZTo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0CiAKICAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZsYWdzKHNv
dXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7CiAKLSAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291
cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZS5nZXQoKSwgInRscy1l
cnJvcnMiLCBtX3Rsc0Vycm9ycywgTlVMTCk7CisgICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNv
dXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKSwgInRscy1lcnJvcnMiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRs
c0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBpcyBub3QgaW4gdGhlIG1lc3Nh
Z2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCArNjgsMTAgQEAgdm9pZCBSZXNv
dXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBNZXNz
YWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9mbGFncyhzb3VwTWVzc2Fn
ZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlID0gMDsKLSAgICBzb3VwX21l
c3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNlcnRpZmljYXRlLCAmbV90bHNF
cnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlm
aWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0dXMo
c291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnModGxzRXJyb3JzKTsKKyAgICBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsKIAogICAgIHVwZGF0ZUZy
b21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWI3YzI2OTUyOGNmMDFhMzMwZjYyY2E1
MTE1Zjc5MTU0NTBkMjAwOC4uMzcwOWE4MWUwOWIwZjMxYzczZDkyMzI2Yzk4NzQ1MTY3MTM0NTdi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00NzksOCArNDc5LDYgQEAgd2Vi
a2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmgg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTM0NSw4ICsxMzQzLDYgQEAg
d2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2Nh
aXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0OGQwM2JjMmU2NTgyYjIyYTQzZWI3
YTcuLjQzMzliZDc5ZGNjNWY4YmUyNTNiMzYyZjg1MDNjYWQwZTYxNjE1ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91
c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCArMjgsMTEgQEAKIAogI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KIApAQCAtNjMsNyArNjQsNyBAQCB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtM
b2FkZXJDbGllbnQ6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoTmV0dwog
CiB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25z
ZShOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCiB7Ci0gICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6
OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KHJlc3BvbnNlLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIGxvYWRlci0+aXNM
b2FkaW5nTWFpblJlc291cmNlKCkpKTsKKyAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFpbHVy
ZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0
aWZpY2F0ZUluZm8ocmVzcG9uc2UsIHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCks
IGxvYWRlci0+aXNMb2FkaW5nTWFpblJlc291cmNlKCkpKTsKIH0KIAogdm9pZCBBc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQnVmZmVyKE5ldHdvcmtSZXNvdXJjZUxv
YWRlciogbG9hZGVyLCBTaGFyZWRCdWZmZXIqIGJ1ZmZlciwgaW50IGVuY29kZWREYXRhTGVuZ3Ro
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5k
ZXggMDEyODE3NGEzNjgxMWMxZGNkMjcyYmYwM2NlYzEwNDA1ZWRkMTEwMC4uYjAwZTQxNmRlYmVk
ZTRjNmY2ZjJiNDZlNDJhOWI0ZGRiZWIzMDMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNiw3ICszNiw4IEBACiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFJ1bkxvb3A7
CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7
CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBE
b3dubG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRv
d25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBh
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzU3Rh
dGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxP
cmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGE1
ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5ODVkZDcuLjljYmFhYWJmYzBjMzE5Yzdl
NzU5M2FjZGJiYjM4ZDYwZDU5YmRmMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQ
cm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNz
U3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
OTFlNDRkZmQ0OGEzZDA1OTk2Yjg1ZWI2NjVkNzY4ZTE5MGIwZWIwOS4uMTZkN2EyMWU4ODg1ZGJm
NTg0NDRhYmUyMWUzYzgzMzViMDgyZWY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNyw3ICszNyw2
IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRl
ICJSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNl
LmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggMDg4NDUyZTAz
NjU5Yjg5YjMzMTQ0MzBiMjhmZTU3YWY5ODA1ZGM0My4uMDFiOGY0YWZjNmFhYzNhZjgyMWEwZGJm
MDBiMTU4YjgyMGVmNDU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMzAsMTMgKzMwLDEzIEBACiAKICNp
bXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJOZXR3
b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbXBvcnQgIlNhbmRib3hFeHRl
bnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNp
bXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFj
ZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA4ODA1MGMxOTgzYTY1YmY1N2I0OWRjOWJjOTc3
Y2ZmYzVkZjc1MTliLi45M2RiNWFlYzg2MWE0MTBlMjEwNjk0MjA4MjgxYWFkN2E5ODczN2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDIsNyArNDIsNiBAQCBsaXN0KEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5j
cHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAot
ICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVs
dFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCBjMGJkMGZh
NDRmMTQ5OTdiMTM1ODg3MTQ3ZDRmNDkxZGU3NTA5MTM1Li40MWU1OTcxZjdlZjAxOGUwYzk2OTNm
YmEzNDkyODY2MTMwNmE0YWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNjEsNyAr
NjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMv
U3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAK
ICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5k
ZXggMzRkZDQzMTUxOWEzOTlhM2RkODNlMGU4MjNmNDM0NzVjMmUzYmZhYi4uZTUwZTI0YTljYjhj
YjQwODgwY2UwYWYwOGFjOTY0MDc2MjczZWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0zMyw3ICsz
Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdL
Q2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNh
dGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNl
cnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsKICAgICByZXR1cm4gdG9BUEko
Y2VydGlmaWNhdGVJbmZvLnJlbGVhc2UoKS5sZWFrUmVmKCkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4u
ZDZlYzNmYTBkNzRjODljZTllOGRjNWVkOTM4ZGI3ZWEyMWU4ODdhMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAg
ICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25N
YW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgTmV0d29ya1Byb2Nl
c3NTdXBwbGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0
aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBjb250aW51ZVdpdGhvdXRDcmVk
ZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIGNhbmNl
bENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgCkBAIC02OSw3ICs2OSw3IEBA
IHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgYm9vbCB0cnlVc2VQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7
CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdl
YkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJiMWNjMzBjYTZiYzU5MWJkZWRlZDQxZjBmNTE5
NWVjNzZjOTYxZGQuLmU2OTE1Y2NiNjVhZGYwYjlhZGU4NDQ0YzFiMjg4MDQyMzNmZDQ3YjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEs
NyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIg
ewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwg
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwogICAgIHZvaWQg
Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCmluZGV4IGMwYjkyZjEyYjRl
ZjJkNDg0MjVkZDJiN2ZlMzQxZTc2OWMyNzYwMTMuLjE5NDRkMzdmY2IxMDNjZGFlYzJiNTJiNjBj
MDk3YTcyY2JjOTBjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMu
bW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIFVTRShTRUNVUklUWV9GUkFNRVdPUkspCiAKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1Nl
Y0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9V
c2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29k
ZXJzLmgKaW5kZXggMDAyMmYzMTA1NWU5NGM2ODU4MGZiYWNkNDRkZTM2YjBmN2QwNGU4Yi4uOWNh
OGMzMzg5YjQxZjYwMzkyYjNmYzRmODdjZjU3MzNjZTQ2YzdmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlw
ZUNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICAgICAgICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRl
SW5mbzo6Y3JlYXRlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAz
OTU3NzE5YTJhYTYyYWY1Li4yY2Q3OWQ3ZTMyMzdiZjA0Mjg5ZTZlYTFhYTZkZDMxN2RlN2U4YzBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywy
NyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQ
SU9iamVjdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUlu
Zm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZv
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBj
cmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0gICAgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1
cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0
dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNp
dCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8p
CisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAgICA6IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGFiNjlmZjYwMDU3MThiMjE2OTI0MGZiMjM1YTBjZDliNDA3YWVmZjkuLmVlNTkyYmJh
MjcxN2IxODg5YzJlYjY1NzFiYmM5OWU1Nzk4ODZkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvS1VSTC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgpAQCAtNTQ3LDYgKzU0OCwyMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlUgog
ICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2Rl
UGxhdGZvcm1EYXRhKGVuY29kZXIsIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKK30KKworYm9v
bCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKQoreworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5m
bzsKKworICAgIGlmICghZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlSW5m
bykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
ID0gY2VydGlmaWNhdGVJbmZvOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKICAgICBpZiAoa1Nob3VsZFNl
cmlhbGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKaW5kZXggNjMwYjZiNmNjNjRhNjA4OTg0N2NjZDA1NDhiYjIyNzZlMDQ5
YTQzZS4uYjA1YzQyYmZmMjBlZjYxMDNmZmY2MWQyYTNjZTEzNzMyODFiM2IwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDUsNiArNDUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAg
ICAgY2xhc3MgS1VSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNz
IFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtMTY4LDYgKzE2
OSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwogfTsKIAordGVtcGxhdGU8PiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz4gewor
ICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVu
dERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRp
YyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBib29sIGtT
aG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNjY2Q2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBA
IC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotCi1u
YW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAgIGNsYXNz
IEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0K
LSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBjb25zdDsK
LSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmlj
YXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0
ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0
aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBlbmNvZGVy
IDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVl
OwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkp
OwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQ
Qzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12b2lkIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25lZCBlbnRy
aWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlmaWNhdGVD
aGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1xu
Iik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0cjxDRlN0
cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVjdFN1bW1h
cnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0
ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilz
dW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENv
ZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4ZjZlNDUu
LmMwZGM0NmUyNjRkMDQ5ODIxMGMyNjRjYWVmNjBiMDI3NTY2Njg4NTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBA
IC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
NywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiAjaW1w
b3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxXZWJDb3Jl
L0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
IG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMyLDYgKzEzMywzNyBAQCBib29sIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29k
ZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0
ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIs
IGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFz
Q2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFz
Q2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZXRhaW5QdHI8
Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShk
ZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNo
YWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5z
U3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgp
ID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
VW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDog
QCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFiOWRlNjk4MGUwMWU1NjZl
OTZhNGZmYWE3OTUwNjE1NDQxZjgyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9faAotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1l
bnRFbmNvZGVyLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJs
aWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAgIHsKLSAgICB9Ci0KLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJikKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyJikgY29uc3QKLSAgICB7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZGVjb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKLSAg
ICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKaW5kZXgg
MzViZjIyZjBiYTllNTFkNzQxNDJkMWY3ZTA2YTJiY2U5MTQzMmNiZi4uZjQxODQ1MzA3ZjQxMGM2
YTExZmY1ZDRiZWNlOWJjYmVhMWY3YWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAK
KyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTU0LDYgKzU1
LDE2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9CiAKIAordm9pZCBBcmd1bWVudENvZGVy
PFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKQoreworfQorCitib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRkNWNmZGE2ZTdlZWJhNjcxNGViLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAi
QXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNw
b25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgp
KQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1lc3NhZ2VUTFNFcnJvcnMoKSkKLXsK
LX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJl
c291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkKLXsKLX0K
LQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17
Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlKSB7
Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAgIGdfb2JqZWN0X2dldChHX09C
SkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0
YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKLSAgICAgICAgZW5jb2RlciA8
PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsK
LSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmlj
YXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3Jl
SVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7
Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90bHNFcnJvcnMpOwotfQot
Ci1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
KQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSho
YXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2Vy
dGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZVZh
cmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0
ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAg
Y2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5z
aXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYo
Y2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFj
a2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmljYXRlID0g
YWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2JhY2tlbmRf
Z2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCksIE5VTEwpKSk7Ci0KLSAgICB1aW50
MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fdGxzRXJyb3JzID0gc3Rh
dGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycyk7Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2N2I2ZGI0NWMxNDdmNjFjMDU1MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwK
QEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3Jv
bGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5k
ZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVj
dC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3VtZW50RGVjb2Rl
cjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0g
ICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGlj
aXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYp
OwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotCi0gICAgR1Rsc0NlcnRpZmljYXRl
KiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAg
ICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vy
cm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29u
c3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2Vy
dGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNF
cnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggZGM0ZTExOTE3NTdlY2UxNzVh
ZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uMjhkMjBkOTc0NmZhYzQ3YjcxZTIwMWQyYWMzMjc0NzA3
MWMwMDAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1l
c3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY4LDkgKzY5LDYwIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlCiB9CiAKIAordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6
ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGlmICgh
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVy
IDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2Vy
dGlmaWNhdGVEYXRhID0gMDsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QocGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURh
dGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIg
PDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZp
Y2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQorewor
ICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0
aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNh
dGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBj
ZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxl
TGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJh
eV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgY2VydGlm
aWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkp
OworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRlcyA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNr
ZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2Jh
Y2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCisgICAgICAgICJjZXJ0
aWZpY2F0ZSIsIGNlcnRpZmljYXRlQnl0ZXMuZ2V0KCksIDApKSk7CisgICAgcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWlu
dDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vy
cm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46
OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7Ci0gICAgZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyhyZXNvdXJjZUVycm9yKTsKKyAgICBlbmNvZGVyIDw8IHJlc291cmNlRXJyb3Iu
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKIH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFJlc291
cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBS
ZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQpAQCAtNzksOCArMTMxLDcgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmVzb3VyY2VFcnJvci5zZXRDZXJ0aWZpY2F0
ZShjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7Ci0gICAgcmVzb3VyY2VFcnJvci5zZXRU
TFNFcnJvcnMoY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKKyAgICByZXNvdXJjZUVycm9y
LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDU5N2UwMTA4ODQ3YzI4OWU3ODQyMGRlOWM1MmEz
NTVmZDFlMDk2ZjIuLjYyZDgxYzhmNzVjNDk2MzkwZTgyYzg5YTU4M2IzZGQ3NDE2YjljNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIv
VGFyZ2V0LnByaQpAQCAtMTU0LDcgKzE1NCw2IEBAIEhFQURFUlMgKz0gXAogICAgIFNoYXJlZC9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBcCiAgICAgU2hhcmVkL1Bs
dWdpbnMvUGx1Z2luUXVpcmtzLmggXAogICAgIFNoYXJlZC9xdC9Bcmd1bWVudENvZGVyc1F0Lmgg
XAotICAgIFNoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKICAgICBTaGFyZWQv
cXQvV2ViRXZlbnRGYWN0b3J5UXQuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0
YS5oIFwKICAgICBTaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDQ0
NjI5ZWNmZmRhNjI1MzZkODhhZjFjZjU4MzE2MTk1NjdhZDk1MTUuLmI1OWY0YjUwYzhiZDE5MzBi
MTZkODgxMTRkZWRmYjc2MzJkOTVlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAjaW5jbHVk
ZSAiV2ViS2l0V2ViVmlldy5oIgogCiAjaW5jbHVkZSAiSW1hZ2VPcHRpb25zLmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJDb250
ZXh0TWVudUl0ZW1EYXRhLmgiCkBAIC02Miw2ICs2MSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9E
cmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvR3RrVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxn
bGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KQEAgLTI5
ODcsNyArMjk4Nyw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8oV2Vi
S2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5GcmFt
ZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZv
KCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAg
ICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBp
ZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3Bw
CmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmE5ODM4MmFl
ZDMyODQ1ZDA3ZDE2Mzc1NmQyYjVhNjE4OWNlMjMxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRl
bnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRp
b25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxl
bmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0
aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2Vy
dGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxh
dGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpIDogV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29y
ZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCBhNTcwODdjMWZkNGM4ZGFjMjAyMjMwN2FkNDViNmEx
NTg5ZWFkMmYzLi42MjUyYmU2MDU4NWE2MzQ1NTk3MDdmN2NiZjY4YjQyYzAwMDcxNzg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzgsNyArMTM4
LDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBt
X3VucmVhY2hhYmxlVVJMID0gbV9sYXN0VW5yZWFjaGFibGVVUkw7CiB9CiAKLXZvaWQgV2ViRnJh
bWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVBy
b3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNT
RVJUKG1fbG9hZFN0YXRlID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0
ZSA9IExvYWRTdGF0ZUNvbW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oCmluZGV4IDBiZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjli
M2U2YzE5NzRmNTAwOGMxMTQ1YmVmN2RkMTU5YWE4N2Q3MThlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBD
b3JlSVBDIHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
CisKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTEwNiw3
ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25z
dCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92
aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZCgpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZvaWQgZGlk
RmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29uc3QgU3Ry
aW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTljZmNkZjFlNzJlYTJj
NmUzYjk0ZDZkNmFjYjM2ZGYwZDU0OWNkZi4uZDg2NmQxNDdmY2YzMTczNzI2NmM5NDE0ODk3ODc0
YTk4NmFmYzMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MTAyLDYgKzEwMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGbG9hdFJlY3Q7
CiAgICAgY2xhc3MgR3JhcGhpY3NMYXllcjsKICAgICBjbGFzcyBJbnRTaXplOworICAgIGNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAg
ICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAgICAgc3RydWN0IEZpbGVDaG9vc2VyU2V0dGluZ3M7CkBA
IC0xMzMsNyArMTM0LDYgQEAgY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5h
dGl2ZVdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgUGFn
ZUNsaWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5nUGFp
clZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW07CkBAIC04MDgsNyArODA4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
KyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBT
dHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOWJiOWQ1NTYwOThjOGMz
MWQ4OGQxYzA4NDNhYjExNWU0ZmVhMGUwZi4uODdkMmIxZDQ4ODY0YzJkNjhlN2E1ZTM4OWRiM2Vi
OTQyZjEyMTAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTYsNyArMTE2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVBy
b3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogCiAgICAgIyBG
cmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNh
dGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRh
KSBWYXJpYWRpYwogICAgIERpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwg
V2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFk
aWMKICAgICBEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRp
YwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDE1MDYyZGU5NDg2MmE3YWFhNGIwZDNmZmI2MmNjZTVjY2Q0ZTQ0YjcuLjRjZTk2ZjBm
MjY5NDQyMGZiOGE4YzkzNWI1ODBiYzAyNTMwN2FmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDEsOCArMTA0MSw2IEBA
CiAJCUJDRjE4NjM4MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEEx
QTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZD
IC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQ
cm9jZXNzU3VwcGxlbWVudC5oICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyog
V2ViQ29udGV4dFN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxl
bWVudC5oICovOyB9OwotCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
ICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi87
IH07CiAJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0
MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIg
LyogV2ViSGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQu
aCAqLzsgfTsKQEAgLTI0ODAsOCArMjQ3OCw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1
QSAvKiBDYWNoZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENhY2hlTW9kZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2
OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0g
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVB
RSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQx
MjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0g
U2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2Vj
dXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcy
NjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xp
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQxNzMsOCArNDE2OSw2IEBA
CiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywK
IAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJ
CUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJD
RjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAot
CQkJCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICov
LAogCQkJCTFBRjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5oICovLAogCQkJCTFBRjFBQzY5MTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbi5tbSAqLywKQEAgLTUxNDAsNyArNTEzNCw2IEBACiAJCQkJQzU3NEE1ODEx
MkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTE5NTgyRDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxRkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIx
MjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM4NzgwRkMxMTYxQzJCODAwQ0MyNzY4IC8qIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNkZCN0QzMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVn
aW4uaCBpbiBIZWFkZXJzICovLApAQCAtNjMwNSw3ICs2Mjk4LDYgQEAKIAkJCQkyRDJBREYxMDE2
MzY0RDgyMDAxOTdFNDcgLyogUERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTJENDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZp
ZWxkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBE
RlBsdWdpblRleHRBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQz
MDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2lu
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGE1YWI1YWQ0OTBkZDE2MTY2ZWUxZTNjYTFhMzQzYzRhNmU0ZGZkYmQuLjkyMTAwOTk2NzcyOGMz
ZDdmMjViOTZiMTk3M2JkMmFlOGMyYTU4YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMzIsMTEgKzMy
LDExIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCi0j
aW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgV2Vi
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29u
c3QgUmVzb3VyY2VSZXNwCiAgICAgUmVmPFdlYlJlc291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlz
KTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICBy
ZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNh
dGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHkuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShy
ZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9jb3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBh
IHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2Ug
dGhlIHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDljOTg2ZjJlNDdlNTIzMTg4ZWE0
NWQwYjEzNDljN2Y0ODBkZWQ1NzIuLjQ1MTAwYTc5ZWQ1Zjk2MjFjNmE4NGE5NjQyOTYzY2RmMTgy
M2I1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7
CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBS
ZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0
eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElkZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291
cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMg
Q29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2
b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1Rv
QmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7Cisg
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0
X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRv
dWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4
IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4YWIwOTg2NGEuLmVjYzc0YTA1NjEzZTc3
ZmY3ZGY3ZTY3MTY0YjIxNDRmNWJlYjljYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMu
aW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5
UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVj
aCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJl
cXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRl
c1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2Us
IFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5l
ZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNw
b25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25z
ZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29s
IG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVE
YXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0
aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlk
RmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA5YjYwOTBlNzlkZGU3MmE5ZWIyMDJiZjViYWZm
NWQ4MTMyMjY5MDVkLi5jZDA5YjllNmMxMzBhZDJlMzNmZWRmZGFkMDZkNjRkZjhlODY0OWM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFBy
b3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2VzLmgiCkBAIC02Nyw2ICs2Niw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJ
bXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRh
dGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1pdExvYWQoKQogCiAgICAgLy8gTm90aWZ5IHRo
ZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVU
eXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyKHVzZXJEYXRhLmdldCgpKSkpOworICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9u
c2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCks
IHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0
TG9hZChtX2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212804</attachid>
            <date>2013-09-27 07:22:30 -0700</date>
            <delta_ts>2013-09-30 00:36:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130927072236.patch</filename>
            <type>text/plain</type>
            <size>100441</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU0YzUzYTgyMzgzNDlk
NTdkYjMyMjk1NjU3N2ZhMTFiNTE1Njc5Yy4uZjk1NWQxYWY5YjcwM2RlZDAxYTczYWNkZTZhNzIy
ZDhiYTA2NmY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDEzLTA5LTI3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9ycyk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3Jz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6
OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0
Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNl
dENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb1F0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9Tb3VwLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yOjpSZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnRsc0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpz
ZXRUTFNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6Y2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0Q2VydGlmaWNhdGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2FnZVRMU0Vycm9ycyk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZVRMU0Vy
cm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3Nh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBN
ZXNzYWdlKToKKwogMjAxMy0wOS0yNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFVuZXhwZWN0ZWQgd29yZCB3cmFwcGluZyBmb3Igd3JhcHBlZCBjb250ZW50IHRo
ZW4gcmF3IGNvbnRlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTQ5OWY1OTUwYTNmMTBhZDk3ZDc2MWNmNmRh
NGVlNWFkNDk0ODk0MC4uNzc3OTkxNTQ0YzhjZjg0NDdiMWU2MWVjMzA5NzI0MDU2NTUxMWU5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEzLTA5LTI3ICBDc2FiYSBPc3p0cm9nb27D
oWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2ZXMg
d29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJvckJhc2UKKyAgICAg
ICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBhbmQgc2V0dGluZyBj
ZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4KKworICAgICAgICBD
aGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZpY2F0ZSBnZXR0ZXJz
IGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJlc291cmNlUmVzcG9u
c2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtZW1iZXIuCisK
KyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkx
MDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUgZml4ZWQgYnkgQ3Nh
YmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3RzIHJlc29sdmVkIGlu
IFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBh
bmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXggaW4gdGhlIG5ldyBB
c3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAtIHN0eWxlIGZpeGVk
IChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92ZWQgZnJvbSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlwbyByZW1vdmVkIGZy
b20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRoZSBpZiBndWFyZCBv
ZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCB0byBt
YWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgdG8g
bWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgor
ICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtl
OgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06Cisg
ICAgICAgIChXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4pOgorICAg
ICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAg
ICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoK
KyAgICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAg
ICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNl
cnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJ
bmZvOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRp
ZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAg
ICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMu
bW06CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChD
b3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3F0L1dlYkNv
cmVBcmd1bWVudENvZGVyc1F0LmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZv
cm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAg
ICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAg
ICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6
OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJf
dmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5Ojpk
aWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0wOS0yNyAgQWxs
YW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBb
UXRdIEZpeCBmb3JjZV9zdGF0aWNfbGlic19hc19zaGFyZWQgaW4gV2ViS2l0MgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZjFmZjgzZjUwYTVjN2NkNDZjNmIzODAzMDI1OTdiMjQz
MTY5NDg2ZS4uNDg3NmFjM2MyYjI3MzU0OTAzZjRiMWQ1MDZjZjQ4OGI2NjI5NzE0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NTE4LDYgKzU1MTgsNyBAQCB3ZWJjb3JlX3Bs
YXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya1N0YXRlTm90aWZpZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIFwKQEAgLTU1NDcsNiArNTU0OCw3IEBAIHdl
YmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3Vw
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVy
U291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBhY2FiZDI0NTVj
MGRlYWY5ZWE4MTA5ZGRhNzMwOGE4NmQzMjlkNmUxLi41NDNhZDFmMzJmOWIzYzU5M2EzYjIyYjdh
ODU5ZWRlZmZmZjk2N2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTU1LDYgKzE1
NSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9ETlNTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9HT3duUHRyU291cC5j
cHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5j
cHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3Vw
LmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVJlc29sdmVyU291cC5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDUwNGQ5
MmQwNTJmYzA0NjJlMGIxYmI4MzE0MjlmOTc3MjAwMGU1ZmQuLmVlOTIzM2UzN2JiYTJlMDE0ZWJk
NDkxY2Q4ZWQyZDU0MDZlODUyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjI4NSw2ICsyMjg1LDcgQEAg
SEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3JraW5nQ29udGV4dC5oIFwK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggXAogICAgIHBsYXRm
b3JtL25ldHdvcmsvUGFyc2VkQ29udGVudFR5cGUuaCBcCisgICAgcGxhdGZvcm0vbmV0d29yay9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3Jt
Q29va2llSmFyLmggXAogICAgIHBsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlLmggXAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvUHJveHlTZXJ2ZXIuaCBcCkBAIC0yODgyLDYgKzI4ODMsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlUmVxdWVzdFF0
LmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9ETlNRdC5jcHAgXAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvcXQvTmV0d29ya1N0YXRlTm90aWZpZXJRdC5jcHAgXAorICAgIHBsYXRmb3JtL25l
dHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9RdC5jcHAgXAogICAgIHBsYXRmb3JtL25l
dHdvcmsvcXQvUHJveHlTZXJ2ZXJRdC5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvUXRN
SU1FVHlwZVNuaWZmZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVw
bHlIYW5kbGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGYwYWFiODYxNTJmMmI4YmQ0
N2FhZWQ0MjlhODg4NDAxMTE2YmQ1YjYuLmI3NzlhMzk5ODdlMmVlZjZjMWYzYzA4NDA5ZDVlYmJh
OGU3MmU2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjMsNiArNzYzLDExIEBAIF9fWk43
V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50
RVBOU18yMEF1dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
QzFFUktOU18xNVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291
cmNlUmVzcG9uc2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVT
dHlsZVByb3BlcnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29y
ZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJD
b3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3Jl
MjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0MxRXYKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9EMUV2CitfX1pOSzdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzE2
Y2VydGlmaWNhdGVDaGFpbkV2CiBfX1pON1dlYkNvcmUyM1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50
MjRwbGF0Zm9ybUJhZFJlc3BvbnNlRXJyb3JFdgogX19aTjdXZWJDb3JlMjNjcmVhdGVGcmFnbWVu
dEZyb21Ob2Rlc0VQTlNfOERvY3VtZW50RVJLTjNXVEY2VmVjdG9ySVBOU180Tm9kZUVMbTBFTlMy
XzE1Q3Jhc2hPbk92ZXJmbG93RUVFCiBfX1pON1dlYkNvcmUyM2RhdGFGb3JVUkxDb21wb25lbnRU
eXBlRVA1TlNVUkxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagppbmRleCBlM2RmZWI5MTUxZDgyOGQwOTVmNTYzZDJiNTFlMDk3Njk2NjVjMzIyLi4z
ZTM0OTVhNWUzYzY1MTliMTZkMzQ0YmM0NmNlMGQ2NWZjMmIwMTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE5MzgxLDYgKzE5Mzgx
LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcTmV0d29y
a1N0YXRlTm90aWZpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XG5ldHdvcmtcTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBs
YXRmb3JtQ29va2llSmFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2VIYXNoLmgiIC8+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
aW5kZXggMWYwY2Q5NDc0NDk4Yjc5ZTczOWQzNjZlZWMwODI4ZGRmMDY5NzRiZi4uODE4MmQ3NWNh
OGY0ODNiZmVjNWM0YzJmMDFhMzc3OWI5ZTA1Mjc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtODgyNiw2
ICs4ODI2LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtc
UGFyc2VkQ29udGVudFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXG5ldHdvcmtcUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8RmlsdGVyPnBs
YXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIuaCI+CiAgICAg
ICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAwYzRmYjU0Y2UyOTBmYjVkN2FkZjU5MWJjYWQwYjM1OGQ5Y2UyOWU2Li45OGMxYTcxNGU3ODMx
MzVmZGI0ZTUxOTI2YWU2OTE4N2U1YzdjZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODQyLDcgKzE4NDIsMTAgQEAKIAkJ
NURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdl
bmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4
MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4
RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2
IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24u
aCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2
Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNF
dmVudFRhcmdldC5oICovOyB9OworCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJp
dHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsg
fTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0
MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBG
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250
ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhE
MjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODQyNyw3ICs4NDMwLDEwIEBA
CiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8q
IFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFu
c2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcx
NUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUZDN0RDMjZDRkUy
NTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3Jr
OyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vLi4vLi4vLi4vU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0aWFsTmF2aWdh
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBEMTE0MDQyNEMw
MDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjY5LDYgKzEzMjc1LDcgQEAKIAkJCWlzYSA9IFBCWEZy
YW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAorCQkJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMjEyQjA0OEEzMDBFRDk4QzYgLyog
QWNjZWxlcmF0ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5M0YxOUIxMzA4MjQ1
RTU5MDAxRTlBQkMgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgaW4gRnJhbWV3b3Jr
cyAqLywKIAkJCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29sYm94LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLApAQCAtMTM1NjksNiArMTM1NzYsNyBAQAogCQkwODY3RDY5
MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHku
ZnJhbWV3b3JrICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCAq
LywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICovLAog
CQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovLApA
QCAtMTUwNjcsNiArMTUwNzUsNyBAQAogCQkJCUUxM0VGMzQyMTY4NEVDRjQwMDM0QzgzRiAvKiBO
ZXR3b3JrU3RvcmFnZVNlc3Npb24uaCAqLywKIAkJCQk0NDc5NTgwMjE2NDNCNDdCMDAxRTBBN0Yg
LyogUGFyc2VkQ29udGVudFR5cGUuY3BwICovLAogCQkJCTQ0Nzk1ODAzMTY0M0I0N0IwMDFFMEE3
RiAvKiBQYXJzZWRDb250ZW50VHlwZS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4
NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAogCQkJCTUxNEM3NjVGMENFOTIzQTEw
MDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuY3BwICovLAogCQkJCTUxNEM3NjYwMENFOTIzQTEw
MDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuaCAqLywKIAkJCQk1MUEwNTI1NTEwNTg4NzQwMDBD
QzlFOTUgLyogUHJvdGVjdGlvblNwYWNlSGFzaC5oICovLApAQCAtMTUxMDksNiArMTUxMTgsNyBA
QAogCQkJCTUxNEM3NjQ0MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5oICov
LAogCQkJCTUxNEM3NjQ1MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5tbSAq
LywKIAkJCQkxQTdGQTY0NzBEREEzQ0JBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJN
YWMuY3BwICovLAorCQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQk1MTRDNzY0NjBDRTkyMzRFMDA3RUYzQ0QgLyogUmVz
b3VyY2VFcnJvck1hYy5tbSAqLywKIAkJCQk1MTRDNzY0NzBDRTkyMzRFMDA3RUYzQ0QgLyogUmVz
b3VyY2VIYW5kbGVNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDkwQ0U5MjM0RTAwN0VGM0NEIC8qIFJl
c291cmNlUmVxdWVzdE1hYy5tbSAqLywKQEAgLTIzNjQ2LDYgKzIzNjU2LDcgQEAKIAkJCQkwRjEz
MTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBTGF5ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAv
KiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQx
N0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjc3NTgsNiArMjc3NjksNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBF
MTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2RDkwMEQ4MzZBOCAv
KiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMxNzY2ODZFQTAwRDgz
NkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRFOUUwMTc2NjhC
RUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lOTYxYjdiZDE2NmRhODE2OTMzN2Y2NTM2YThjZWE5MmZiNjQ5MTdh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRGT1JN
KE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNs
dWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Cisj
ZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNz
IFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1
YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFD
KQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlm
aWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwor
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4o
KSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYK
KworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7
IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlm
CisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8v
IENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwg
YnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9u
c2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hh
aW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0
aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNm
MjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgK
QEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJvckJhc2VfaAogI2RlZmluZSBS
ZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzVGltZW91dChib29sIGlz
VGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0
KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0KIAorICAgIGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYsIGNv
bnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAtODksNiArOTMsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAg
ICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1faXNOdWxsOwogICAg
IGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CmluZGV4IDQ5YmRjNzAzODk3OGM0Y2ZjZWQ4YWQ2MGEzMzRhNmI3NDZiOGY5ZjguLjA3NWE3NGE2
YzY5NDUwY2RhN2Y4NmRiYTVhNWRmYWJiMjU0YTg4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJLVVJMLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRUaW1pbmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0xMTIsNiAr
MTEzLDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGlt
aW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxS
ZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAg
IC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhv
ZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1lbW9yeSB1c2FnZSBpbmZvcm1hdGlvbgog
ICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7CkBAIC0xNTIsNiArMTU2LDcg
QEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbklEOwogICAgIGJvb2wgbV9j
b25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jl
c291cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5o
CmluZGV4IGUwYTVkZDQ4YWRlMTdhYjQ2YWQxNDZlOTQ0OWM0MzRmNDkwNTQwNzAuLjI3M2M4ZDc3
MjhlNjI0ZTFjOWRmOWZlMGZhNDI1NTBmODMyNmQwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0xMTcsMTAg
KzExNyw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIG11dGFibGUgUmV0YWlu
UHRyPE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNwb25zZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1B
QykgfHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxs
eSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRk
IGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8
Q0ZBcnJheVJlZj4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47Ci0jZW5kaWYKICAgICBJbml0
TGV2ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9vbCBtX3BsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRl
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0
MGY4NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYxZjUyM2E5NwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
TWFjLm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkg
MTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmln
LmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpCit7Cit9CisKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVD
aGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKwordm9pZCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4p
Cit7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZB
cnJheVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsKK30KKworI2lmbmRlZiBO
REVCVUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAg
IHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQo
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMp
OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAg
UmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNv
cHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRl
eChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIs
IChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZh
NjIxMWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4zYWJmNDc1ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQx
ODNhY2UwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4MiwxMyArMTgyLDEzIEBAIGJv
b2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmlj
YXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewogICAgIEFTU0VSVCghd2tD
b3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7Ci0gICAg
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworICAgIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWlu
KTsKIH0KIAogUmV0YWluUHRyPENGQXJyYXlSZWY+IFJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmlj
YXRlQ2hhaW4oKSBjb25zdAogewotICAgIGlmIChtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbikK
LSAgICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmIChtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJu
IGFkb3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwog
CiAgICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4o
bnNVUkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb1F0LmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkK
K3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5
MGI0Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEs
NDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVz
b3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxs
aWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3Rh
dGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBj
MDRiY2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJy
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VF
cnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBS
ZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5n
JiBkb21haW4sIGludCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3Qg
U3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFz
ZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0g
ICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJv
cigpCi0gICAgICAgIDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyAr
NTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihj
b25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhl
bnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygp
IGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5z
aWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0
KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNh
dGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJy
b3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMo
KTsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNh
dGVGbGFncz4odGxzRXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgp
OyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUp
OyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNv
bnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9y
JiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3Jz
OwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZh
ZGNkZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVy
cm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwp
CiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9y
Q29weSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNh
dGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JD
b3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OwogfQogCiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJj
ZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMzcw
ZjQzMGI2OWY3NWJhNjI4NzdlNjNlMGY0OTNjMDliZmQyMWEwYi4uMGU5M2Y2NzliNjk0YmE3YzJh
MzRhY2QwOTg0MTdjNjhjNTUzNjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zNywyMiArMzcsMTYg
QEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7
CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgIDogUmVzb3VyY2VSZXNw
b25zZUJhc2UoKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdl
RmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShjb25z
dCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExl
bmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVu
YW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVj
dGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAgLCBtX3NvdXBG
bGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vy
cm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0K
IAogICAgIFJlc291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAg
ICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNf
Y2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9t
U291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2MSwxMSBAQCBwdWJs
aWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBl
KGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQog
Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBj
ZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUq
IGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUo
Y2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRM
U0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRTb3Vw
TWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNF
cnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2Fn
ZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxz
RXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vy
cm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzQsNiBAQCBwcml2YXRlOgog
CiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVk
Q29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7
Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBk
YXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRl
eCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFk
YTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAK
QEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1l
c3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwg
bV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwg
InRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90
bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSks
ICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwg
TlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJl
dHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25z
ZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBt
X3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAg
R1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9o
dHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAg
ICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
dGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdl
LCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9tU291cE1lc3Nh
Z2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDliN2MyNjk1MjhjZjAxYTMzMGY2MmNhNTExNWY3OTE1NDUw
ZDIwMDguLjM3MDlhODFlMDliMGYzMWM3M2Q5MjMyNmM5ODc0NTE2NzEzNDU3YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDc5LDggKzQ3OSw2IEBAIHdlYmtpdDJfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3Vw
Q29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzNDUsOCArMTM0Myw2IEBAIHdlYmtpdDJfcGx1
Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9j
ZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dl
YkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFi
bGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNw
cAppbmRleCAxYmFmNWIxOWFiMjAwM2U1NDhkMDNiYzJlNjU4MmIyMmE0M2ViN2E3Li40MzM5YmQ3
OWRjYzVmOGJlMjUzYjM2MmY4NTAzY2FkMGU2MTYxNWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50LmNwcApAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMu
aCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50
OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAogdm9pZCBBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jl
c291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQog
ewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJj
ZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9hZGluZ01haW5S
ZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6
OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KHJlc3BvbnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlz
TG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRl
ciwgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAxMjgxNzRh
MzY4MTFjMWRjZDI3MmJmMDNjZWMxMDQwNWVkZDExMDAuLmIwMGU0MTZkZWJlZGU0YzZmNmYyYjQ2
ZTQyYTliNGRkYmViMzAzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBSdW5Mb29wOwogfQogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTQ0LDcgKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBdXRoZW50
aWNhdGlvbk1hbmFnZXI7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNs
YXNzIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOwogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBO
ZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5h
Z2VyOjpDbGllbnQgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3du
bG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsK
ICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0
IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50
MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAy
ODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li45Y2JhYWFiZmMwYzMxOWM3ZTc1OTNhY2RiYmIz
OGQ2MGQ1OWJkZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHBy
ZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwg
V1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3Mo
dWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkxZTQ0ZGZkNDhh
M2QwNTk5NmI4NWViNjY1ZDc2OGUxOTBiMGViMDkuLjE2ZDdhMjFlODg4NWRiZjU4NDQ0YWJlMjFl
M2M4MzM1YjA4MmVmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5oIgogI2luY2x1
ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDA4ODQ1MmUwMzY1OWI4OWIzMzE0
NDMwYjI4ZmU1N2FmOTgwNWRjNDMuLjAxYjhmNGFmYzZhYWMzYWY4MjFhMGRiZjAwYjE1OGI4MjBl
ZjQ1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
TmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNl
TG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAi
UmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAj
aW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJp
bmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBv
cnQgPG1hY2gvaG9zdF9pbmZvLmg+CiAjaW1wb3J0IDxtYWNoL21hY2guaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm1FZmwuY21ha2UKaW5kZXggODgwNTBjMTk4M2E2NWJmNTdiNDlkYzliYzk3N2NmZmM1ZGY3NTE5
Yi4uOTNkYjVhZWM4NjFhNDEwZTIxMDY5NDIwODI4MWFhZDdhOTg3MzdjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1FZmwuY21ha2UKQEAgLTQyLDcgKzQyLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VS
Q0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJv
bGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggYzBiZDBmYTQ0ZjE0OTk3YjEz
NTg4NzE0N2Q0ZjQ5MWRlNzUwOTEzNS4uNDFlNTk3MWY3ZWYwMThlMGM5NjkzZmJhMzQ5Mjg2NjEz
MDZhNGFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJz
L1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xp
Y3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAg
ICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9j
ZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1
MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1YzJlM2JmYWIuLmU1MGUyNGE5Y2I4Y2I0MDg4MGNlMGFm
MDhhYzk2NDA3NjI3M2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMzMsNyArMzMsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNlcnRpZmljYXRl
SW5mby5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmlu
ZGV4IDRjNmY4MWU5NTM5MGZmNzBkMzgxODJiZGM5YjQyNmJhNmUwMWE1OTEuLmQ2ZWMzZmEwZDc0
Yzg5Y2U5ZThkYzVlZDkzOGRiN2VhMjFlODg3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgK
QEAgLTM2LDEzICszNiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBD
aGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1
YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1
YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5l
dHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0g
ICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBj
b25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
KTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdl
SUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgog
ICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JD
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWlu
dDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5t
ZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2Yzk2MWRk
Li5lNjkxNWNjYjY1YWRmMGI5YWRlODQ0NGMxYjI4ODA0MjMzZmQ0N2I2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lk
IFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6
OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBj
ZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0
aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZv
aWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMv
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQy
YjdmZTM0MWU3NjljMjc2MDEzLi4xOTQ0ZDM3ZmNiMTAzY2RhZWMyYjUyYjYwYzA5N2E3MmNiYzkw
Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFj
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5
ICsyOCw5IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VD
b2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4
IDAwMjJmMzEwNTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLjljYThjMzM4OWI0MWY2
MDM5MmIzZmM0Zjg3Y2Y1NzMzY2U0NmM3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2Vy
TWVzc2FnZUNvZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0
ZUluZm86IHsKLSAgICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOworICAgICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0
ZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2Vy
dGlmaWNhdGVJbmZvLmgKaW5kZXggMDYxODJmY2UyZmM2ZDU5N2U5ZjVmOGMwMzk1NzcxOWEyYWE2
MmFmNS4uMmNkNzlkN2UzMjM3YmYwNDI4OWU2ZWExYWE2ZGQzMTdkZTdlOGMwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBA
CiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIK
LSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGlj
IFR5cGVkQVBJT2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0
aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlm
aWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxp
Y2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgaW5mbykKICAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCiAg
ICAgewogICAgIH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBhYjY5
ZmY2MDA1NzE4YjIxNjkyNDBmYjIzNWEwY2Q5YjQwN2FlZmY5Li5lZTU5MmJiYTI3MTdiMTg4OWMy
ZWI2NTcxYmJjOTllNTc5ODg2ZDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2UuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0tVUkwuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
QEAgLTU0Nyw2ICs1NDgsMjMgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0
YShlbmNvZGVyLCBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRD
b2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykK
K3sKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICBp
ZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmlj
YXRlSW5mbzsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVz
b3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJpYWxpemVXZWJD
b3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oCmluZGV4IDYzMGI2YjZjYzY0YTYwODk4NDdjY2QwNTQ4YmIyMjc2ZTA0OWE0M2UuLmIwNWM0
MmJmZjIwZWY2MTAzZmZmNjFkMmEzY2UxMzczMjgxYjNiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAgIGNsYXNzIEtV
Ukw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE2OCw2ICsxNjksMTMgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMg
dm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwg
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKK307CisK
IHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4g
ewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFs
aXplV2ViQ29yZURhdGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOWVhMWEyZjMzMTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2NkNi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVm
aW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENv
cmVJUEMgewotICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBBcmd1bWVudEVu
Y29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJl
ZiBjZXJ0aWZpY2F0ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQotCi0gICAgdm9pZCBl
bmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wg
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Jik7Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQot
cHJpdmF0ZToKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhNzM1NDVj
NWJkMTY4ZjZhYTkyNmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFp
bigpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNo
YWluKGNlcnRpZmljYXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0g
ICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3Jl
SVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9v
bCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXND
ZXJ0aWZpY2F0ZUNoYWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVD
aGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVD
aGFpbikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShk
ZWNvZGVyLCBjLm1fY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHJldHVybiB0cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2Vy
dGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkp
IDogMDsKLQotICAgIE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAgIE5T
TG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGVudHJpZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1
bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0
aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQo
KSwgaSkpKTsKLSAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQo
KSk7Ci0gICAgfQotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpp
bmRleCBjMTI2MDAwM2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2ZTQ1Li5jMGRjNDZlMjY0
ZDA0OTgyMTBjMjY0Y2FlZjYwYjAyNzU2NjY4ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTQgKzI4LDE0
IEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2ltcG9ydCAiQXJndW1l
bnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBv
cnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2
ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2Ug
Q29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291
cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
LCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
Cit7CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgewor
ICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
ZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0
ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFz
Q2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRl
Q2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRl
Q2hhaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IGNlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2Vy
dGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmlu
ZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihz
dHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxYjlkZTY5ODBlMDFlNTY2ZTk2YTRmZmFhNzk1
MDYxNTQ0MWY4MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQot
I2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5o
IgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICB7Ci0gICAgfQotCi0gICAgZXhwbGljaXQgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCi0g
ICAgewotICAgIH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYp
IGNvbnN0Ci0gICAgewotICAgIH0KLQotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpCi0gICAgewotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2Vu
ZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCmluZGV4IDM1YmYyMmYwYmE5
ZTUxZDc0MTQyZDFmN2UwNmEyYmNlOTE0MzJjYmYuLmY0MTg0NTMwN2Y0MTBjNmExMWZmNWQ0YmVj
ZTliY2JlYTFmN2FlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dl
YkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCisjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC01NCw2ICs1NSwxNiBAQCBib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bykKK3sKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIHJldHVybiB0cnVl
OworfQorCisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVz
b3VyY2VFcnJvcikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3MTRlYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5j
b2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNp
bmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKQotICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KDApKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBt
X2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKLSAgICAsIG1f
dGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCi17Ci19Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJj
ZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9y
LmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlm
aWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLVBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi12b2lk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJh
eSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0
aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwot
ICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0
cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwot
ICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29k
ZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBi
b29sIGhhc0NlcnRpZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNh
dGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlm
aWNhdGVEYXRhUmVmZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0
aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6
ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmljYXRl
RGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAg
ICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRl
RGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2Rl
ZmF1bHQoKTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihH
X1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZp
Y2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZp
Y2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBOVUxMKSkpOwotCi0gICAgdWludDMyX3QgdGxzRXJy
b3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDhjMjMxZjM2ZGIzMmY4ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYxYzA1NTAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0j
aW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBB
cmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNl
RXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICB+UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNh
dGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQot
ICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0
YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOwotCi1wcml2YXRlOgotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBt
X2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IGRjNGUxMTkxNzU3ZWNlMTc1YWQ0ODVhN2FhNzIy
NTJmYWZhZTg4NDYuLjI4ZDIwZDk3NDZmYWM0N2I3MWUyMDFkMmFjMzI3NDcwNzFjMDAwMDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVy
c1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYs
MTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJ
UEMgewogCkBAIC02OCw5ICs2OSw2MCBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNw
b25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAK
K3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIXBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0
YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlKCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsK
KyAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQ
dHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsK
KyAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNv
ZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhh
c0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVE
YXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVB
cnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3
KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9
IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZl
cmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVm
UHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVE
YXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVm
YXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0
R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9j
ZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBj
ZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCAwKSkpOworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vy
cm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGlj
X2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0
Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiBy
ZXNvdXJjZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
cmVzb3VyY2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJv
ciYgcmVzb3VyY2VFcnJvcikKQEAgLTc5LDggKzEzMSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNh
dGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNl
cnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIv
VGFyZ2V0LnByaQppbmRleCA1OTdlMDEwODg0N2MyODllNzg0MjBkZTljNTJhMzU1ZmQxZTA5NmYy
Li42MmQ4MWM4Zjc1YzQ5NjM5MGU4MmM4OWE1ODNiM2RkNzQxNmI5YzVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkK
QEAgLTE1NCw3ICsxNTQsNiBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdp
blF1aXJrcy5oIFwKICAgICBTaGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5oIFwKLSAgICBTaGFy
ZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgU2hhcmVkL3F0L1dlYkV2ZW50
RmFjdG9yeVF0LmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBcCiAgICAg
U2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA0NDYyOWVjZmZkYTYy
NTM2ZDg4YWYxY2Y1ODMxNjE5NTY3YWQ5NTE1Li5iNTlmNGI1MGM4YmQxOTMwYjE2ZDg4MTE0ZGVk
ZmI3NjMyZDk1ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVt
RGF0YS5oIgpAQCAtNjIsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0
aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1s
aWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CkBAIC0yOTg3LDcgKzI5ODcs
NyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAg
IHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA5ZjY0
ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgzODJhZWQzMjg0NWQwN2Qx
NjM3NTZkMmI1YTYxODljZTIzMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6
Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7
CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZv
ID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5m
by0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9
IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oKSA6IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29u
bmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZv
cm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4u
NjI1MmJlNjA1ODVhNjM0NTU5NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQg
V2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJs
ZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29t
bWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIEFTU0VSVChtX2xvYWRT
dGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9sb2FkU3RhdGUgPSBMb2FkU3Rh
dGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJh
bWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRl
eCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1Li45YjNlNmMxOTc0ZjUw
MDhjMTE0NWJlZjdkZDE1OWFhODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwxNCBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAg
ICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJ
bW11dGFibGVBcnJheTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBX
ZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7
CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1
cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2Fk
KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsK
LSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7
CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBl
Zy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDU5Y2ZjZGYxZTcyZWEyYzZlM2I5NGQ2ZDZh
Y2IzNmRmMGQ1NDljZGYuLmQ4NjZkMTQ3ZmNmMzE3MzcyNjZjOTQxNDg5Nzg3NGE5ODZhZmMzMjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwMiw2ICsxMDIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNz
IEdyYXBoaWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hh
cmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAtMTMzLDcgKzEz
NCw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3Vz
ZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1j
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBj
bGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpA
QCAtODA4LDcgKzgwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBT
dHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
ICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDliYjlkNTU2MDk4YzhjMzFkODhkMWMwODQz
YWIxMTVlNGZlYTBlMGYuLjg3ZDJiMWQ0ODg2NGMyZDY4ZTdhNWUzODlkYjNlYjk0MmYxMjEwMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMTE2LDcgKzExNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAg
RGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBt
ZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6
OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5
cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMK
ICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlk
RmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxNTA2
MmRlOTQ4NjJhN2FhYTRiMGQzZmZiNjJjY2U1Y2NkNGU0NGI3Li40Y2U5NmYwZjI2OTQ0MjBmYjhh
OGM5MzViNTgwYmMwMjUzMDdhZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQxLDggKzEwNDEsNiBAQAogCQlCQ0YxODYz
ODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2Fj
aGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRT
dXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsg
fTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVF
NTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJ
QkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQz
MDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1
MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1
QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3
MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBA
IC0yNDgwLDggKzI0NzgsNiBAQAogCQlCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVN
b2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVs
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0
QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0
d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNG
NTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5
NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZy
YW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1l
d29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAw
NTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTczLDggKzQxNjksNiBAQAogCQkJCUM1NzRB
NTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgy
RDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1
M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMw
NDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVF
NjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJ
RTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYx
QUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywK
IAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24ubW0gKi8sCkBAIC01MTQwLDcgKzUxMzQsNiBAQAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJE
RkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUz
Q0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZD
QjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMx
N0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4
MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVh
ZGVycyAqLywKQEAgLTYzMDUsNyArNjI5OCw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3
RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQky
RDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0
QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVB
RSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQz
QUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkw
ZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJkLi45MjEwMDk5Njc3MjhjM2Q3ZjI1Yjk2YjE5
NzNiZDJhZThjMmE1OGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMyLDExICszMiwxMSBAQAogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkZXIuaD4KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNl
UmVzcAogICAgIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgqdGhpcyk7CiAKICAgICBS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlQ29weShyZXNwb25zZSk7Ci0gICAgcmVzcG9uc2VDb3B5
LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7
CisgICAgcmVzcG9uc2VDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRl
SW5mbyk7CiAgICAgbV9jb3JlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5
KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2Yg
dGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1
bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5Yzdm
NDgwZGVkNTcyLi40NTEwMGE3OWVkNWY5NjIxYzZhODRhOTY0Mjk2M2NkZjE4MjNiNWJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFBy
b3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50
NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxs
U2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5k
RGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0g
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJv
b2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29s
IG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90IGVuY29kZWRE
YXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNo
VGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA2Nzc1NGRlY2Zk
MzMyYjc5MGQ5ZTBkOTgyZmMzMWQ2OGFiMDk4NjRhLi5lY2M3NGEwNTYxM2U3N2ZmN2RmN2U2NzE2
NGIyMTQ0ZjViZWI5Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3
ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFu
dWxhcml0eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJl
ZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50
NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2Vy
dGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRp
bnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShDb3JlSVBD
OjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlk
RmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNvdXJj
ZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggOWI2MDkwZTc5ZGRlNzJhOWViMjAyYmY1YmFmZjVkODEzMjI2OTA1
ZC4uY2QwOWI5ZTZjMTMwYWQyZTMzZmVkZmRhZDA2ZDY0ZGY4ZTg2NDljOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
TmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VD
b2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
IlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgogI2lu
Y2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNjcsNiArNjYsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvZ3Jl
c3NUcmFja2VyLmg+CkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNz
LgogCi0gICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRM
b2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ocmVzcG9uc2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0
YS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRp
ZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBl
KCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCByZXNwb25zZS5w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
cih1c2VyRGF0YS5nZXQoKSkpKTsKIAogICAgIHdlYlBhZ2UtPmRpZENvbW1pdExvYWQobV9mcmFt
ZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212957</attachid>
            <date>2013-09-30 00:37:02 -0700</date>
            <delta_ts>2013-09-30 14:24:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130930093712.patch</filename>
            <type>text/plain</type>
            <size>100932</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODExYmE3MmVmNGEzYWU2
YTRkNGViODc4MDAwNGRkYmVlODNhMmU1YS4uMzMxMzMwZTJmOTk0MmUyZjViNmQ0OWIzNDYzYWRi
ZGUxMjU1YzBmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0IEBACisyMDEzLTA5LTMwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogUGxhdGZv
cm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVD
aGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlm
aWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRl
Q2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVD
aGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1F0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjpSZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnRs
c0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRUTFNFcnJvcnMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6Y2VydGlmaWNhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0Q2VydGlmaWNhdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKToKKwog
MjAxMy0wOS0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIEdlbmVyYXRlIHRvQ1NTRm9vVmFsdWUoKSBmb3IgQ1NTQ2FudmFzVmFsdWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA4OTNlZmM2NmM5YWYwZDAxMTk4ODk0NWEzNjgxMzJmYTU0NzZhYWQ3Li4yNTI1OGI4
NGU1MWIyZjUyNGU0ZmY2MTE4MzY5ZjhmNjg2Njc5NWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
ODQgQEAKKzIwMTMtMDktMzAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
KworICAgICAgICBNb3ZlIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1h
a2UgdGhlIFJlc291cmNlUmVzcG9uc2UgcHJpbWl0aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQg
cGxhdGZvcm0gYWdub3N0aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTg1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5k
IHNldHRlciB0byBSZXNvdXJjZUVycm9yQmFzZQorICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25z
ZUJhc2Ugc28gdGhhdCBnZXR0aW5nIGFuZCBzZXR0aW5nIGNlcnRpZmljYXRlcworICAgICAgICBi
ZWNvbWVzIGNyb3NzIHBsYXRmb3JtLgorCisgICAgICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBs
YXRmb3JtIHNwZWNpZmljIGNlcnRpZmljYXRlIGdldHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAg
b2YgUmVzb3VyY2VFcnJvciBhbmQgUmVzb3VyY2VSZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAg
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1lbWJlci4KKworICAgICAgICBPcmlnaW5hbCBwYXRj
aCBieSBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgVGhl
IGZvbGxvd2luZyB0aGluZ3Mgd2VyZSBmaXhlZCBieSBDc2FiYSBPc3p0cm9nb27DoWM6CisgICAg
ICAgIC0gdHJpdmlhbCBjb25mbGljdHMgcmVzb2x2ZWQgaW4gV2ViQ29yZS5leHAuaW4sIHByb2pl
Y3QucGJ4cHJvaiwgTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCwKKyAgICAgICAgICBXZWJQYWdl
UHJveHkuaCwgV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGFuZCBQbGF0Zm9ybUVmbC5jbWFrZS4K
KyAgICAgICAgLSB0cml2aWFsIGZpeCBpbiB0aGUgbmV3IEFzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuY3BwCisgICAgICAgIC0gc3R5bGUgZml4ZWQgKE5VTEwgLT4gMCBhbmQgc21hbGxl
ciBpbmRlbnRhdGlvbiBpbiBXZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCkKKyAgICAgICAg
LSBvYnNvbGV0ZSBjaGFuZ2UgcmVtb3ZlZCBmcm9tIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
KyAgICAgICAgLSB1bm5lZWRlZCB0eXBvIHJlbW92ZWQgZnJvbSBSZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCisgICAgICAgIC0gRml4ZWQgdGhlIGlmIGd1YXJkIG9mIGluY2x1ZGluZyBSZXRhaW5QdHIu
aCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIHRvIG1ha2UgV2luZG93cyBidWlsZCBoYXBw
eS4KKyAgICAgICAgLSBhZGQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgd2l0aCBl
bXB0eSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFw
cHkuCisgICAgICAgIC0gcmVzb2x2ZSBjb25mbGljdCBpbiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYWZ0ZXIgcjE1NjQ4OAorICAgICAgICAtIHJlbmFt
ZSBLVVJMIHRvIFVSTCBhZnRlciByMTU2NTUwLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVy
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1t
OgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNt
YWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06
CisgICAgICAgIChXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4pOgor
ICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoK
KyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMu
aDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNh
dGVJbmZvOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNl
cnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW06CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAg
IChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3F0L1dl
YkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6Cisg
ICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBD
Ojo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93
ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0wOS0yOSAg
TWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgTGlvbiBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDYxZGM5YWExZmVlZjkyYjZkYTU2
ZTk2OTVjMTQwMDhiODgyMWVhODEuLjVmNWY0Njk3NGQ5YzliOGUzOTJiZmEyYzc1ODI2MzRlYjUx
ODc4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTUxOCw2ICs1NTE4LDcg
QEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBcCkBAIC01NTQ3LDYg
KzU1NDgsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9Qcm94eVNlcnZlclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5k
ZXggYWNhYmQyNDU1YzBkZWFmOWVhODEwOWRkYTczMDhhODZkMzI5ZDZlMS4uNTQzYWQxZjMyZjli
M2M1OTNhM2IyMmI3YTg1OWVkZWZmZmY5NjdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE1NSw2ICsxNTUsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvRE5TU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
R093blB0clNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdl
U2Vzc2lvblNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlSZXNvbHZl
clNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCAzNmYzYjIwM2YzNWVmOGI4MTk3MzlmNGY2ZTcyYTNhM2FjN2UxNDFlLi5lMjRjNTAx
ZTMyZDYyMjcwZTkzYjBjMThjMDAyMjVlMDZlMDk1NTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIyODQs
NiArMjI4NCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya2lu
Z0NvbnRleHQuaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5o
IFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENvbnRlbnRUeXBlLmggXAorICAgIHBsYXRm
b3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgcGxhdGZvcm0vbmV0
d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rp
b25TcGFjZS5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3h5U2VydmVyLmggXApAQCAtMjg4
MSw2ICsyODgyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9SZXNv
dXJjZVJlcXVlc3RRdC5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvRE5TUXQuY3BwIFwK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L05ldHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3BwIFwKKyAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIFwKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Byb3h5U2VydmVyUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9x
dC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBlYjU4
YTJhMzFiMzlmZTg1YjE1NmZlMzZkZDA1OTA0YWZiYzcyZTdhLi43MDllNmIwOWNjNWQzMDQyMjRk
YjQwZmY3YzA0NzBlMTljN2I3YjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYzLDYgKzc2
MywxMSBAQCBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRBdXRoZW50
aWNhdGlvbkNsaWVudEVQTlNfMjBBdXRoZW50aWNhdAogX19aTjdXZWJDb3JlMjNBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZUMxRVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFUktOU18xMENyZWRlbnRpYWxF
alJLTlNfMTZSZXNvdXJjZVJlc3BvbnNlRVJLTlNfMTNSZXNvdXJjZUVycm9yRQogX19aTjdXZWJD
b3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbkV2
CiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3BlcnR5U2V0RDFFdgorX19aTjdXZWJDb3Jl
MjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJy
YXkKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkK
K19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUV2CitfX1pON1dlYkNvcmUy
M1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTIzUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdXZWJDb3JlMjNTeW5jaHJvbm91
c0xvYWRlckNsaWVudDI0cGxhdGZvcm1CYWRSZXNwb25zZUVycm9yRXYKIF9fWk43V2ViQ29yZTIz
Y3JlYXRlRnJhZ21lbnRGcm9tTm9kZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNf
NE5vZGVFTG0wRU5TMl8xNUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9y
VVJMQ29tcG9uZW50VHlwZUVQNU5TVVJMbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggYzU1YTJjNGU1MzZmMzU2MzJmNTQ0MzVkZTE1NmZk
OWFlNTk0OTc0MS4uNzA2NDA2NTZkYzAyYmZjM2M5N2Q2YTg4ZmNmMDJjMGFjYzdhNjdhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0x
OTM5OSw2ICsxOTM5OSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxuZXR3b3JrXE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5o
IiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cbmV0d29ya1xQbGF0Zm9ybUNvb2tpZUphci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlSGFzaC5oIiAv
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCmluZGV4IGY1ZDFlMzUzMzU2NTY3YzM1YzRmNjJmYTY0NzFlODY1OGMwZDNi
MDUuLjgxZDU0MDhjMTQzNmYyMWQzYWMyZjkyZjM4MmM4MGVhOTNiYzIzNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKQEAgLTg4NDEsNiArODg0MSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9y
bVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiPgorICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2ll
SmFyLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMjQ4ZmY0NGNkNTNiYmZkMDAyY2Q5YWQ3ZTZjOTgwODY5MTY3MzlhMS4u
M2YwMDQ5YmE0ZDdlNTVhNWFlODdkOWYwMzFkOTNkZDU3YjRlZGM1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTg0Miw3ICsx
ODQyLDEwIEBACiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVz
LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICov
OyB9OwogCQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQx
NUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBE
MTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2No
ZWR1bGVkQWN0aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbSAqLzsgfTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAw
Qjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFB
M0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5m
cmFtZXdvcmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2
aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9
OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQy
NEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBO
ZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0MzMs
NyArODQzNiwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lv
bk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZl
cnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVB
NjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhz
bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAx
NDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFw
cGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4u
Ly4uLy4uL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3Bh
dGlhbE5hdmlnYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3BhdGlhbE5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZD
REUwRDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250
ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzI4Myw2ICsxMzI4OSw3IEBACiAJ
CQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyog
U2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhB
MzAwRUQ5OEM2IC8qIEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJ
OTNGMTlCMTMwODI0NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlv
VG9vbGJveC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzNTgzLDYgKzEzNTkwLDcg
QEAKIAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMg
LyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQ
cmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJj
ZXMubWFrZSAqLywKQEAgLTE1MDg0LDYgKzE1MDkyLDcgQEAKIAkJCQlFMTNFRjM0MjE2ODRFQ0Y0
MDAzNEM4M0YgLyogTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggKi8sCiAJCQkJNDQ3OTU4MDIxNjQz
QjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0NDc5NTgwMzE2
NDNCNDdCMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCAqLywKKwkJCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQk1MTRD
NzY1RjBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmNwcCAqLywKIAkJCQk1MTRD
NzY2MDBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmggKi8sCiAJCQkJNTFBMDUy
NTUxMDU4ODc0MDAwQ0M5RTk1IC8qIFByb3RlY3Rpb25TcGFjZUhhc2guaCAqLywKQEAgLTE1MTI2
LDYgKzE1MTM1LDcgQEAKIAkJCQk1MTRDNzY0NDBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFT
dHJlYW1NYWMuaCAqLywKIAkJCQk1MTRDNzY0NTBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFT
dHJlYW1NYWMubW0gKi8sCiAJCQkJMUE3RkE2NDcwRERBM0NCQTAwMjhGOEE1IC8qIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyTWFjLmNwcCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDYwQ0U5MjM0RTAw
N0VGM0NEIC8qIFJlc291cmNlRXJyb3JNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDcwQ0U5MjM0RTAw
N0VGM0NEIC8qIFJlc291cmNlSGFuZGxlTWFjLm1tICovLAogCQkJCTUxNEM3NjQ5MENFOTIzNEUw
MDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RNYWMubW0gKi8sCkBAIC0yMzY4OSw2ICsyMzY5OSw3
IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3JtQ0FGaWx0ZXJzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1D
QUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyog
UGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1RkE5MDRDQTE3OEU2
MUY1MDA0QzhBMkQgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVK
YXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0
Zm9ybUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI3ODAzLDYgKzI3ODE0LDcgQEAKIAkJCQk5
NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4
NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUz
MTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2
RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk2MWI3YmQxNjZkYTgxNjkzMzdmNjUzNmE4
Y2VhOTJmYjY0OTE3YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55
IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9faAorI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisK
KyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2VsaWYgVVNF
KFNPVVApCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3Qv
R1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFJlc291cmNl
RXJyb3I7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7CitwdWJsaWM6CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lm
IFBMQVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworI2VuZGlmCisKKyAgICB+UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKTsKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyAgICB2
b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZik7CisgICAgQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKCkgY29uc3Q7CisjaWZuZGVmIE5ERUJVRworICAgIHZvaWQgZHVtcCgpIGNv
bnN0OworI2VuZGlmCisKKyNlbGlmIFVTRShTT1VQKQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2Vy
dGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAgdm9p
ZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlm
aWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorCisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJy
b3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9y
cyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJv
cnM7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVU
V09SSykKKyAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NG
VVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJp
YWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9j
ZXJ0aWZpY2F0ZUNoYWluOworI2VsaWYgVVNFKFNPVVApCisgICAgR1JlZlB0cjxHVGxzQ2VydGlm
aWNhdGU+IG1fY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJv
cnM7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3
NTk5NGY5MzhjMzczZjI3MDVjLi40NmJmOWI5NTJlZTI5ZDAyMDgwMzllMjczNmJiZWMyZDlkY2M0
MzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
RXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNl
X2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJhc2VfaAogCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTIsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1Rp
bWVvdXQoYm9vbCBpc1RpbWVvdXQpIHsgbV9pc1RpbWVvdXQgPSBpc1RpbWVvdXQ7IH0KICAgICBi
b29sIGlzVGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUaW1lb3V0OyB9CiAKKyAgICBjb25z
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgdm9pZCBzZXRQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21wYXJlKGNvbnN0IFJlc291
cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3RlY3RlZDoKQEAgLTg5LDYg
KzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsKICAgICBTdHJpbmcgbV9m
YWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0aW9uOworICAgIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgYm9vbCBt
X2lzTnVsbDsKICAgICBib29sIG1faXNDYW5jZWxsYXRpb247CiAgICAgYm9vbCBtX2lzVGltZW91
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaAppbmRleCAyY2ZiNTNhOTM3ZmI0YWI3ZmE2Yjg2YjQ3OTZiYjg2ZTI0ZWI3
ZWIzLi40MjdlMDZjNzY2M2Y4MDllZTcwYWZiNjU2NTZiYzRhNjdiYzlmOWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFz
ZS5oCkBAIC0yOCw4ICsyOCw5IEBACiAjZGVmaW5lIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKIAog
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKLSNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5o
IgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgogICAgIFJlc291
cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRS
ZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAg
IGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
IGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1
YmNsYXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNp
ZmljIG1lbW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkg
Y29uc3QKICAgICB7CkBAIC0xNTIsNiArMTU2LDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVk
IG1fY29ubmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBS
ZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsKKyAgICBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogCiAgICAgYm9v
bCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IDEzYTU4MTE4MGVhNjg4ZGRlMzc2
ZTM1ZjA3ZTJlZTMxNjM4YWQzNWUuLjVhMzZhMGU5NDYyMWYxZDRjNjllMjNjZDJkYmQ0NzVlYTA3
MjFiM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXNwb25zZS5oCkBAIC0xMTcsMTAgKzExNyw2IEBAIHByaXZhdGU6CiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IG1fbnNSZXNw
b25zZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICAv
LyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2Us
IGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3Bv
bnNlIGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9leHRlcm5hbENlcnRp
ZmljYXRlQ2hhaW47Ci0jZW5kaWYKICAgICBJbml0TGV2ZWwgbV9pbml0TGV2ZWw7CiAgICAgYm9v
bCBtX3BsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZGM0MGY4NDM4ZjgxNWEzMTU3ZTNjYThiNDllMWYx
ZjUyM2E5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKKworUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNh
dGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQorewor
fQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkK
K3sKK30KKwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFp
bihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWlu
ID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2VydGlmaWNh
dGVDaGFpbi5nZXQoKTsKK30KKworI2lmbmRlZiBOREVCVUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRp
ZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6
IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xv
ZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1t
YXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlm
aWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCks
IGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkp
OworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25z
ZU1hYy5tbQppbmRleCA5N2ZjZjg3ZjUzYjZjNGZhNjIxMWZiNzRhNTM2ZGFlOTkwYmYxNWQ5Li4z
YWJmNDc1ODA5MDZiZWRkYjkxZjQyMzA2NzQ1MzQxODNhY2UwZDRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VN
YWMubW0KQEAgLTE4MiwxMyArMTgyLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZv
cm1Db21wYXJlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lk
IFJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKQogewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRl
Q2hhaW4obnNVUkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4g
PSBjZXJ0aWZpY2F0ZUNoYWluOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2Vy
dGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAogUmV0YWluUHRyPENGQXJyYXlS
ZWY+IFJlc291cmNlUmVzcG9uc2U6OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAogewotICAgIGlm
IChtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIG1fZXh0ZXJuYWxD
ZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmIChtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5
TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNwb25zZSgpKSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2
MTc5ODljNTk5ZWUxNTYxYjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcApAQCAtMCww
ICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2MDBlMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxh
Z3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXgg
MWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uMDQ3YjY5Y2VhMGRlZmJh
NjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgog
ICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNv
bnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGlu
Z1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMo
MCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwog
ICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2Uq
KTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0VExTRXJyb3Jz
KHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vy
cm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7IH0KKyAg
ICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0
ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBw
bGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRm
b3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBi
KTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmlj
YXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4
NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMDMyODEyZjQwMmI3MmFkMmNj
M2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRF
cnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxh
dGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNv
cHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJy
b3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291cmNlRXJyb3I6
OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2JjN2Y3NzIzYTY2MTU3ZWUyZWQ5
MzNjZjUzZTBmNy4uZDcyMjc2NGYzYTk3NDc2YWYxYTk2OTI4MjdiMjUyODQxNjk3MTM2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVz
cG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZS5oCkBAIC0zNywyMiArMzcsMTYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6
IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNw
b25zZSgpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQotICAgICAgICAsIG1fc291
cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAg
fQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNv
ZGluZ05hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNw
b25zZUJhc2UodXJsLCBtaW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUs
IGZpbGVuYW1lKQotICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdl
RmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3Vw
TWVzc2FnZSogc291cE1lc3NhZ2UpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQot
ICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQot
ICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigw
KSkKICAgICB7CiAgICAgICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAg
ICAgfQpAQCAtNjcsMTEgKzYxLDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZm
ZWRDb250ZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAg
ICAgdm9pZCBzZXRTbmlmZmVkQ29udGVudFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3Nu
aWZmZWRDb250ZW50VHlwZSA9IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBN
ZXNzYWdlQ2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9
Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2Vy
dGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRp
ZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRTb3VwTWVzc2Fn
ZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90
bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4g
bV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZvaWQgc2V0U291
cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7IH0KIAogICAgIGJv
b2wgcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CkBAIC04MCw4ICs3NCw2IEBAIHByaXZhdGU6CiAKICAgICBTb3VwTWVzc2FnZUZsYWdzIG1fc291
cEZsYWdzOwogICAgIFN0cmluZyBtX3NuaWZmZWRDb250ZW50VHlwZTsKLSAgICBHUmVmUHRyPEdU
bHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBt
X3Rsc0Vycm9yczsKIAogICAgIHZvaWQgZG9VcGRhdGVSZXNvdXJjZVJlc3BvbnNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZVJlc3BvbnNlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCmluZGV4IDljM2IwZWRiZDlmZDNjYjY3MDhhMGY5OWZl
NDJkN2IyNDU1ZDI2ZjAuLjMxY2ZiNjgxZTY2YWRhNWMwZTcwYzcyMjA1MmJjODVhYTM3YjAzOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZVJlc3BvbnNlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcApAQCAtNTIsNyArNTIsNyBAQCBTb3VwTWVzc2Fn
ZSogUmVzb3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0CiAKICAgICBzb3VwX21l
c3NhZ2Vfc2V0X2ZsYWdzKHNvdXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7CiAKLSAgICBnX29iamVj
dF9zZXQoR19PQkpFQ1Qoc291cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZp
Y2F0ZS5nZXQoKSwgInRscy1lcnJvcnMiLCBtX3Rsc0Vycm9ycywgTlVMTCk7CisgICAgZ19vYmpl
Y3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSwgInRscy1lcnJvcnMiLCBtX3BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBp
cyBub3QgaW4gdGhlIG1lc3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCAr
NjgsMTAgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291
cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dl
dF9mbGFncyhzb3VwTWVzc2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
ID0gMDsKLSAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNl
cnRpZmljYXRlLCAmbV90bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0
ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdl
X2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7
CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnModGxzRXJyb3JzKTsK
KyAgICBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRl
KTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJlc3Bv
bnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWI3YzI2
OTUyOGNmMDFhMzMwZjYyY2E1MTE1Zjc5MTU0NTBkMjAwOC4uMzcwOWE4MWUwOWIwZjMxYzczZDky
MzI2Yzk4NzQ1MTY3MTM0NTdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00
NzksOCArNDc5LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0
YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUu
aCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAt
MTM0NSw4ICsxMzQzLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0OGQw
M2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQzMzliZDc5ZGNjNWY4YmUyNTNiMzYyZjg1MDNjYWQwZTYx
NjE1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCArMjgs
MTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9h
ZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApAQCAtNjMsNyArNjQsNyBAQCB2b2lkIEFz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2UoTmV0dwogCiB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6
OmRpZFJlY2VpdmVSZXNwb25zZShOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdP
bkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VX
aXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNw
b25zZSksIGxvYWRlci0+aXNMb2FkaW5nTWFpblJlc291cmNlKCkpKTsKKyAgICBsb2FkZXItPnNl
bmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UsIHJlc3BvbnNlLnBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCksIGxvYWRlci0+aXNMb2FkaW5nTWFpblJlc291cmNlKCkpKTsKIH0K
IAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQnVmZmVy
KE5ldHdvcmtSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBTaGFyZWRCdWZmZXIqIGJ1ZmZlciwgaW50
IGVuY29kZWREYXRhTGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKaW5kZXggMDEyODE3NGEzNjgxMWMxZGNkMjcyYmYwM2NlYzEwNDA1ZWRk
MTEwMC4uYjAwZTQxNmRlYmVkZTRjNmY2ZjJiNDZlNDJhOWI0ZGRiZWIzMDMxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNiw3ICsz
Niw4IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
ICAgIGNsYXNzIFJ1bkxvb3A7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKK2NsYXNz
IFJ1bkxvb3A7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxk
UHJvY2VzcywgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9h
ZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERv
d25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50
MzJfdCk7Ci0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZv
aWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdl
dE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lk
IGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluCmluZGV4IGE1ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5ODVkZDcu
LjljYmFhYWJmYzBjMzE5YzdlNzU5M2FjZGJiYjM4ZDYwZDU5YmRmMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2Vz
LmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJl
Y2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNl
bmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisg
ICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQogICAgIAogICAg
IEdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggOTFlNDRkZmQ0OGEzZDA1OTk2Yjg1ZWI2NjVkNzY4ZTE5MGIwZWIw
OS4uMTZkN2EyMWU4ODg1ZGJmNTg0NDRhYmUyMWUzYzgzMzViMDgyZWY1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCIKICNpbmNsdWRlICJSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUg
IlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMu
bW0KaW5kZXggZTE5N2ZmMzk2ZjcwYTc3YTk1NjJkMzVhYjUzZDJjNDQ1MzVjYzAyZS4uM2VkNWRj
OGJjY2Q4MjQzNGVjNzRjZTY2NGY3YTA5ZTEyYWVlMzdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMzAs
MTMgKzMwLDEzIEBACiAKICNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCiAjaW1wb3J0ICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNpbXBvcnQgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNp
bXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9ydCA8V2Vi
Q29yZS9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdl
YktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KICNpbXBv
cnQgPG1hY2gvbWFjaC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA4ODA1MGMxOTgz
YTY1YmY1N2I0OWRjOWJjOTc3Y2ZmYzVkZjc1MTliLi45M2RiNWFlYzg2MWE0MTBlMjEwNjk0MjA4
MjgxYWFkN2E5ODczN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDIsNyArNDIs
NiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29t
cEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lz
Y2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAg
ICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5j
bWFrZQppbmRleCBjMGJkMGZhNDRmMTQ5OTdiMTM1ODg3MTQ3ZDRmNDkxZGU3NTA5MTM1Li40MWU1
OTcxZjdlZjAxOGUwYzk2OTNmYmEzNDkyODY2MTMwNmE0YWJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQpAQCAtNjEsNyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAg
ICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmlj
YXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KaW5kZXggMzRkZDQzMTUxOWEzOTlhM2RkODNlMGU4MjNmNDM0NzVjMmUz
YmZhYi4uZTUwZTI0YTljYjhjYjQwODgwY2UwYWYwOGFjOTY0MDc2MjczZWUwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZv
TWFjLm1tCkBAIC0zMyw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2Vy
dGlmaWNhdGVJbmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFp
bihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmlj
YXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxXZWJD
ZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3Jl
YXRlKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsK
ICAgICByZXR1cm4gdG9BUEkoY2VydGlmaWNhdGVJbmZvLnJlbGVhc2UoKS5sZWFrUmVmKCkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3MGQzODE4MmJk
YzliNDI2YmE2ZTAxYTU5MS4uZDZlYzNmYTBkNzRjODljZTllOGRjNWVkOTM4ZGI3ZWEyMWU4ODdh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiAgICAgY2xh
c3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH0KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2Fk
OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xh
c3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBw
dWJsaWMgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJl
Y2VpdmVyIHsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93
bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZv
ckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlh
bCYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBj
b250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
KTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAg
CkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2Vp
dmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAgYm9vbCB0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Cisg
ICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJiMWNjMzBjYTZi
YzU5MWJkZWRlZDQxZjBmNTE5NWVjNzZjOTYxZGQuLmU2OTE1Y2NiNjVhZGYwYjlhZGU4NDQ0YzFi
Mjg4MDQyMzNmZDQ3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdl
cy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJL
aXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRl
bnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlm
aWNhdGUpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1t
CmluZGV4IGMwYjkyZjEyYjRlZjJkNDg0MjVkZDJiN2ZlMzQxZTc2OWMyNzYwMTMuLjE5NDRkMzdm
Y2IxMDNjZGFlYzJiNTJiNjBjMDk3YTcyY2JjOTBjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIFVTRShTRUNVUklU
WV9GUkFNRVdPUkspCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggMDAyMmYzMTA1NWU5NGM2ODU4MGZiYWNkNDRk
ZTM2YjBmN2QwNGU4Yi4uOWNhOGMzMzg5YjQxZjYwMzkyYjNmYzRmODdjZjU3MzNjZTQ2YzdmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1
MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBj
YXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAgICAgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
ICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNvZGVyLm1fcm9v
dCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCAwNjE4MmZj
ZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li4yY2Q3OWQ3ZTMyMzdiZjA0Mjg5ZTZl
YTFhYTZkZDMxN2RlN2U4YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmlj
YXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZv
X2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBXZWJDZXJ0aWZpY2F0ZUluZm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJT2JqZWN0OjpU
eXBlQ2VydGlmaWNhdGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
Q2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGlu
Zm8pCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQog
Ci0gICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIGNv
bnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KIAogcHJp
dmF0ZToKLSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAgICA6IG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM5ODdkMjhmYzZmNmU1NWU5NmNhYzdlMGUwODA1YjA5
MDYyYjdhOGUuLmZhMTJkZjk2MTE2Yjg4ODcwY2U2ZWM3ODY2MmFlYTg2MGI5ZDBlNjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0z
OSwxMyArMzksMTQgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2Uu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjMgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0
YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsKKworICAgIHJldHVy
biB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShB
cmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJy
b3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGE5NjVkZTg1NTIy
N2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNkODAuLjgwMjc4NjM3MmQzYmI3YzIwZDY2MTAxMTk1
YWUwOTVhN2NjMmEzOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAgIGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmlj
YXRpb247CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJv
dGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3Vy
Y2VSZXF1ZXN0OwpAQCAtMTcwLDYgKzE3MSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAg
IHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHN0YXRpYyBjb25zdCBib29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQw
ZDQ5MWFkMDY4M2I5NTI0MGNjY2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9faAotCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJn
dW1lbnREZWNvZGVyOwotICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAg
ICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNp
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwot
Ci0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVu
dEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcK
LSAgICB2b2lkIGR1bXAoKSBjb25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0
cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThl
NGE2Y2E4ZTAyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysr
IC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmln
LmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1
bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFy
Z3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlm
aWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikK
LXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVD
aGFpbikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LSNpZm5kZWYgTkRFQlVHCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29u
c3QKLXsKLSAgICB1bnNpZ25lZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJh
eUdldENvdW50KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4i
LCBlbnRyaWVzKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7
Ci0gICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2Vy
dGlmaWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRW
YWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xv
ZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYK
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUy
NTBmZTBlYzBhMjgzMDE1YTM4ZjZlNDUuLmMwZGM0NmUyNjRkMDQ5ODIxMGMyNjRjYWVmNjBiMDI3
NTY2Njg4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJm
YWNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VF
cnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMyLDYg
KzEzMywzNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQog
CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWlu
KCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFs
c2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAg
Q29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsKKyAg
ICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOwor
fQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewog
ICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJz
OnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxl
bmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzFiOWRlNjk4MGUwMWU1NjZlOTZhNGZmYWE3OTUwNjE1NDQxZjgyMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNk
ZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNv
ZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQotICAgIHsKLSAgICB9Ci0KLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJikKLSAgICB7Ci0gICAgfQotCi0gICAgdm9p
ZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3QKLSAgICB7Ci0gICAgfQot
Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJikKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVB
cmd1bWVudENvZGVyc1F0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNRdC5jcHAKaW5kZXggMzViZjIyZjBiYTllNTFkNzQxNDJkMWY3ZTA2YTJiY2U5
MTQzMmNiZi4uZjQxODQ1MzA3ZjQxMGM2YTExZmY1ZDRiZWNlOWJjYmVhMWY3YWU1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQu
Y3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVzcG9uc2UuaD4KQEAgLTU0LDYgKzU1LDE2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJj
ZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9
CiAKIAordm9pZCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAz
OWRkNWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1l
bnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5o
PgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBt
X3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0K
LVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uu
c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291
cE1lc3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3Ip
Ci0gICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAs
IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVy
cm9yLnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0g
ICAgaWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAw
OwotICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRp
ZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURh
dGEpIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5k
YXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50
MzJfdD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwot
Ci0gICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkq
IGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2Fw
cGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNr
ZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmlj
YXRlSW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5p
dGFibGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAs
IDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0
KCksIE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNh
dGVJbmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRs
c0Vycm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0
MDI2N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2Rl
ZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAu
aD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBD
IHsKLWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNl
UmVzcG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAg
ICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
OwotCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZh
dGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAK
aW5kZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uMjhkMjBkOTc0
NmZhYzQ3YjcxZTIwMWQyYWMzMjc0NzA3MWMwMDAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEs
NiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVx
dWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY4LDkgKzY5LDYw
IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9CiAKIAordm9pZCBBcmd1bWVudENvZGVyPFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKQoreworICAgIGlmICghcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNh
dGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKKyAgICBnX29iamVjdF9n
ZXQoR19PQkpFQ1QocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0
aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVE
YXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZp
Y2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFy
aWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+
ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBB
cmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7CisgICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGVCeXRlcyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0JhY2tl
bmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRF
KGdfaW5pdGFibGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2Vu
ZCksIDAsIDAsCisgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlQnl0ZXMuZ2V0KCks
IDApKSk7CisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlm
aWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4odGxzRXJyb3JzKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7Ci0gICAg
ZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNvdXJjZUVycm9yKTsKKyAgICBl
bmNvZGVyIDw8IHJlc291cmNlRXJyb3IucGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKIH0KIAog
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQpAQCAt
NzksOCArMTMxLDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmVz
b3VyY2VFcnJvci5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7
Ci0gICAgcmVzb3VyY2VFcnJvci5zZXRUTFNFcnJvcnMoY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9y
cygpKTsKKyAgICByZXNvdXJjZUVycm9yLnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRp
ZmljYXRlSW5mbyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDU5N2Uw
MTA4ODQ3YzI4OWU3ODQyMGRlOWM1MmEzNTVmZDFlMDk2ZjIuLjYyZDgxYzhmNzVjNDk2MzkwZTgy
Yzg5YTU4M2IzZGQ3NDE2YjljNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5w
cmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtMTU0LDcgKzE1NCw2IEBAIEhF
QURFUlMgKz0gXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUXVpcmtzLmggXAogICAgIFNoYXJl
ZC9xdC9Bcmd1bWVudENvZGVyc1F0LmggXAotICAgIFNoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIFwKICAgICBTaGFyZWQvcXQvV2ViRXZlbnRGYWN0b3J5UXQuaCBcCiAgICAgU2hh
cmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oIFwKICAgICBTaGFyZWQvcXQvUXROZXR3b3JrUmVx
dWVzdERhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXcuY3BwCmluZGV4IDQ0NjI5ZWNmZmRhNjI1MzZkODhhZjFjZjU4MzE2MTk1Njdh
ZDk1MTUuLmI1OWY0YjUwYzhiZDE5MzBiMTZkODgxMTRkZWRmYjc2MzJkOTVlNjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBA
IC0yMiw3ICsyMiw2IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCiAjaW5jbHVkZSAi
SW1hZ2VPcHRpb25zLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNp
bmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0
ZW0uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCkBAIC02Miw2ICs2MSw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093
blB0ckd0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVm
UHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9n
b2JqZWN0L0dPd25QdHIuaD4KQEAgLTI5ODcsNyArMjk4Nyw3IEBAIGdib29sZWFuIHdlYmtpdF93
ZWJfdmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmlj
YXRlKioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFt
ZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1h
aW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAg
ICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1MTU3Mjlm
NTU0YjlmNTI2YTVkZDUuLmE5ODM4MmFlZDMyODQ1ZDA3ZDE2Mzc1NmQyYjVhNjE4OWNlMjMxZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2
LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50
aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAg
V2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZp
Y2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZv
ID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2Vy
dGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIDogV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFs
bGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCBhNTcwODdj
MWZkNGM4ZGFjMjAyMjMwN2FkNDViNmExNTg5ZWFkMmYzLi42MjUyYmU2MDU4NWE2MzQ1NTk3MDdm
N2NiZjY4YjQyYzAwMDcxNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWls
UHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX3VucmVhY2hhYmxlVVJMID0gbV9sYXN0VW5yZWFjaGFi
bGVVUkw7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYg
Y29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRlID09IExvYWRTdGF0ZVByb3Zp
c2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNvbW1pdHRlZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBiZWU2NjZmZmZkNGFmMmQxMWI1
ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjliM2U2YzE5NzRmNTAwOGMxMTQ1YmVmN2RkMTU5YWE4N2Q3
MThlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaApAQCAtNDAs
MTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwog
fQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
K30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNs
YXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eTsKQEAgLTEwNiw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRSZWNl
aXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwog
ICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9h
ZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBj
b25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmlu
aXNoTG9hZCgpOwogICAgIHZvaWQgZGlkRmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1
bWVudE5hdmlnYXRpb24oY29uc3QgU3RyaW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwg
c2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggMzc5ZWFkYzlhNDljNzM1ZDM4ODQ5YzMyZjEyM2Q0NGE2OTRlMzU4ZC4uZjIzMGY1
NzljNDgxM2I4YzA2NGM0MTYxYTk5ZDBmM2Q0MmVhM2YyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTAyLDYgKzEwMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgR3JhcGhpY3NMYXllcjsKICAgICBj
bGFzcyBJbnRTaXplOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGNs
YXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAgICAgc3RydWN0
IEZpbGVDaG9vc2VyU2V0dGluZ3M7CkBAIC0xMzMsNyArMTM0LDYgQEAgY2xhc3MgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBOYXRpdmVX
ZWJXaGVlbEV2ZW50OwogY2xhc3MgUGFnZUNsaWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOwogY2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlz
dDsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CkBAIC04MDgsNyArODA4LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkws
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVk
aXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBT
dHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVp
bnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxv
YWRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggOWJiOWQ1NTYwOThjOGMzMWQ4OGQxYzA4NDNhYjExNWU0ZmVhMGUwZi4uODdkMmIx
ZDQ4ODY0YzJkNjhlN2E1ZTM4OWRiM2ViOTQyZjEyMTAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTYsNyArMTE2LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAg
ICBEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNiMzYyMjRlMjY3YzNmNzZiZjU1MDE4NmM5
Y2Q3YTY1YjMyMmM0Y2IuLjlhNmJhMzRkYmQwODE2YWU3NTJjYjY5MmNiMGY2ZGFmNTNiNjAxMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEwNDEsOCArMTA0MSw2IEBACiAJCUJDRjE4NjM4MTY3RDA3MUUwMEExQTg1QSAvKiBD
YWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLzsgfTsKIAkJ
QkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjIxNjhF
NEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovOyB9OwogCQlCQ0Y0
REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTI0MTY4RkE0NDgwMEM5
NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovOyB9OwotCQlCQ0Y1MDVFNzEyNDMwNDdC
MDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1
QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAv
KiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovOyB9OwogCQlC
Q0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcx
QTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAgLTI0ODAsOCArMjQ3OCw2IEBACiAJ
CUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NT
dXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZD
IC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1l
d29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxh
YnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRl
SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0
NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQxNzMsOCArNDE2OSw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8q
IFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyog
UERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZL
aXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4
MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTFBRjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAv
KiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICovLAogCQkJCTFBRjFBQzY5MTY1MTc1OUUw
MEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSAqLywKQEAgLTUxNDAsNyAr
NTEzNCw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktp
dEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkNCMTg5MTdCQkZFMDMwMDM5NENEOCAv
KiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJD
RjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIxMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBN
ZW51RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NzgwRkMxMTYxQzJCODAwQ0MyNzY4IC8q
IFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNkZCN0Qz
MTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uaCBpbiBIZWFkZXJzICovLApAQCAtNjMwNSw3ICs2
Mjk4LDYgQEAKIAkJCQkyRDJBREYxMDE2MzY0RDgyMDAxOTdFNDcgLyogUERGUGx1Z2luQ2hvaWNl
QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENDI5QkZEMTcyMUUyQzcwMEVDNjgx
RiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyQURG
MDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRleHRBbm5vdGF0aW9uLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8q
IFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjEx
RTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBD
MTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE1YWI1YWQ0OTBkZDE2MTY2ZWUxZTNjYTFhMzQzYzRh
NmU0ZGZkYmQuLjkyMTAwOTk2NzcyOGMzZDdmMjViOTZiMTk3M2JkMmFlOGMyYTU4YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJv
cnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVu
dExvYWRlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgpAQCAt
MTA2LDcgKzEwNiw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwCiAgICAgUmVmPFdlYlJlc291
cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFpbihj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHkuc2V0
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVMb2Fk
ZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9jb3Jl
TG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNl
IGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IDljOTg2ZjJlNDdlNTIzMTg4ZWE0NWQwYjEzNDljN2Y0ODBkZWQ1NzIuLjQ1MTAwYTc5ZWQ1
Zjk2MjFjNmE4NGE5NjQyOTYzY2RmMTgyM2I1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0MCw3
IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3Mg
UmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElkZW50
aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
UmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03Niw3
ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiBy
ZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2Vu
dCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVSZXNw
b25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYs
IGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQg
ZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZh
aWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4
YWIwOTg2NGEuLmVjYzc0YTA1NjEzZTc3ZmY3ZGY3ZTY3MTY0YjIxNDRmNWJlYjljYjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3Jr
UHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBt
ZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBE
aWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2Vu
dCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNz
YWdlKQorICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwg
aW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91
YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA5YjY4
NDYyMDMzZDRmMWM0NTAwYWQ5NmY5NWUzNGRiYjdkZDUyMTc3Li41ZGZlYTcxM2M4MDA1MGU3YzAy
ZmY2Njk1YzJkZTNlMjBkNTgwZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0
ZW5zaW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1
ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3Nh
Z2VzLmgiCkBAIC02Nyw2ICs2Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRv
Y3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTQ0MSw3
ICs0NDEsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENvbW1pdExv
YWQoKQogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5m
cmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2Fk
ZXIoKS5sb2FkVHlwZSgpLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIEluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworICAgIHdlYlBh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1f
ZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1l
KCktPmxvYWRlcigpLmxvYWRUeXBlKCksIHJlc3BvbnNlLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwog
CiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213036</attachid>
            <date>2013-09-30 14:33:27 -0700</date>
            <delta_ts>2013-10-04 06:47:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20130930233337.patch</filename>
            <type>text/plain</type>
            <size>104161</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2Njc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUzMmUwMmZkNWM4NWRl
YjI3YzI2NDc2MzQ1MDQxZDlhNDcyNzgyZC4uYzg5ZTI4MTViMWUyMGFmNTU5ODViMmUyYWVlODgx
YWUyN2FkZGUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0IEBACisyMDEzLTA5LTMwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogUGxhdGZv
cm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVD
aGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlm
aWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRl
Q2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVD
aGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1F0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yOjpSZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnRs
c0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRUTFNFcnJvcnMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6Y2VydGlmaWNhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0Q2VydGlmaWNhdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKToKKwog
MjAxMy0wOS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIElEQlRyYWNpbmcuaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwMzE3NWNlZDg0MTEwOWNkMWU3YjA4
NGY0ZjljM2M3YjI1YzA0M2FmLi4zNzk5Nzk2YWI5ODYzZTg4NDhjYjJkMTk4YjU1YmQ2ZDc4NDI2
M2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsODYgQEAKIDIwMTMtMDktMzAgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAorICAgICAgICBNb3ZlIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNlUmVzcG9uc2UgcHJpbWl0
aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0aWMgb2JqZWN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNvdXJjZUVycm9yQmFzZQor
ICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBnZXR0aW5nIGFuZCBzZXR0
aW5nIGNlcnRpZmljYXRlcworICAgICAgICBiZWNvbWVzIGNyb3NzIHBsYXRmb3JtLgorCisgICAg
ICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmljIGNlcnRpZmljYXRlIGdl
dHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJvciBhbmQgUmVzb3VyY2VS
ZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1lbWJl
ci4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29t
cGFueTEwMC5uZXQ+CisKKyAgICAgICAgVGhlIGZvbGxvd2luZyB0aGluZ3Mgd2VyZSBmaXhlZCBi
eSBDc2FiYSBPc3p0cm9nb27DoWM6CisgICAgICAgIC0gdHJpdmlhbCBjb25mbGljdHMgcmVzb2x2
ZWQgaW4gV2ViQ29yZS5leHAuaW4sIHByb2plY3QucGJ4cHJvaiwgTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcCwKKyAgICAgICAgICBXZWJQYWdlUHJveHkuaCwgV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwIGFuZCBQbGF0Zm9ybUVmbC5jbWFrZS4KKyAgICAgICAgLSB0cml2aWFsIGZpeCBpbiB0aGUg
bmV3IEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisgICAgICAgIC0gc3R5bGUg
Zml4ZWQgKE5VTEwgLT4gMCBhbmQgc21hbGxlciBpbmRlbnRhdGlvbiBpbiBXZWJDb3JlQXJndW1l
bnRDb2RlcnNTb3VwLmNwcCkKKyAgICAgICAgLSBvYnNvbGV0ZSBjaGFuZ2UgcmVtb3ZlZCBmcm9t
IE5ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKyAgICAgICAgLSB1bm5lZWRlZCB0eXBvIHJlbW92
ZWQgZnJvbSBSZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisgICAgICAgIC0gRml4ZWQgdGhlIGlmIGd1
YXJkIG9mIGluY2x1ZGluZyBSZXRhaW5QdHIuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IHRvIG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSBhZGQgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9DRk5ldC5jcHAgd2l0aCBlbXB0eSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3Rv
ciB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gcmVzb2x2ZSBjb25mbGlj
dCBpbiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYWZ0
ZXIgcjE1NjQ4OAorICAgICAgICAtIHJlbmFtZSBLVVJMIHRvIFVSTCBhZnRlciByMTU2NTUwLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtl
OgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9t
YWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAgIChXS0NlcnRpZmljYXRlSW5mb0Ny
ZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4pOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAg
KiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lc3Nh
Z2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJ
bmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAg
ICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVk
L21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAgIChDb3JlSVBDOjo6OmVu
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0
YSk6CisgICAgICAgICogU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcDoKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNl
Q3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRD
b21taXRMb2FkKToKKworMjAxMy0wOS0zMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJr
aXQub3JnPgorCiAgICAgICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBzaG91
bGQgYmUgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgZ3VhcmRlZAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyMTEwCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGRhZDc1NGJiYjU4NjU5MmM0MWUzNjUwMjNlNWEwYjA4ZmU0YThiMzAu
Ljk0ZWQ4MTBiMTg0NzAzZDRlNjJiZDYxM2I1ZjIzNjgwZDEyMmI4NGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtNTUxNyw2ICs1NTE3LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0
ZU5vdGlmaWVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RhdGVOb3RpZmllci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGxhdGZvcm1Db29raWVKYXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUVycm9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VFcnJvckJhc2UuaCBcCkBAIC01NTQ2LDYgKzU1NDcsNyBAQCB3ZWJjb3JlX3Bs
YXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvRE5TU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVNlcnZlclNvdXAuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNv
dXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYWNhYmQyNDU1YzBkZWFmOWVh
ODEwOWRkYTczMDhhODZkMzI5ZDZlMS4uNTQzYWQxZjMyZjliM2M1OTNhM2IyMmI3YTg1OWVkZWZm
ZmY5NjdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1NSw2ICsxNTUsNyBAQCBs
aXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvRE5T
U291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvR093blB0clNvdXAuY3BwCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwCisgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlSZXNvbHZlclNvdXAuY3BwCiAgICAgcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAxZjRjZjZhZTg4ZDFi
NzI0YTAwOWU1ODFjOWU2ZGM4MmZjMDk0ODk3Li4xZDg5ODM1ZWZjOThhYmZlNWE1YzRkMDY2ZjM1
M2JmZWM0ZTU2ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIyODMsNiArMjI4Myw3IEBAIEhFQURFUlMg
Kz0gXAogICAgIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQuaCBcCiAgICAgcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL1BhcnNlZENvbnRlbnRUeXBlLmggXAorICAgIHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUph
ci5oIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZS5oIFwKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL1Byb3h5U2VydmVyLmggXApAQCAtMjg3OSw2ICsyODgwLDcgQEAgU09VUkNF
UyArPSBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZVJlcXVlc3RRdC5jcHAgXAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvcXQvRE5TUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3F0L05ldHdvcmtTdGF0ZU5vdGlmaWVyUXQuY3BwIFwKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1Byb3h5U2VydmVyUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVT
bmlmZmVyLmNwcCBcCiAgICAgcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBlYjU4YTJhMzFiMzlmZTg1YjE1NmZlMzZk
ZDA1OTA0YWZiYzcyZTdhLi43MDllNmIwOWNjNWQzMDQyMjRkYjQwZmY3YzA0NzBlMTljN2I3YjRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzYzLDYgKzc2MywxMSBAQCBfX1pON1dlYkNvcmUy
M0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlMjNzZXRBdXRoZW50aWNhdGlvbkNsaWVudEVQTlNfMjBB
dXRoZW50aWNhdAogX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUMxRVJLTlNf
MTVQcm90ZWN0aW9uU3BhY2VFUktOU18xMENyZWRlbnRpYWxFalJLTlNfMTZSZXNvdXJjZVJlc3Bv
bnNlRVJLTlNfMTNSZXNvdXJjZUVycm9yRQogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9w
ZXJ0eVNldDI1ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbkV2CiBfX1pON1dlYkNvcmUyM011dGFi
bGVTdHlsZVByb3BlcnR5U2V0RDFFdgorX19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTIzUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTIzUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9DMUV2CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvRDFFdgorX19aTks3V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xNmNlcnRpZmlj
YXRlQ2hhaW5FdgogX19aTjdXZWJDb3JlMjNTeW5jaHJvbm91c0xvYWRlckNsaWVudDI0cGxhdGZv
cm1CYWRSZXNwb25zZUVycm9yRXYKIF9fWk43V2ViQ29yZTIzY3JlYXRlRnJhZ21lbnRGcm9tTm9k
ZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNfNE5vZGVFTG0wRU5TMl8xNUNyYXNo
T25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9yVVJMQ29tcG9uZW50VHlwZUVQNU5T
VVJMbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
aW5kZXggNDQ4ZjE0NzgyOTljYTYxYTUyMDViMWI1MTVlN2IzZmE1MWQwOTdlOC4uNDYxZGYzMzZh
YzMwYzY0YzA2MWE2ZDYyY2I0ZjRhMTYwYTBjY2Y3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC04MjI2LDYgKzgyMjYsMTIgQEAKICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXGNmXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIj4KKyAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXGNmXFByb3h5U2VydmVyQ0ZOZXQuY3BwIj4KICAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5Mzky
LDYgKzE5Mzk4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdv
cmtcTmV0d29ya1N0YXRlTm90aWZpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxuZXR3b3JrXFByb3RlY3Rpb25TcGFjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2VIYXNoLmgiIC8+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKaW5kZXggYjY1NzdlOWI3ZWE5MmM3ZDY4OWVkNjQ1N2I3NTMwMDFjOTE4ZjM2Yi4u
YTE3NzliNDQxZWY2YjNmMTYzYTI4NTc5MzRhNzA5ZGIxMDM3Y2ViYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpA
QCAtODgxNyw2ICs4ODE3LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XG5ldHdvcmtcUGFyc2VkQ29udGVudFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5l
dHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8
RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUGxhdGZvcm1Db29raWVKYXIu
aCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3ZGJkMTljNjVjNjQ5NjM2NTgzMjBjNzc3NzdhZWY5OWUyZDMyNjVhLi40OGYy
MjdiMmJjMmFlNWJiMGU1Yzg3MWVjMTE0YzRkZDNjNjQyMGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODQyLDcgKzE4NDIs
MTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBp
biBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07
CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0
MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3
N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVs
ZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvTWFjLm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkM3REMyNkNGRTI1NjMyMDBCODVB
RTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1l
d29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYy
NkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07CiAJ
CTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAw
MUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdv
cmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODQzMyw3ICs4
NDM2LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtVmVyc2lv
bk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjgxMDcxNUE2NDAw
RUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURC
MUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhbnNmb3JtU291cmNlTGlieHNsdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUZD
N0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vLi4vLi4v
Li4vU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0
aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBE
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya2luZ0NvbnRleHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjgzLDYgKzEzMjg5LDcgQEAKIAkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMjEyQjA0OEEzMDBF
RDk4QzYgLyogQWNjZWxlcmF0ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5M0Yx
OUIxMzA4MjQ1RTU5MDAxRTlBQkMgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29s
Ym94LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLApAQCAtMTM1ODQsNiArMTM1OTEsNyBAQAog
CQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyog
U2VjdXJpdHkuZnJhbWV3b3JrICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBj
b25maWcuaCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZp
eC5oICovLAogCQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5t
YWtlICovLApAQCAtMTUwODUsNiArMTUwOTMsNyBAQAogCQkJCUUxM0VGMzQyMTY4NEVDRjQwMDM0
QzgzRiAvKiBOZXR3b3JrU3RvcmFnZVNlc3Npb24uaCAqLywKIAkJCQk0NDc5NTgwMjE2NDNCNDdC
MDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuY3BwICovLAogCQkJCTQ0Nzk1ODAzMTY0M0I0
N0IwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMz
NjkwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAogCQkJCTUxNEM3NjVG
MENFOTIzQTEwMDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuY3BwICovLAogCQkJCTUxNEM3NjYw
MENFOTIzQTEwMDdFRjNDRCAvKiBQcm90ZWN0aW9uU3BhY2UuaCAqLywKIAkJCQk1MUEwNTI1NTEw
NTg4NzQwMDBDQzlFOTUgLyogUHJvdGVjdGlvblNwYWNlSGFzaC5oICovLApAQCAtMTUxMjcsNiAr
MTUxMzYsNyBAQAogCQkJCTUxNEM3NjQ0MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVh
bU1hYy5oICovLAogCQkJCTUxNEM3NjQ1MENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVh
bU1hYy5tbSAqLywKIAkJCQkxQTdGQTY0NzBEREEzQ0JBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXJNYWMuY3BwICovLAorCQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQk1MTRDNzY0NjBDRTkyMzRFMDA3RUYz
Q0QgLyogUmVzb3VyY2VFcnJvck1hYy5tbSAqLywKIAkJCQk1MTRDNzY0NzBDRTkyMzRFMDA3RUYz
Q0QgLyogUmVzb3VyY2VIYW5kbGVNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDkwQ0U5MjM0RTAwN0VG
M0NEIC8qIFJlc291cmNlUmVxdWVzdE1hYy5tbSAqLywKQEAgLTIzNjgwLDYgKzIzNjkwLDcgQEAK
IAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBTGF5
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0
Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4RTYxRjUw
MDRDOEEyRCAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDdDNTlCNTQxN0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3Jt
RXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjc3OTUsNiArMjc4MDYsNyBAQAogCQkJCTk3N0Uy
RTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2RDkw
MEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMxNzY2
ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRF
OUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDBkN2U1N2ZiOTE1ZDBhNmE5ZTg0NzRkMDhjYTUw
NmRmMTAyMTE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9y
dGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAw
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKworI2lm
IFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRl
IDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZO
RVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBD
RkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAg
dm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0Nl
cnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0
KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNh
dGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNh
dGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZv
aWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vy
cm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFD
KSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5
IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQg
aXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxD
RkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVm
UHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVG
bGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZk
YjFkZTAxZDY1MzMxYzc1OTk0ZjkzOGMzNzNmMjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUy
NzM2YmJlYzJkOWRjYzQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVz
b3VyY2VFcnJvckJhc2VfaAogI2RlZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGlt
ZW91dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7
IH0KIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAg
ICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBh
cmUoY29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVj
dGVkOgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwog
ICAgIFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRp
b247CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzsKICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBi
b29sIG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZi
NDc5NmJiODZlMjRlYjdlYjMuLjQyN2UwNmM3NjYzZjgwOWVlNzBhZmI2NTY1NmJjNGE2N2JjOWY5
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTI4LDggKzI4LDkgQEAKICNkZWZpbmUgUmVzb3VyY2VSZXNw
b25zZUJhc2VfaAogCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5o
IgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkVGltaW5nLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTExMiw2ICsxMTMsOSBAQCBwdWJs
aWM6CiAgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdDsK
ICAgICB2b2lkIHNldFJlc291cmNlTG9hZFRpbWluZyhQYXNzUmVmUHRyPFJlc291cmNlTG9hZFRp
bWluZz4pOwogCisgICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsg
fQorICAgIHZvaWQgc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gPSBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJlc291
cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUg
cGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWduZWQg
bWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25SZXVz
ZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2FkVGlt
aW5nOworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CiAKICAgICBib29sIG1faXNOdWxsIDogMTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DRk5ldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvQ0ZOZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZDkyZTIzMmU4OWRjZWJkNjYxNzk4OWM1OTll
ZTE1NjFiN2JhODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwCkBAIC0wLDAgKzEsMzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVzcG9uc2UuaAppbmRleCAxM2E1ODExODBlYTY4OGRkZTM3NmUzNWYwN2UyZWUzMTYzOGFkMzVl
Li41YTM2YTBlOTQ2MjFmMWQ0YzY5ZTIzY2QyZGJkNDc1ZWEwNzIxYjNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaApA
QCAtMTE3LDEwICsxMTcsNiBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBtdXRh
YmxlIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVzcG9uc2U7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCi0gICAgLy8gQ2VydGlmaWNhdGUgY2hhaW4g
aXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8gd2F5
IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCi0gICAg
UmV0YWluUHRyPENGQXJyYXlSZWY+IG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOwotI2VuZGlm
CiAgICAgSW5pdExldmVsIG1faW5pdExldmVsOwogICAgIGJvb2wgbV9wbGF0Zm9ybVJlc3BvbnNl
SXNVcFRvRGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY0MmRjNDBmODQzOGY4MTVhMzE1N2UzY2E4YjQ5ZTFmMWY1MjNhOTcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKQoreworfQorCisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK3ZvaWQgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47
Cit9CisKK0NGQXJyYXlSZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRlQ2hh
aW4oKSBjb25zdAoreworICAgIHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7Cit9CisK
KyNpZm5kZWYgTkRFQlVHCit2b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29u
c3QKK3sKKyAgICB1bnNpZ25lZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJh
eUdldENvdW50KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSkgOiAwOworCisgICAgTlNMb2coQCJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4i
LCBlbnRyaWVzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7
CisgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2Vy
dGlmaWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRW
YWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xv
ZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggOTdmY2Y4
N2Y1M2I2YzRmYTYyMTFmYjc0YTUzNmRhZTk5MGJmMTVkOS4uM2FiZjQ3NTgwOTA2YmVkZGI5MWY0
MjMwNjc0NTM0MTgzYWNlMGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODIsMTMgKzE4
MiwxMyBAQCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpz
ZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBB
U1NFUlQoIXdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2Uo
KSkpOwotICAgIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsK
KyAgICBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlm
aWNhdGVDaGFpbik7CiB9CiAKIFJldGFpblB0cjxDRkFycmF5UmVmPiBSZXNvdXJjZVJlc3BvbnNl
OjpjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QKIHsKLSAgICBpZiAobV9leHRlcm5hbENlcnRpZmlj
YXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKKyAg
ICBpZiAobV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpCisgICAg
ICAgIHJldHVybiBhZG9wdENGKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVD
aGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZp
Y2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1F0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9R
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZkOTJlMjMyZTg5ZGNlYmQ2NjE3OTg5YzU5OWVlMTU2MWI3YmE4
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9RdC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9Tb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwMGM4N2VhMzU5ZmIxNzI3
OTQyMWFlZjBhOTBiNGNkMDU4NjAwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcApA
QCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworI2lu
Y2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisj
aW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCmluZGV4IDFhNzA1ZjE1ZWQ3ZjM4ZjhkM2Fm
ZWQ3MDExYTMwYzA0YmNjNzhmMTguLjA0N2I2OWNlYTBkZWZiYTY2YzE0ZmFmOTI4NDZjMTAxOGVh
MTc0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlRXJyb3IuaApAQCAtNDAsMTIgKzQwLDEwIEBAIGNsYXNzIFJlc291cmNlRXJyb3Ig
OiBwdWJsaWMgUmVzb3VyY2VFcnJvckJhc2UKIHB1YmxpYzoKICAgICBSZXNvdXJjZUVycm9yKGNv
bnN0IFN0cmluZyYgZG9tYWluLCBpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGZhaWxpbmdV
UkwsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVkRGVzY3JpcHRpb24pCiAgICAgICAgIDogUmVzb3Vy
Y2VFcnJvckJhc2UoZG9tYWluLCBlcnJvckNvZGUsIGZhaWxpbmdVUkwsIGxvY2FsaXplZERlc2Ny
aXB0aW9uKQotICAgICAgICAsIG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIAogICAgIFJl
c291cmNlRXJyb3IoKQotICAgICAgICA6IG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIApA
QCAtNTYsMTcgKzU0LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVzb3VyY2VFcnJvciB0aW1l
b3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKTsKICAgICBzdGF0aWMgUmVzb3VyY2VF
cnJvciBhdXRoZW50aWNhdGlvbkVycm9yKFNvdXBNZXNzYWdlKik7CiAKLSAgICB1bnNpZ25lZCB0
bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0VExT
RXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQot
ICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRp
ZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUq
IGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIHVuc2ln
bmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
dGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMp
IHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBj
ZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBj
ZXJ0aWZpY2F0ZSkgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNl
cnRpZmljYXRlKTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNl
RXJyb3ImKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVz
b3VyY2VFcnJvciYgYSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBt
X3Rsc0Vycm9yczsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUVycm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRj
YTc5OWY3Mzc2YWRjZGRjNTIuLjAzMjgxMmY0MDJiNzJhZDJjYzNiM2U2Yzc2YTUyNWFiODEzNTc1
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEw
MCBJbmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAg
UmVzb3VyY2VFcnJvciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBm
YWlsaW5nVVJMKQogCiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVy
cm9yJiBlcnJvckNvcHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBt
X2NlcnRpZmljYXRlOwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOwor
ICAgIGVycm9yQ29weS5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKTsKIH0KIAogYm9vbCBSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvbXBhcmUoY29u
c3QgUmVzb3VyY2VFcnJvciYgYSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5o
CmluZGV4IDQ4OTFmOTM1ZmNiYzdmNzcyM2E2NjE1N2VlMmVkOTMzY2Y1M2UwZjcuLmQ3MjI3NjRm
M2E5NzQ3NmFmMWE5NjkyODI3YjI1Mjg0MTY5NzEzNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaApAQCAtMzcs
MjIgKzM3LDE2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2UgOiBwdWJsaWMgUmVzb3VyY2VSZXNw
b25zZUJhc2UgewogcHVibGljOgogICAgIFJlc291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVz
cG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBl
eHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJp
bmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5
cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAg
LCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAg
LCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAg
ewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdl
KQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKLSAgICAgICAgLCBtX3NvdXBGbGFn
cyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9y
cyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1
cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2MSwx
MSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25z
dCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENv
bnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2
YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1l
c3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlm
aWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VD
ZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2Vy
dGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2Vy
dGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3Vw
TWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9p
ZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMp
IHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBz
b3VwTWVzc2FnZVRMU0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJ
c1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzQsNiBAQCBw
cml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcg
bV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2Vy
dGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2
b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3Vw
LmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNm
YjY4MWU2NmFkYTVjMGU3MGM3MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNl
U291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6
OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3Vw
TWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBN
ZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJy
b3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3Vw
TWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlKCksICJ0bHMtZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdl
LgogICAgIHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3Vy
Y2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2Fn
ZSkKICAgICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2Up
OwogCiAgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNz
YWdlX2dldF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJy
b3JzKTsKLSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNv
dXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9t
U291cE1lc3NhZ2VIZWFkZXJzKHNvdXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDliN2MyNjk1MjhjZjAxYTMzMGY2MmNhNTEx
NWY3OTE1NDUwZDIwMDguLjM3MDlhODFlMDliMGYzMWM3M2Q5MjMyNmM5ODc0NTE2NzEzNDU3YjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDc5LDggKzQ3OSw2IEBAIHdlYmtp
dDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzNDUsOCArMTM0Myw2IEBAIHdl
YmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWly
by9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVy
Q2xpZW50LmNwcAppbmRleCAxYmFmNWIxOWFiMjAwM2U1NDhkMDNiYzJlNjU4MmIyMmE0M2ViN2E3
Li40MzM5YmQ3OWRjYzVmOGJlMjUzYjM2MmY4NTAzY2FkMGU2MTYxNWZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAog
dm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2Uo
TmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpX
ZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhy
ZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUo
TWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlm
aWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBs
b2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIqIGxvYWRlciwgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4
IDAxMjgxNzRhMzY4MTFjMWRjZDI3MmJmMDNjZWMxMDQwNWVkZDExMDAuLmIwMGU0MTZkZWJlZGU0
YzZmNmYyYjQ2ZTQyYTliNGRkYmViMzAzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOwor
Y2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBSdW5Mb29wOwogfQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTQ0LDcgKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFz
cyBBdXRoZW50aWNhdGlvbk1hbmFnZXI7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2VzczsKIGNsYXNzIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudDsKLWNsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOwogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
CiBjbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93
bmxvYWRNYW5hZ2VyOjpDbGllbnQgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3du
bG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRp
c3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3Jp
Z2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZj
YmM3YmU5NDAyODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li45Y2JhYWFiZmMwYzMxOWM3ZTc1
OTNhY2RiYmIzOGQ2MGQ1OWJkZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBA
QCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJv
Y2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0
YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkx
ZTQ0ZGZkNDhhM2QwNTk5NmI4NWViNjY1ZDc2OGUxOTBiMGViMDkuLjE2ZDdhMjFlODg4NWRiZjU4
NDQ0YWJlMjFlM2M4MzM1YjA4MmVmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBA
QAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAi
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IGUxOTdmZjM5NmY3
MGE3N2E5NTYyZDM1YWI1M2QyYzQ0NTM1Y2MwMmUuLjNlZDVkYzhiY2NkODI0MzRlYzc0Y2U2NjRm
N2EwOWUxMmFlZTM3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAogCiAjaW1w
b3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5z
aW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1w
b3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2Uu
aD4KICNpbXBvcnQgPG1hY2gvaG9zdF9pbmZvLmg+CiAjaW1wb3J0IDxtYWNoL21hY2guaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggODgwNTBjMTk4M2E2NWJmNTdiNDlkYzliYzk3N2Nm
ZmM1ZGY3NTE5Yi4uOTNkYjVhZWM4NjFhNDEwZTIxMDY5NDIwODI4MWFhZDdhOTg3MzdjNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQyLDcgKzQyLDYgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3Bw
CiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAg
ICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRV
bmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggYzBiZDBmYTQ0
ZjE0OTk3YjEzNTg4NzE0N2Q0ZjQ5MWRlNzUwOTEzNS4uNDFlNTk3MWY3ZWYwMThlMGM5NjkzZmJh
MzQ5Mjg2NjEzMDZhNGFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYx
LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2Nv
bXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4
IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1YzJlM2JmYWIuLmU1MGUyNGE5Y2I4Y2I0
MDg4MGNlMGFmMDhhYzk2NDA3NjI3M2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMzMsNyArMzMs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0Nl
cnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRl
SW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KGNlcnRpZmljYXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0
aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNl
cnRpZmljYXRlSW5mby5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oCmluZGV4IDRjNmY4MWU5NTM5MGZmNzBkMzgxODJiZGM5YjQyNmJhNmUwMWE1OTEuLmQ2
ZWMzZmEwZDc0Yzg5Y2U5ZThkYzVlZDkzOGRiN2VhMjFlODg3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmgKQEAgLTM2LDEzICszNiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAg
Y2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFu
YWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1
OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhv
dXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBw
cml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2Um
LCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwog
CiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVl
Yzc2Yzk2MWRkLi5lNjkxNWNjYjY1YWRmMGI5YWRlODQ0NGMxYjI4ODA0MjMzZmQ0N2I2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcg
QEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsK
LSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQs
IFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdl
KHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENv
bnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
OwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYy
ZDQ4NDI1ZGQyYjdmZTM0MWU3NjljMjc2MDEzLi4xOTQ0ZDM3ZmNiMTAzY2RhZWMyYjUyYjYwYzA5
N2E3MmNiYzkwYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1t
CkBAIC0yOCw5ICsyOCw5IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJ
ZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVy
cy5oCmluZGV4IDAwMjJmMzEwNTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLjljYThj
MzM4OWI0MWY2MDM5MmIzZmM0Zjg3Y2Y1NzMzY2U0NmM3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVD
ZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUlu
Zm86OmNyZWF0ZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggMDYxODJmY2UyZmM2ZDU5N2U5ZjVmOGMwMzk1
NzcxOWEyYWE2MmFmNS4uMmNkNzlkN2UzMjM3YmYwNDI4OWU2ZWExYWE2ZGQzMTdkZTdlOGMwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcg
KzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElP
YmplY3QuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZv
IDogcHVibGljIFR5cGVkQVBJT2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4g
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3Jl
YXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJu
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVy
biBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQg
V2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQor
ICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgaW5mbykKICAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KGluZm8pCiAgICAgewogICAgIH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApp
bmRleCBjOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThlLi5mYTEyZGY5NjEx
NmI4ODg3MGNlNmVjNzg2NjJhZWE4NjBiOWQwZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMzksMTMgKzM5LDE0IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBo
aWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9VUkwuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0
aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVXNlclN0eWxlU2hlZXQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZXdw
b3J0QXJndW1lbnRzLmg+CkBAIC01NDcsNiArNTQ4LDIzIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3Vy
Y2VSCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBl
bmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNh
dGVJbmZvOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2VydGlmaWNh
dGVJbmZvKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm87CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBB
cmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogICAgIGlmIChrU2hv
dWxkU2VyaWFsaXplV2ViQ29yZURhdGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBhOTY1ZGU4NTUyMjdiMWYxNDMyM2RmODE3N2YyYjk5
OTU5OTkzZDgwLi44MDI3ODYzNzJkM2JiN2MyMGQ2NjEwMTE5NWFlMDk1YTdjYzJhMzliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC00NSw2
ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZhbHVlTGlz
dDsKICAgICBjbGFzcyBVUkw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBj
bGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2
ICsxNzEsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlPiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RGVjb2RlciYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBz
dGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgY29uc3QgYm9v
bCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWVhMWEyZjMzMTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2Nk
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
LQotbmFtZXNwYWNlIENvcmVJUEMgewotICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBj
bGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsg
fQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0g
ICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29u
c3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0
aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzRhNzM1NDVjNWJkMTY4ZjZhYTkyNmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2lt
cG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIKLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2Uu
Y2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAgIDog
bV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5j
b2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwg
dHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdl
dCgpKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17
Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
aGFzQ2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICgh
aGFzQ2VydGlmaWNhdGVDaGFpbikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNv
cmVJUEM6OmRlY29kZShkZWNvZGVyLCBjLm1fY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9p
ZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQg
ZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmlj
YXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9cbiIpOwotICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RT
dW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKLSAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5n
ICopc3VtbWFyeS5nZXQoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVu
dENvZGVyc01hYy5tbQppbmRleCBjMTI2MDAwM2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2
ZTQ1Li5jMGRjNDZlMjY0ZDA0OTgyMTBjMjY0Y2FlZjYwYjAyNzU2NjY4ODU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5t
bQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjcsMTQgKzI4LDE0IEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAog
I2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2Vi
Q29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29k
ZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlm
aWNhdGVDaGFpbikgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNv
ZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQor
eworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
IWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNv
ZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNh
dGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3RyaW5n
KiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmlt
cGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0PGNv
bnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgp
XSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxYjlkZTY5ODBlMDFl
NTY2ZTk2YTRmZmFhNzk1MDYxNTQ0MWY4MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFy
Z3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewot
cHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICB7Ci0gICAgfQotCi0g
ICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYpIGNvbnN0Ci0gICAgewotICAgIH0KLQotICAgIHN0YXRpYyBib29sIGRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYp
Ci0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCmlu
ZGV4IDM1YmYyMmYwYmE5ZTUxZDc0MTQyZDFmN2UwNmEyYmNlOTE0MzJjYmYuLmY0MTg0NTMwN2Y0
MTBjNmExMWZmNWQ0YmVjZTliY2JlYTFmN2FlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcApAQCAtMjYsNiArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC01NCw2
ICs1NSwxNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRD
b2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbykKK3sKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQorewor
ICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9y
Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3MTRl
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEg
Uy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1
ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nh
c3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkp
Ci17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0
ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17
Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0
ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQo
R19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0
ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRy
dWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0
aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXko
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxl
bikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsK
LX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFzQ2VydGlmaWNhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhh
c0NlcnRpZmljYXRlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBn
X2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwot
ICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRh
LCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVu
Y2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRH
UmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxz
X2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0
ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNr
ZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBOVUxMKSkpOwotCi0gICAg
dWludDMyX3QgdGxzRXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9
IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhjMjMxZjM2ZGIzMmY4ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYxYzA1
NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1v
dG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dv
YmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERl
Y29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGlj
OgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4
cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImKTsKLSAgICB+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0aWZp
Y2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9
Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90
bHNFcnJvcnM7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYp
IGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIm
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi1wcml2YXRlOgotICAgIEdSZWZQdHI8R1Rs
c0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1f
dGxzRXJyb3JzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IGRjNGUxMTkxNzU3ZWNl
MTc1YWQ0ODVhN2FhNzIyNTJmYWZhZTg4NDYuLjI4ZDIwZDk3NDZmYWM0N2I3MWUyMDFkMmFjMzI3
NDcwNzFjMDAwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0
aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
Ci0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVy
cm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAog
bmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCw5ICs2OSw2MCBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBp
ZiAoIXBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5j
b2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRlQXJyYXkq
IGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNh
dGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgeworICAgICAgICBlbmNv
ZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0
cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2Vy
dGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5
KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5s
ZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykK
K3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFz
Q2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRp
ZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVf
YXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6
ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdS
ZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNf
YmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0
aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rs
c19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAorICAgICAgICAi
Y2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCAwKSkpOworICAgIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKworICAg
IHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRU
TFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOwor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJy
b3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVy
cm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTc5LDggKzEzMSw3IEBAIGJvb2wg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5m
bykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlm
aWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3Iu
c2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CisgICAgcmVzb3VyY2VF
cnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJl
dHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIv
U291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCBjNGY1N2IwZTA4MDY5ZTY3ODBiZTU0Y2Y1
MDkwYmNkZDM4Mjc0ZmMwLi4yZDA4MmZkM2RkYjZlNjMyYzYxOGI3NjRjZDM5YTc1YTNhY2E4ZmIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKQEAgLTE1NCw3ICsxNTQsNiBAQCBIRUFERVJTICs9IFwKICAgICBTaGFy
ZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNoYXJl
ZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKICAgICBTaGFyZWQvcXQvQXJndW1lbnRDb2RlcnNR
dC5oIFwKLSAgICBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAgICAgU2hh
cmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmggXAogICAgIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXBs
eURhdGEuaCBcCiAgICAgU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRl
eCA0NDYyOWVjZmZkYTYyNTM2ZDg4YWYxY2Y1ODMxNjE5NTY3YWQ5NTE1Li5iNTlmNGI1MGM4YmQx
OTMwYjE2ZDg4MTE0ZGVkZmI3NjMyZDk1ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2lu
Y2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNh
dGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNjIsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVk
ZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CkBA
IC0yOTg3LDcgKzI5ODcsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZv
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWlu
RnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygp
LT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRl
SW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkK
ICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAg
ICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
LmNwcAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgz
ODJhZWQzMjg0NWQwN2QxNjM3NTZkMmI1YTYxODljZTIzMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBj
cmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2No
YWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyog
Y2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAg
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/
IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5h
Z2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwt
PmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1
YjZhMTU4OWVhZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM4LDcg
KzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAg
ICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwogfQogCi12b2lkIFdl
YkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29u
c3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJh
bWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAg
IEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9sb2Fk
U3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1
Li45YjNlNmMxOTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFhODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwxNCBAQCBuYW1lc3Bh
Y2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lv
bkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0x
MDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92
aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENv
bW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lk
IGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0
IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDM3OWVhZGM5YTQ5
YzczNWQzODg0OWMzMmYxMjNkNDRhNjk0ZTM1OGQuLmYyMzBmNTc5YzQ4MTNiOGMwNjRjNDE2MWE5
OWQwZjNkNDJlYTNmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTEwMiw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRS
ZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBj
bGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7
CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdz
OwpAQCAtMTMzLDcgKzEzNCw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFz
cyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNz
IFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmlu
Z1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9y
d2FyZExpc3RJdGVtOwpAQCAtODA4LDcgKzgwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBl
LCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwog
ICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDliYjlkNTU2MDk4
YzhjMzFkODhkMWMwODQzYWIxMTVlNGZlYTBlMGYuLjg3ZDJiMWQ0ODg2NGMyZDY4ZTdhNWUzODlk
YjNlYjk0MmYxMjEwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE2LDcgKzExNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAg
ICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktp
dDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENv
bW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwg
dWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJy
b3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZh
cmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFy
aWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBjYjM2MjI0ZTI2N2MzZjc2YmY1NTAxODZjOWNkN2E2NWIzMjJjNGNiLi45YTZi
YTM0ZGJkMDgxNmFlNzUyY2I2OTJjYjBmNmRhZjUzYjYwMTA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQxLDggKzEwNDEs
NiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFF
MDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3
b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZD
IC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1
cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1t
ICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZv
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDcy
NjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJCUJDRjY5
Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1
MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2RjAwNDcx
QTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xp
ZW50LmggKi87IH07CkBAIC0yNDgwLDggKzI0NzgsNiBAQAogCQlCQ0YxODYzNzE2N0QwNzFFMDBB
MUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERF
MjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgcGF0
aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0U3VwcGxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUw
Njg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFt
ZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNG
NTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlD
bGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9y
eUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTczLDggKzQxNjks
NiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0g
Ki8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywK
IAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJ
CQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAq
LywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5t
bSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTQwLDcgKzUxMzQsNiBAQAogCQkJCUM1NzRB
NTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3Jr
TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1
QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQz
QUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVu
dGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEgLyog
UGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYzMDUsNyArNjI5OCw2IEBACiAJCQkJMkQyQURG
MTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dv
cmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAv
KiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4
MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURh
dGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBs
dWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyog
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApp
bmRleCBhNWFiNWFkNDkwZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJkLi45MjEwMDk5Njc3
MjhjM2Q3ZjI1Yjk2YjE5NzNiZDJhZThjMmE1OGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMyLDEx
ICszMiwxMSBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5o
IgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lk
IFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFJlc291cmNlUmVzcAogICAgIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgq
dGhpcyk7CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlQ29weShyZXNwb25zZSk7Ci0g
ICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlQ2hhaW4oKSk7CisgICAgcmVzcG9uc2VDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9u
c2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRlciBiZWNvbWVzIG51bGwg
YXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjaywgd2UgY2FuJ3Qg
dXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5Yzk4NmYyZTQ3ZTUyMzE4
OGVhNDVkMGIxMzQ5YzdmNDgwZGVkNTcyLi40NTEwMGE3OWVkNWY5NjIxYzZhODRhOTY0Mjk2M2Nk
ZjE4MjNiNWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJl
bmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xh
c3MgUmVzb3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJS
ZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVi
bGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAg
ICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0
ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
OworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsK
ICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBp
bnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9h
ZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpp
bmRleCA2Nzc1NGRlY2ZkMzMyYjc5MGQ5ZTBkOTgyZmMzMWQ2OGFiMDk4NjRhLi5lY2M3NGEwNTYx
M2U3N2ZmN2RmN2U2NzE2NGIyMTQ0ZjViZWI5Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3Nh
Z2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExl
Z2FjeVJlY2VpdmVyIHsKICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVk
IG11Y2ggbW9yZSBncmFudWxhcml0eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNl
bmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIHJlZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3Qg
Ynl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJl
c3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3Bv
bnNlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9v
bCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywg
Ym9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNl
aXZlRGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFM
ZW5ndGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAg
IERpZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggOWI2ODQ2MjAzM2Q0ZjFjNDUwMGFkOTZm
OTVlMzRkYmI3ZGQ1MjE3Ny4uNWRmZWE3MTNjODAwNTBlN2MwMmZmNjY5NWMyZGUzZTIwZDU4MGRh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExp
c3RQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNjcsNiArNjYs
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVn
aW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKCkKIAogICAgIC8vIE5vdGlm
eSB0aGUgVUlQcm9jZXNzLgogCi0gICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5t
aW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJl
c3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlw
ZSgpLCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKIAogICAgIHdlYlBhZ2UtPmRpZENv
bW1pdExvYWQobV9mcmFtZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213359</attachid>
            <date>2013-10-04 06:47:12 -0700</date>
            <delta_ts>2013-10-07 09:03:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131004154725.patch</filename>
            <type>text/plain</type>
            <size>96901</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc5ZTM4YmIxNWNlNWUx
OGVhMzkxZjA3YjBjNjk2NGY5Nzc3ODc2ZC4uMWQ3NjQ0MGYyMWM5MDZhZDA1MjRmMDgyMTFiNzVm
YjQzOTQ1MTBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDEzLTEwLTA0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKyAgICAgICAgLSByZW1vdmUgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAtIGFk
ZCBiYWNrIGluaXRpYWxpemVycyBmb3IgbV9zb3VwRmxhZ3MKKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6c2V0Q2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm86OnRsc0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6c2V0VExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
RXJyb3JCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6
OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZUJhc2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0u
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yOjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yOjpzZXRDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlRXJyb3JTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6
OnBsYXRmb3JtQ29weSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
UmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3Nh
Z2VDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRT
b3VwTWVzc2FnZUNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OnNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OnNldFNvdXBNZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZTo6dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBBbm5vdGF0
ZSBJREwgaW50ZXJmYWNlcyB1bmRlciBTb3VyY2UvV2ViQ29yZS9jc3MvIHdpdGggdGhlIE9wZXJh
dGlvbnNOb3REZWxldGFibGUgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2JiNjE5ZmI2YmU2YmE0
MDFkOGNkN2MxZWFkNjBiYTQ0ZDc3MTgzMy4uYmRjZGNkYTU0YjJkNDRhYjY1MWNhZTA5OTQ5ZmNl
MzExZmI1NWUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEzLTEwLTA0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKyAgICAgICAgLSByZW1vdmUgb2Jzb2xldGUgUXQgY2hhbmdlcworCisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAq
IFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW06CisgICAgICAgIChXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0
ZmljYXRlQ2hhaW4pOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlv
bi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpi
YXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAg
ICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3Jt
RGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAg
ICogU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAg
ICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6Ojpk
ZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlk
Q29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVM
b2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCk6CisKIDIwMTMtMTAtMDMgIE1hcmsg
Um93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTU1Nzg3KTog
V2ViS2l0VGVzdFJ1bm5lciByZWJ1aWxkcyBmcm9tIHNjcmF0Y2ggd2hlbiBkb2luZyBhbiBpbmNy
ZW1lbnRhbCBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZDBjMGRiZmM5
MzEyMGJhMTA5ODJhNTBmNWYyZjg3NTcxMTVhYzY4ZS4uNjI3ODI1ZDhlNDFkMjc5NTUxN2RkZjZm
YWZiZDc0ZDc2YWU3NDE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01Mzg1
LDYgKzUzODUsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggXAorCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIFwK
QEAgLTU0MTQsNiArNTQxNSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vz
c2lvblNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVm
bC5jbWFrZQppbmRleCBjOThiN2EzYjI0OWQzN2NiY2ZjYzAzMzIyYzk1OGRjY2M5OGZlYmQzLi44
YWJhNjEzOGNhZDMyOGZjMmU4NDBjOGZiM2U0NjBmZDQ4ODlkOGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMTU0LDYgKzE1NCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcAogICAgIHBsYXRmb3JtL25l
dHdvcmsvc291cC9HT3duUHRyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Q
cm94eVJlc29sdmVyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlTZXJ2
ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYjJmODhmNTU0OTNiZmRmY2Q2NzY3MzljMGFjZmUw
MmUxYzc4MGJkNi4uZmZmZTJhNjZmYzk0ZjkzMDljMzUzMTJlZDczZjcwMDM0Yjk4NTg2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2NCw2ICs3NjQsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0aGVudGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVu
dGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJv
dGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVS
S05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlT
ZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb25FdgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5
bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2ViQ29yZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8x
OXNldENlcnRpZmljYXRlQ2hhaW5FUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJDb3JlMjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0Qx
RXYKK19fWk5LN1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNo
YWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFk
UmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBO
U184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVOUzJfMTVDcmFzaE9uT3Zl
cmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4
IGE5NzVhNGRiYjQ4OWZjZGY4MGEwYWFhYzBlMTMzYmY2YWEwZTc4MjYuLjI5YjZkN2Q4ZDIzMjlk
NjJkMDA2ZTE1NWQzYzA2ODYyNTQ5ZmUxMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtODAxMyw2ICs4MDEzLDEyIEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xjZlxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCI+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cbmV0d29ya1xjZlxQcm94eVNlcnZlckNGTmV0LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19X
aW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xOTEwOSw2ICsx
OTExNSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXE5l
dHdvcmtTdGF0ZU5vdGlmaWVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXE5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIiAvPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29y
a1xQbGF0Zm9ybUNvb2tpZUphci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cbmV0d29ya1xQcm90ZWN0aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcUHJvdGVjdGlvblNwYWNlSGFzaC5oIiAvPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCmluZGV4IDczOTMwMzU0YzE4MWVlYzBiYTAxMjIwNjE3ZDFjZTI5NDJmYjk2ZjEuLjc4Nzkx
OTAzNTgwYTBiMTQ2OGI4NzMyNTk1ZWEyNmFkNGVlZjcyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTg1
OTIsNiArODU5Miw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3
b3JrXFBhcnNlZENvbnRlbnRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRl
cj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgiPgog
ICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYTIwOTEwMjQ1YjJlY2JhNGRjMzBkNDk0YTlhOGVhMDkwOGQzY2QxMi4uNGI2OTBjOWI5
YTdiYmI4Mjg2MzhkZTEwZjAxZTMwMzU1ZTZhYTJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTgzNiw3ICsxODM2LDEwIEBA
CiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9OwogCQk1
REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdDMDA3
NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0
aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b01hYy5tbSAqLzsgfTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3
REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8q
IEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNl
Y3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsg
Ki87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUw
QzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZD
REUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2
OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgzNjYsNyArODM2OSwx
MCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0
OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5
MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2
Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5h
dmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzE0Myw2ICsxMzE0OSw3IEBACiAJCQlpc2EgPSBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CiAJCQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHku
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2
IC8qIEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMw
ODI0NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzNDQ1LDYgKzEzNDUyLDcgQEAKIAkJMDg2
N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3Vy
aXR5LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmln
LmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAq
LywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAq
LywKQEAgLTE0OTQ0LDYgKzE0OTUyLDcgQEAKIAkJCQlFMTNFRjM0MjE2ODRFQ0Y0MDAzNEM4M0Yg
LyogTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggKi8sCiAJCQkJNDQ3OTU4MDIxNjQzQjQ3QjAwMUUw
QTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0NDc5NTgwMzE2NDNCNDdCMDAx
RTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAx
NDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQk1MTRDNzY1RjBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmNwcCAqLywKIAkJCQk1MTRDNzY2MDBDRTky
M0ExMDA3RUYzQ0QgLyogUHJvdGVjdGlvblNwYWNlLmggKi8sCiAJCQkJNTFBMDUyNTUxMDU4ODc0
MDAwQ0M5RTk1IC8qIFByb3RlY3Rpb25TcGFjZUhhc2guaCAqLywKQEAgLTE0OTg2LDYgKzE0OTk1
LDcgQEAKIAkJCQk1MTRDNzY0NDBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
aCAqLywKIAkJCQk1MTRDNzY0NTBDRTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMu
bW0gKi8sCiAJCQkJMUE3RkE2NDcwRERBM0NCQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyTWFjLmNwcCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDYwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlRXJyb3JNYWMubW0gKi8sCiAJCQkJNTE0Qzc2NDcwQ0U5MjM0RTAwN0VGM0NEIC8q
IFJlc291cmNlSGFuZGxlTWFjLm1tICovLAogCQkJCTUxNEM3NjQ5MENFOTIzNEUwMDdFRjNDRCAv
KiBSZXNvdXJjZVJlcXVlc3RNYWMubW0gKi8sCkBAIC0yMzQwMiw2ICsyMzQxMiw3IEBACiAJCQkJ
MEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1D
QUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhB
MkQgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QzU5
QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2ZW50
LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTE1LDYgKzI3NTI2LDcgQEAKIAkJCQk5NzdFMkUwRTEy
RjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdF
MkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2
QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEw
MEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODAwZDdlNTdmYjkxNWQwYTZhOWU4NDc0ZDA4Y2E1MDZkZjEw
MjExNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9faAorI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisKKyNpZiBQTEFU
Rk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2VsaWYgVVNFKFNPVVApCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8d3Rm
L2dvYmplY3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IFJlc291cmNlRXJyb3I7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFzcyBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworI2VuZGlmCisKKyAgICB+UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09S
SykKKyAgICB2b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZik7CisgICAgQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3Q7CisjaWZuZGVmIE5ERUJVRworICAgIHZvaWQg
ZHVtcCgpIGNvbnN0OworI2VuZGlmCisKKyNlbGlmIFVTRShTT1VQKQorICAgIEdUbHNDZXJ0aWZp
Y2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9
CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7
IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorCisgICAgR1Rsc0NlcnRpZmljYXRlRmxh
Z3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KKyAgICB2b2lkIHNl
dFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMg
PSB0bHNFcnJvcnM7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKE1BQykgfHwg
VVNFKENGTkVUV09SSykKKyAgICAvLyBDZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0
IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRv
IGEgZGVzZXJpYWxpemVkIHJlc3BvbnNlIGFmdGVyIElQQy4KKyAgICBSZXRhaW5QdHI8Q0ZBcnJh
eVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOworI2VsaWYgVVNFKFNPVVApCisgICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
bV90bHNFcnJvcnM7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaAppbmRleCA1Yjc5MDlmZGIxZGUw
MWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi40NmJmOWI5NTJlZTI5ZDAyMDgwMzllMjczNmJi
ZWMyZDlkY2M0MzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFJlc291cmNl
RXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJhc2VfaAogCisjaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTIsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRJc1RpbWVvdXQoYm9vbCBpc1RpbWVvdXQpIHsgbV9pc1RpbWVvdXQgPSBpc1RpbWVvdXQ7
IH0KICAgICBib29sIGlzVGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUaW1lb3V0OyB9CiAK
KyAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgdm9p
ZCBzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyA9
IHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21wYXJlKGNv
bnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3RlY3RlZDoK
QEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsKICAgICBT
dHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0aW9uOwor
ICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAg
ICAgYm9vbCBtX2lzTnVsbDsKICAgICBib29sIG1faXNDYW5jZWxsYXRpb247CiAgICAgYm9vbCBt
X2lzVGltZW91dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCAyY2ZiNTNhOTM3ZmI0YWI3ZmE2Yjg2YjQ3OTZi
Yjg2ZTI0ZWI3ZWIzLi40MjdlMDZjNzY2M2Y4MDllZTcwYWZiNjU2NTZiYzRhNjdiYzlmOWFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCkBAIC0yOCw4ICsyOCw5IEBACiAjZGVmaW5lIFJlc291cmNlUmVzcG9uc2VC
YXNlX2gKIAogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKLSNpbmNsdWRlICJVUkwuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgog
ICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAg
dm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+
KTsKIAorICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAg
ICB2b2lkIHNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKwogICAgIC8vIFRoZSBSZXNvdXJjZVJl
c3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRm
b3JtLXNwZWNpZmljIG1lbW9yeSB1c2FnZSBpbmZvcm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9y
eVVzYWdlKCkgY29uc3QKICAgICB7CkBAIC0xNTIsNiArMTU2LDcgQEAgcHJvdGVjdGVkOgogICAg
IHVuc2lnbmVkIG1fY29ubmVjdGlvbklEOwogICAgIGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDog
MTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsK
KyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
CiAgICAgYm9vbCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b0NGTmV0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQ5MmUyMzJlODlkY2ViZDY2MTc5ODljNTk5ZWUxNTYx
YjdiYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNw
b25zZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3Bv
bnNlLmgKaW5kZXggMTNhNTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEz
NmEwZTk0NjIxZjFkNGM2OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTEx
NywxMCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBS
ZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZP
Uk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5v
cm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byBy
ZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFp
blB0cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAg
IEluaXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBU
b0RhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NDJkYzQwZjg0MzhmODE1YTMxNTdlM2NhOGI0OWUxZjFmNTIzYTk3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29t
cGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKyNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCkKK3sKK30KKworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQorICAgIDogbV9jZXJ0aWZp
Y2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit2b2lkIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVD
aGFpbikKK3sKKyAgICBtX2NlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOworfQor
CitDRkFycmF5UmVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWluKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisjaWZu
ZGVmIE5ERUJVRwordm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Cit7
CisgICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRD
b3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKKworICAgIE5TTG9nKEAiUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9cbiIpOworICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50
cmllcyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgeworICAg
ICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmlj
YXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVB
dEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKKyAgICAgICAgTlNMb2coQCIg
ICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7CisgICAgfQorfQorI2VuZGlmCisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCmluZGV4IDU0MjVlMWZkNGE1
OWEwMmQxNjIxZTgzZjE4MTg5NDZiYmY4ZDM0YTcuLjAxODk5YjcwMzA2MzcyMGMyNTMzNWYyOTdk
NDJjMWYzODcyZGI2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQpAQCAtMTgxLDEzICsxODEsMTMg
QEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2UKIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6c2V0Q2Vy
dGlmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7CiAgICAgQVNTRVJU
KCF3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbihuc1VSTFJlc3BvbnNlKCkpKTsK
LSAgICBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47CisgICAg
bV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRl
Q2hhaW4pOwogfQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2Vy
dGlmaWNhdGVDaGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNo
YWluKQotICAgICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYg
KG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKQorICAgICAgICBy
ZXR1cm4gYWRvcHRDRihtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KSk7CiAKICAgICByZXR1cm4gYWRvcHRDRih3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVD
aGFpbihuc1VSTFJlc3BvbnNlKCkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
U291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAwYzg3ZWEzNTlmYjE3Mjc5NDIxYWVmMGE5MGI0Y2QwNTg2
MDBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJv
ci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxsaWJzb3VwL3Nv
dXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYx
OC4uMDQ3YjY5Y2VhMGRlZmJhNjZjMTRmYWY5Mjg0NmMxMDE4ZWExNzRkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBA
IC00MCwxMiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVy
cm9yQmFzZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4s
IGludCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBs
b2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4s
IGVycm9yQ29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwg
bV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAg
ICAgIDogbV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAg
cHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJp
bmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9u
RXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsg
cmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxz
RXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRl
KiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAg
ICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9j
ZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29u
c3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAg
IHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
dGxzRXJyb3JzKSk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAg
dm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHBy
aXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAg
IHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25z
dCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdS
ZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
U291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4u
MDMyODEyZjQwMmI3MmFkMmNjM2IzZTZjNzZhNTI1YWI4MTM1NzViMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNv
dXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEg
Uy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291
cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQg
UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29u
c3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAg
ZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBi
b29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBh
LCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2Jj
N2Y3NzIzYTY2MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMjg0ZTFkNGYxYmZjNjQ4MGQwOTczMmVmODlj
YzkxZDljMmY0MTE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVibGlj
OgogICAgIFJlc291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNl
KCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigw
KSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFn
cz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29u
c3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAg
ICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3Ro
LCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0
aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0
aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJl
c291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291
cmNlUmVzcG9uc2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3Vw
TWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxz
Q2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3Nh
Z2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZm
ZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0
cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rs
c0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9j
ZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShH
VGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0
ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQorICAg
IHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNh
dGUpOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9ycygp
IGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRM
U0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0
bHNFcnJvcnM7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBzb3VwTWVzc2FnZVRMU0Vycm9y
cygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7
IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
IHRsc0Vycm9ycykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNF
cnJvcnMpOyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgU291
cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5
cGU7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3Vy
Y2VSZXNwb25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVk
YmQ5ZmQzY2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi4zMWNmYjY4MWU2NmFkYTVjMGU3MGM3
MjIwNTJiYzg1YWEzN2IwMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcg
KzUyLDcgQEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBj
b25zdAogCiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxh
Z3MpOwogCi0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0
aWZpY2F0ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMs
IE5VTEwpOworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2Vy
dGlmaWNhdGUiLCBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCksICJ0bHMt
ZXJyb3JzIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAK
ICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3Vw
TWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRl
RnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFn
cyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExT
RXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0
aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAKICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJz
KHNvdXBNZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDliN2MyNjk1MjhjZjAxYTMzMGY2MmNhNTExNWY3OTE1NDUwZDIwMDguLjM3
MDlhODFlMDliMGYzMWM3M2Q5MjMyNmM5ODc0NTE2NzEzNDU3YjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNDc5LDggKzQ3OSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlz
dGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVy
c2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENo
ZWNrZXJTdGF0ZS5oIFwKQEAgLTEzNDUsOCArMTM0Myw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nl
c3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFj
dG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBD
YWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCAx
YmFmNWIxOWFiMjAwM2U1NDhkMDNiYzJlNjU4MmIyMmE0M2ViN2E3Li40MzM5YmQ3OWRjYzVmOGJl
MjUzYjM2MmY4NTAzY2FkMGU2MTYxNWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50
LmNwcApAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYz
LDcgKzY0LDcgQEAgdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRo
ZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9h
ZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxv
YWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6
RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgp
KSk7CisgICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291
cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNl
LCByZXNwb25zZS5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGluZ01h
aW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hhcmVk
QnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAxMjgxNzRhMzY4MTFjMWRj
ZDI3MmJmMDNjZWMxMDQwNWVkZDExMDAuLmIwMGU0MTZkZWJlZGU0YzZmNmYyYjQ2ZTQyYTliNGRk
YmViMzAzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CitjbGFzcyBSdW5Mb29wOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTQ0LDcgKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbk1h
bmFnZXI7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogc3Ry
dWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBOZXR3b3JrUHJv
Y2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGll
bnQgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVl
c3QodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7
CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lk
IHNldENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYg
aG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2Fs
bGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNo
ZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAyODA3YzFlNTU2
MmEzZWU2OWZmNjA2OTg1ZGQ3Li45Y2JhYWFiZmMwYzMxOWM3ZTc1OTNhY2RiYmIzOGQ2MGQ1OWJk
ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3
b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5h
YmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBX
VEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJp
bmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3Qg
Y2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDg1ZThiYmExZTQ1MzUxZGNkMTI1
ZjMwN2E5ZDhkODUwMzllMGQ2MjAuLjU2YTI4ODBlMjUxMmZmNTFmZjNjMDIwMDUyZDIxNjNmOWYy
M2ZmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5ldHdv
cmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1ZGUg
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0Nv
bnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNoYXJl
ZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IGUxOTdmZjM5NmY3MGE3N2E5NTYyZDM1YWI1M2Qy
YzQ0NTM1Y2MwMmUuLjNlZDVkYzhiY2NkODI0MzRlYzc0Y2U2NjRmN2EwOWUxMmFlZTM3ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vz
c01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1By
b2Nlc3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgi
Ci0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3VyY2VD
YWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJT
YW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRp
ZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9M
b2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPG1hY2gv
aG9zdF9pbmZvLmg+CiAjaW1wb3J0IDxtYWNoL21hY2guaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UKaW5kZXggODgwNTBjMTk4M2E2NWJmNTdiNDlkYzliYzk3N2NmZmM1ZGY3NTE5Yi4uOTNkYjVh
ZWM4NjFhNDEwZTIxMDY5NDIwODI4MWFhZDdhOTg3MzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKQEAgLTQyLDcgKzQyLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
U2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4
L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggYzBiZDBmYTQ0ZjE0OTk3YjEzNTg4NzE0N2Q0
ZjQ5MWRlNzUwOTEzNS4uNDFlNTk3MWY3ZWYwMThlMGM5NjkzZmJhMzQ5Mjg2NjEzMDZhNGFiZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQg
V2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwu
Y3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAK
LSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1
bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNk
ZDgzZTBlODIzZjQzNDc1YzJlM2JmYWIuLmU1MGUyNGE5Y2I4Y2I0MDg4MGNlMGFmMDhhYzk2NDA3
NjI3M2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tD
ZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21h
Yy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0
ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAg
IFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmlj
YXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4p
KTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJD
ZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhj
ZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxl
YXNlKCkubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRjNmY4
MWU5NTM5MGZmNzBkMzgxODJiZGM5YjQyNmJhNmUwMWE1OTEuLmQ2ZWMzZmEwZDc0Yzg5Y2U5ZThk
YzVlZDkzOGRiN2VhMjFlODg3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM2LDEz
ICszNiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nl
c3M7CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xh
c3MgV2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQ
cm9jZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGlj
IENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAg
ICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9j
ZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQq
LCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1
c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJD
b3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2
b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0
IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklE
RTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2Uo
Y29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9G
b3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25z
dCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0
YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5p
bgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2Yzk2MWRkLi5lNjkxNWNj
YjY1YWRmMGI5YWRlODQ0NGMxYjI4ODA0MjMzZmQ0N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRl
bnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRp
YWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRl
bnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2Vs
Q2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3
NjljMjc2MDEzLi4xOTQ0ZDM3ZmNiMTAzY2RhZWMyYjUyYjYwYzA5N2E3MmNiYzkwYzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBA
CiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEw
NTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLjljYThjMzM4OWI0MWY2MDM5MmIzZmM0
Zjg3Y2Y1NzMzY2U0NmM3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2Vy
TWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm86IHsK
LSAgICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOworICAgICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmgKaW5kZXggMDYxODJmY2UyZmM2ZDU5N2U5ZjVmOGMwMzk1NzcxOWEyYWE2MmFmNS4uMmNk
NzlkN2UzMjM3YmYwNDI4OWU2ZWExYWE2ZGQzMTdkZTdlOGMwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5l
IFdlYkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJ
T2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmlj
YXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBp
bmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUlu
Zm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5m
bykKICAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAg
IH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CisgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2ZjZl
NTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThlLi5mYTEyZGY5NjExNmI4ODg3MGNlNmVjNzg2NjJh
ZWE4NjBiOWQwZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcApAQCAtMzksMTMgKzM5LDE0IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1VSTC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNl
clN0eWxlU2hlZXQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZXdwb3J0QXJndW1lbnRzLmg+CkBA
IC01NDcsNiArNTQ4LDIzIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmVu
Y29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEo
ZW5jb2RlciwgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3VtZW50Q29k
ZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNv
ZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworCisgICAgaWYg
KCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2VydGlmaWNhdGVJbmZvKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0
ZUluZm87CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291
cmNlRXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogICAgIGlmIChrU2hvdWxkU2VyaWFsaXplV2ViQ29y
ZURhdGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAppbmRleCBhOTY1ZGU4NTUyMjdiMWYxNDMyM2RmODE3N2YyYjk5OTU5OTkzZDgwLi44MDI3ODYz
NzJkM2JiN2MyMGQ2NjEwMTE5NWFlMDk1YTdjYzJhMzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC00NSw2ICs0NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdDsKICAgICBjbGFzcyBVUkw7
CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9y
OwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7CiAg
ICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiwgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gewog
I2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFsaXpl
V2ViQ29yZURhdGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OWVhMWEyZjMzMTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2NkNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5l
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXNwb25zZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJ
UEMgewotICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBBcmd1bWVudEVuY29k
ZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBs
aWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQotCi0gICAgdm9pZCBlbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7
Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJp
dmF0ZToKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhNzM1NDVjNWJk
MTY4ZjZhYTkyNmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aCIKLQotI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnREZWNv
ZGVyLmgiCi0jaW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigp
KQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWlu
KGNlcnRpZmljYXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAg
aWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBD
OjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXNDZXJ0
aWZpY2F0ZUNoYWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFp
bikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFp
bikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNv
ZGVyLCBjLm1fY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlm
aWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDog
MDsKLQotICAgIE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAgIE5TTG9n
KEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGVudHJpZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1h
cnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZp
Y2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwg
aSkpKTsKLSAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7
Ci0gICAgfQotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRl
eCBjMTI2MDAwM2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2ZTQ1Li5jMGRjNDZlMjY0ZDA0
OTgyMTBjMjY0Y2FlZjYwYjAyNzU2NjY4ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTQgKzI4LDE0IEBA
CiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2ltcG9ydCAiQXJndW1lbnRD
b2RlcnNDRi5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQg
IldlYktpdFN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1
ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29y
ZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNl
UmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgeworICAg
ICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5j
b2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNo
YWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2Vy
dGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hh
aW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hh
aW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNl
cnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlm
aWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBT
dHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBz
dHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJp
bmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVj
ZmRhNmU3ZWViYTY3MTRlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVj
b2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotICAgIDogbV90bHNF
cnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQotewotfQotCi1QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBN
ZXNzYWdlQ2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNz
YWdlVExTRXJyb3JzKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAg
IDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50
bHNFcnJvcnMoKSkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpl
bmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlm
ICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAg
ICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0
ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7
Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9
IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwg
Y2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlOwotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFS
ZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0
aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQo
Y2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZp
Y2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRp
ZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCog
YmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKLSAgICBjZXJ0aWZpY2F0ZUlu
Zm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxl
X25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBO
VUxMKSkpOwotCi0gICAgdWludDMyX3QgdGxzRXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJv
cnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMjMxZjM2ZGIzMmY4ZDhiNDAyNjdi
NmRiNDVjMTQ3ZjYxYzA1NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0j
aW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1j
bGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhw
bGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICB+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLQot
ICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRp
ZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29u
c3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi1wcml2YXRlOgot
ICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4
IGRjNGUxMTkxNzU3ZWNlMTc1YWQ0ODVhN2FhNzIyNTJmYWZhZTg4NDYuLjI4ZDIwZDk3NDZmYWM0
N2I3MWUyMDFkMmFjMzI3NDcwNzFjMDAwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEs
NyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3Qu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCw5ICs2OSw2MCBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShB
cmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbykKK3sKKyAgICBpZiAoIXBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkp
IHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdf
T0JKRUNUKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAiY2VydGlmaWNh
dGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkg
eworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUg
PSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxl
TGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEs
IGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90
PihwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJ
UEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVu
Y2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0
ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5z
aXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlm
aWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRl
Qnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0Nl
cnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2lu
aXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAw
LCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCAwKSkp
OworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRl
LmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+
KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogdm9pZCBBcmd1bWVudENv
ZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewotICAgIGVuY29k
ZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJvcik7CisgICAgZW5jb2Rl
ciA8PCByZXNvdXJjZUVycm9yLnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTc5LDgg
KzEzMSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc291cmNl
RXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAg
IHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7
CisgICAgcmVzb3VyY2VFcnJvci5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0
ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDQ0NjI5ZWNmZmRhNjI1MzZk
ODhhZjFjZjU4MzE2MTk1NjdhZDk1MTUuLmI1OWY0YjUwYzhiZDE5MzBiMTZkODgxMTRkZWRmYjc2
MzJkOTVlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXcuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViVmll
dy5oIgogCiAjaW5jbHVkZSAiSW1hZ2VPcHRpb25zLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRl
ICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRh
LmgiCkBAIC02Miw2ICs2MSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0
aWVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5o
PgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KQEAgLTI5ODcsNyArMjk4Nyw3IEBA
IGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0
dXJuIEZBTFNFOwogCi0gICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCk7CisgICAgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNh
dGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVh
ZTg4NDg0ZGM3NDE1MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmE5ODM4MmFlZDMyODQ1ZDA3ZDE2Mzc1
NmQyYjVhNjE4OWNlMjMxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAg
IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250
aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAg
ICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBj
cmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAg
ICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2Vy
dGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
IDogV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29yZSgpLCBwbGF0Zm9ybUlu
Zm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmNwcAppbmRleCBhNTcwODdjMWZkNGM4ZGFjMjAyMjMwN2FkNDViNmExNTg5ZWFkMmYzLi42MjUy
YmU2MDU4NWE2MzQ1NTk3MDdmN2NiZjY4YjQyYzAwMDcxNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBXZWJG
cmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX3VucmVhY2hhYmxlVVJM
ID0gbV9sYXN0VW5yZWFjaGFibGVVUkw7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29t
bWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRM
b2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRl
ID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNv
bW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBi
ZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjliM2U2YzE5NzRmNTAwOGMx
MTQ1YmVmN2RkMTU5YWE4N2Q3MThlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBj
bGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEltbXV0
YWJsZUFycmF5OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisKIGNsYXNzIFdlYkNl
cnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTsKIGNs
YXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTEwNiw3ICsxMTAsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7
CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoY29u
c3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwotICAg
IHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYp
OwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZvaWQgZGlkRmFpbExvYWQoKTsKICAg
ICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29uc3QgU3RyaW5nJik7IC8vIGVnLiBh
bmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTg0Y2MwNzhmZTc5NTkzZjdlYTI0N2M2YTgwNmI3
NTA2MTA3NDZjNC4uMWQ0YmUxZDAzYjY0ZGIwODczZDE4OGI4MDgyZWU5ZTM5ZWE2YWE2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgU2hhcmVkQnVm
ZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAtMTI1LDcgKzEyNiw2IEBA
IGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50
OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBX
ZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwpAQCAtNzg1
LDcgKzc4NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcm
IHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAg
ICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
dWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGE5ODUzOGJlMTI0MzljZTcyMmNlNDljM2Q3NTU4NDI2
YzQ2N2I3Y2QuLjAyYTgyZmUxN2VmMzdhN2Y1NGNkMDI1YzI5MzllN2IwNTE5MzhiYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpA
QCAtMTExLDcgKzExMSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3Jl
YXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdl
cwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmlu
ZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBE
aWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJy
b3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90
IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNo
RG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjMjIyODcwNmNi
ZmQzZmIwNGU0MzNjY2Q0ZjRkMTdhZDcwMDAxYmYwLi45YzI5Njg1NjY4NDM2NjRjMDBmMjkzNzdm
ZTMyNDMwNjZhMmNlYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDMyLDggKzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0
REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJ
QkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMw
NDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1
RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAw
NTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEy
NDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyog
V2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAv
KiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50
LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5
Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYy
LDggKzI0NjAsNiBAQAogCQlCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8q
IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0
MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAv
KiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29y
azsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNG
NjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTQ5LDggKzQxNDUsNiBAQAogCQkJCUM1NzRBNTgwMTJF
NjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTND
QkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUz
MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMw
NDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFC
OEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2
NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkx
QUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0g
Ki8sCkBAIC01MTA5LDcgKzUxMDMsNiBAQAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAv
KiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcw
MEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3
QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAv
KiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2
MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAq
LywKQEAgLTYyNjksNyArNjI2Miw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8q
IFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJG
RDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3Rh
dGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3
Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkwZGQxNjE2
NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJkLi45MjEwMDk5Njc3MjhjM2Q3ZjI1Yjk2YjE5NzNiZDJh
ZThjMmE1OGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAj
aW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VMb2FkZXIuaD4KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcAog
ICAgIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgqdGhpcyk7CiAKICAgICBSZXNvdXJj
ZVJlc3BvbnNlIHJlc3BvbnNlQ29weShyZXNwb25zZSk7Ci0gICAgcmVzcG9uc2VDb3B5LnNldENl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CisgICAg
cmVzcG9uc2VDb3B5LnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7
CiAgICAgbV9jb3JlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAog
ICAgIC8vIElmIG1fY29yZUxvYWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRp
ZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9u
KCkuIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaAppbmRleCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5YzdmNDgwZGVk
NTcyLi40NTEwMGE3OWVkNWY5NjIxYzZhODRhOTY0Mjk2M2NkZjE4MjNiNWJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
aApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFByb3RlY3Rp
b25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKQEAg
LTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBS
ZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VT
ZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJl
cXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1
aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVl
ZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2
ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRz
Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVE
YXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90IGVuY29kZWREYXRhTGVu
Z3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSk7
CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA2Nzc1NGRlY2ZkMzMyYjc5
MGQ5ZTBkOTgyZmMzMWQ2OGFiMDk4NjRhLi5lY2M3NGEwNTYxM2U3N2ZmN2RmN2U2NzE2NGIyMTQ0
ZjViZWI5Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICAv
LyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0
eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlZGlyZWN0
UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0
b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNh
dGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShDb3JlSVBDOjpEYXRh
UmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlkRmluaXNo
UmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNvdXJjZUxvYWQo
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAKaW5kZXggYThkYjYwN2ZhYjQzZGZjNjc3YTA2MTMxNjA2OGExYWRiMDAyMDdmYS4uY2E1
ZTc3ZjRmOGU1M2Y2MGZjMGFmMjFhMjhjNDY2YmEwZDZmNDRhYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTmF2aWdh
dGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlBsdWdp
blZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgogI2luY2x1ZGUg
IldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNjcsNiArNjYsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFj
a2VyLmg+CkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEaWRDb21taXRMb2FkKCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogCi0g
ICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9y
RnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5j
b3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
cmVzcG9uc2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQo
KSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1p
dExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1f
ZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCByZXNwb25zZS5wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2Vy
RGF0YS5nZXQoKSkpKTsKIAogICAgIHdlYlBhZ2UtPmRpZENvbW1pdExvYWQobV9mcmFtZSk7CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213595</attachid>
            <date>2013-10-07 09:03:22 -0700</date>
            <delta_ts>2013-10-10 06:55:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131007180319.patch</filename>
            <type>text/plain</type>
            <size>96968</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk3Zjk0MmQ0MDJhMGRm
YjEyMzk2M2JkN2NmOWZmZDdmZmZiYWRiYy4uMDJmMWI5ZGNjZDBkYWY3OTkwNTUwNDAxOTkyMjFi
NjM5NmJjNWRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTA3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5v
cm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVUkxNZWRpYVN0cmVhbSBpcyB1bmd1YXJkZWQg
YnkgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzYjQ1MmQzN2UzOGY0NGE3MDk1
MTczYTRlNjIzZDcwZTM3MTRhYTBiLi5jMDBiOTk5ZDA2ODA1NjlkMmFlM2JiZTc3NGE4YzYyOWM3
NGM2NWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMTMtMTAtMDcgIENzYWJhIE9z
enRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUgYW5kIG1ha2UgdGhlIFJlc291cmNlUmVzcG9uc2UgcHJp
bWl0aXZlcyB3b3JrIGluIHRlcm1zIG9mIHRoYXQgcGxhdGZvcm0gYWdub3N0aWMgb2JqZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBnZXR0ZXIgYW5kIHNldHRlciB0byBSZXNvdXJjZUVycm9yQmFz
ZQorICAgICAgICBhbmQgUmVzb3VyY2VSZXNwb25zZUJhc2Ugc28gdGhhdCBnZXR0aW5nIGFuZCBz
ZXR0aW5nIGNlcnRpZmljYXRlcworICAgICAgICBiZWNvbWVzIGNyb3NzIHBsYXRmb3JtLgorCisg
ICAgICAgIENoYW5nZWQgdGhlIGV4aXN0aW5nIHBsYXRmb3JtIHNwZWNpZmljIGNlcnRpZmljYXRl
IGdldHRlcnMgYW5kIHNldHRlcnMKKyAgICAgICAgb2YgUmVzb3VyY2VFcnJvciBhbmQgUmVzb3Vy
Y2VSZXNwb25zZSB0byB1c2UgdGhlCisgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1l
bWJlci4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBLd2FuZyBZdWwgU2VvICA8c2t5dWxA
Y29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgVGhlIGZvbGxvd2luZyB0aGluZ3Mgd2VyZSBmaXhl
ZCBieSBDc2FiYSBPc3p0cm9nb27DoWM6CisgICAgICAgIC0gdHJpdmlhbCBjb25mbGljdHMgcmVz
b2x2ZWQgaW4gV2ViQ29yZS5leHAuaW4sIHByb2plY3QucGJ4cHJvaiwgTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcCwKKyAgICAgICAgICBXZWJQYWdlUHJveHkuaCwgV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwIGFuZCBQbGF0Zm9ybUVmbC5jbWFrZS4KKyAgICAgICAgLSB0cml2aWFsIGZpeCBpbiB0
aGUgbmV3IEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisgICAgICAgIC0gc3R5
bGUgZml4ZWQgKE5VTEwgLT4gMCBhbmQgc21hbGxlciBpbmRlbnRhdGlvbiBpbiBXZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcCkKKyAgICAgICAgLSBvYnNvbGV0ZSBjaGFuZ2UgcmVtb3ZlZCBm
cm9tIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKyAgICAgICAgLSB1bm5lZWRlZCB0eXBvIHJl
bW92ZWQgZnJvbSBSZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisgICAgICAgIC0gRml4ZWQgdGhlIGlm
IGd1YXJkIG9mIGluY2x1ZGluZyBSZXRhaW5QdHIuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIHRvIG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSBhZGQgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgd2l0aCBlbXB0eSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1
Y3RvciB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gcmVzb2x2ZSBjb25m
bGljdCBpbiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
YWZ0ZXIgcjE1NjQ4OAorICAgICAgICAtIHJlbmFtZSBLVVJMIHRvIFVSTCBhZnRlciByMTU2NTUw
LgorICAgICAgICAtIHJlbW92ZSBvYnNvbGV0ZSBRdCBjaGFuZ2VzCisgICAgICAgIC0gYWRkZWQg
YmFjayBpbml0aWFsaXplcnMgZm9yIG1fc291cEZsYWdzCisgICAgICAgIC0gaW5jbHVkZWQgZ2lv
L2dpby5oIGluc3RlYWQgb2YgbGlic291cC9zb3VwLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaAorICAgICAgICAtIHJlbW92ZWQgdW51c2VkIGNsYXNzIGZvcndhcmQgZGVjbGFyYXRpb25z
IGFuZCBpbmNsdWRlcworCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAq
IFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAgIChXS0Nl
cnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4pOgorICAgICAgICAqIFNoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFy
ZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1h
Yy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdl
YktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQv
V2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5m
bzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpwbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURh
dGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRl
bnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0
TG9hZCk6CisKIDIwMTMtMTAtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBHVEsrIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggYTFjMjAwMjliZDQyODA1ZjczODNkMDZlMjg3ZGFkYzcyMjY1MjBk
NS4uYTdkNmM3MGQ4MDQxZTNkOTJlZDMzYjhiOWZhYmJkYjFiN2EzYTg0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC01Mzg0LDYgKzUzODQsNyBAQCB3ZWJjb3JlX3BsYXRmb3Jt
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
YXRlTm90aWZpZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9QbGF0Zm9ybUNvb2tpZUphci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlRXJyb3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIFwKQEAgLTU0MTMsNiArNTQxNCw3IEBAIHdlYmNvcmVf
cGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9ETlNTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lvblNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Byb3h5U2VydmVyU291cC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
U291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBjOThiN2EzYjI0OWQzN2Ni
Y2ZjYzAzMzIyYzk1OGRjY2M5OGZlYmQzLi44YWJhNjEzOGNhZDMyOGZjMmU4NDBjOGZiM2U0NjBm
ZDQ4ODlkOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTU0LDYgKzE1NCw3IEBA
IGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9E
TlNTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9HT3duUHRyU291cC5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKKyAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Qcm94eVJlc29sdmVyU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUHJveHlTZXJ2ZXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZTRm
ZGJjMDNkZTdkMTI0YWJmNTZlMGViZjE0M2MyMmM0NzM4NzM3NS4uMjFhNmRjMGYzM2UxMTgzYWFl
ODMzN2EyMzFiYWQxMGE0ZjQzMTRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2Miw2ICs3
NjIsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0aGVu
dGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFs
RWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2Vi
Q29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb25F
dgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2ViQ29y
ZTIzUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8xOXNldENlcnRpZmljYXRlQ2hhaW5FUEs5X19DRkFy
cmF5CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5
CitfX1pON1dlYkNvcmUyM1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJDb3Jl
MjNQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0QxRXYKK19fWk5LN1dlYkNvcmUyM1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25v
dXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUy
M2RhdGFGb3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhv
c3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGQyYWFiYTY2YzI2MWJhZmUwM2Uz
MTM2NzRlM2ViOTI4MzQ1MTY1NzEuLjY1OGJlYWNmMWI5OTllZTFlYzRmZjdlMDg4MDk4M2ZiNDQ4
YmZiOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagpAQCAtODAxMyw2ICs4MDEzLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb0NGTmV0LmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxQcm94eVNl
cnZlckNGTmV0LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xOTA5Niw2ICsxOTEwMiw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xQYXJzZWRDb250ZW50VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQbGF0Zm9ybUNvb2tpZUphci5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xQcm90ZWN0
aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdv
cmtcUHJvdGVjdGlvblNwYWNlSGFzaC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGZkMjA1NjYyNmEz
YzBkMDczY2RjNTg2ZDE1ZTJiZmZhODlkNDQzMDguLjgwMjJmMjMzZDNjYTBhN2Y0Yjk2Mzg3Mjhm
Y2U4MTVmYWY5MGY3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTg1ODksNiArODU4OSw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBhcnNlZENvbnRlbnRUeXBl
LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3JrPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXFBsYXRmb3JtQ29va2llSmFyLmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9y
bVxuZXR3b3JrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODQ2N2U4YzI1Y2RlODE5
YzRhMGM3NjBkNmYxOGY4MDYxZmZlYzViMC4uNDkzMTVlMjE3OWU1MzQzYzgyMzdiOTg4YjM5MmVl
OGFjODA1MGE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTgzNCw3ICsxODM0LDEwIEBACiAJCTVERjdGNUMyMEYwMUY5MkEw
MDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYx
RDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9OwogCQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5
MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rp
b24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Ez
NzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmggKi87IH07CisJCTVGMkRC
QkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMz
MkQwMDE0MTQ4NiAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsgfTsKKwkJNUZB
OTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFODE3OEUzMzY5
MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQg
LyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsg
fTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4
RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYyNkNERTBFMTE0
MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyog
U3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjgg
LyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYy
OEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVE
Q0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgzNjcsNyArODM3MCwxMCBAQAogCQk1REE5N0VDQzE2OEU3
ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBU
cmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYy
REJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBK
U0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50
VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGRTFEMjkxMTc4RkQxRjMw
MDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5
LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlh
bE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BhdGlhbE5h
dmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI4RDIxNEIxMjEzMUVE
MTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMzE0OSw2ICsxMzE1NSw3IEBACiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk1
RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFjY2VsZXJhdGUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1OTAwMUU5QUJDIC8qIEFw
cGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJG
MTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdvcmsgaW4gRnJhbWV3b3Jr
cyAqLywKQEAgLTEzNDUxLDYgKzEzNDU4LDcgQEAKIAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3
IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLywKIAkJ
CQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIw
QUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBD
QTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAgLTE0OTUwLDYgKzE0OTU4
LDcgQEAKIAkJCQlFMTNFRjM0MjE2ODRFQ0Y0MDAzNEM4M0YgLyogTmV0d29ya1N0b3JhZ2VTZXNz
aW9uLmggKi8sCiAJCQkJNDQ3OTU4MDIxNjQzQjQ3QjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRU
eXBlLmNwcCAqLywKIAkJCQk0NDc5NTgwMzE2NDNCNDdCMDAxRTBBN0YgLyogUGFyc2VkQ29udGVu
dFR5cGUuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCAqLywKIAkJCQk1MTRDNzY1RjBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVj
dGlvblNwYWNlLmNwcCAqLywKIAkJCQk1MTRDNzY2MDBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVj
dGlvblNwYWNlLmggKi8sCiAJCQkJNTFBMDUyNTUxMDU4ODc0MDAwQ0M5RTk1IC8qIFByb3RlY3Rp
b25TcGFjZUhhc2guaCAqLywKQEAgLTE0OTkyLDYgKzE1MDAxLDcgQEAKIAkJCQk1MTRDNzY0NDBD
RTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMuaCAqLywKIAkJCQk1MTRDNzY0NTBD
RTkyMzRFMDA3RUYzQ0QgLyogRm9ybURhdGFTdHJlYW1NYWMubW0gKi8sCiAJCQkJMUE3RkE2NDcw
RERBM0NCQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCAqLywKKwkJCQk1
RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0g
Ki8sCiAJCQkJNTE0Qzc2NDYwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlRXJyb3JNYWMubW0g
Ki8sCiAJCQkJNTE0Qzc2NDcwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlTWFjLm1t
ICovLAogCQkJCTUxNEM3NjQ5MENFOTIzNEUwMDdFRjNDRCAvKiBSZXNvdXJjZVJlcXVlc3RNYWMu
bW0gKi8sCkBAIC0yMzQyMiw2ICsyMzQzMiw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVD
QzA0IC8qIFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEy
OENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAv
KiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRF
MDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3
NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3NTM1LDYgKzI3NTQ2LDcgQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNT
QXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzODAg
LyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3
QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJF
OTE3OEUzQzgxMDAxNDE0ODYgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2FtcGxl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyogUmFz
dGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzIyZWVjMmQ5MjVkMmNhZDUzZTM3ODM0OTE3ZTJmNjgwNGExZTRmMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBN
b3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorI2RlZmluZSBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5F
VFdPUkspCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2VsaWYgVVNFKFNPVVApCisjaW5j
bHVkZSA8Z2lvL2dpby5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KKyNlbmRp
ZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisjaWYgUExBVEZP
Uk0oTUFDKQorICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbik7CisjZW5kaWYKKworICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0
Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRl
Q2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7Cisj
ZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENl
cnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9
IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQor
I2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQor
ICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNw
b25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQg
cmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmlj
YXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4g
bV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNl
bmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1MzMxYzc1OTk0Zjkz
OGMzNzNmMjcwNWMuLjQ2YmY5Yjk1MmVlMjlkMDIwODAzOWUyNzM2YmJlYzJkOWRjYzQzNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JC
YXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJvckJhc2VfaAogI2Rl
ZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC01Miw2ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzVGltZW91dChi
b29sIGlzVGltZW91dCkgeyBtX2lzVGltZW91dCA9IGlzVGltZW91dDsgfQogICAgIGJvb2wgaXNU
aW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pc1RpbWVvdXQ7IH0KIAorICAgIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0
dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbykgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0gcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87IH0KKwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJv
ciYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAtODksNiArOTMsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmluZyBtX2ZhaWxpbmdV
Ukw7CiAgICAgU3RyaW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247CisgICAgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1faXNOdWxs
OwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdlYjMuLjQy
N2UwNmM3NjYzZjgwOWVlNzBhZmI2NTY1NmJjNGE2N2JjOWY5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAg
LTI4LDggKzI4LDkgQEAKICNkZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCiAjaW5jbHVk
ZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCisjaW5j
bHVkZSAiVVJMLmgiCiAKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTExMiw2ICsxMTMsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2Fk
VGltaW5nKiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdDsKICAgICB2b2lkIHNldFJlc291cmNl
TG9hZFRpbWluZyhQYXNzUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4pOwogCisgICAgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3Qg
eyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKSB7IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gPSBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ugc3ViY2xhc3Mg
bWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVt
b3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAog
ICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25u
ZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAgIFJlZlB0cjxS
ZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2FkVGltaW5nOworICAgIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiAKICAgICBib29sIG1faXNO
dWxsIDogMTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2ZDkyZTIzMmU4OWRjZWJkNjYxNzk4OWM1OTllZTE1NjFiN2JhODgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvQ0ZOZXQuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KQoreworfQorCitQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAppbmRleCAxM2E1
ODExODBlYTY4OGRkZTM3NmUzNWYwN2UyZWUzMTYzOGFkMzVlLi41YTM2YTBlOTQ2MjFmMWQ0YzY5
ZTIzY2QyZGJkNDc1ZWEwNzIxYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaApAQCAtMTE3LDEwICsxMTcsNiBAQCBw
cml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1VSTFJl
c3BvbnNlPiBtX25zUmVzcG9uc2U7CiAjZW5kaWYKLSNpZiBQTEFURk9STShNQUMpIHx8IFVTRShD
Rk5FVFdPUkspCi0gICAgLy8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9ybWFsbHkgcGFydCBvZiBO
Uy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRl
c2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCi0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOwotI2VuZGlmCiAgICAgSW5pdExldmVsIG1faW5p
dExldmVsOwogICAgIGJvb2wgbV9wbGF0Zm9ybVJlc3BvbnNlSXNVcFRvRGF0ZTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0MmRjNDBmODQzOGY4MTVh
MzE1N2UzY2E4YjQ5ZTFmMWY1MjNhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAt
MCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9y
dCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQor
CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlm
aWNhdGVDaGFpbikKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpCit7Cit9CisKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNl
dENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1f
Y2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47Cit9CisKK0NGQXJyYXlSZWYgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAoreworICAgIHJl
dHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7Cit9CisKKyNpZm5kZWYgTkRFQlVHCit2b2lk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKK3sKKyAgICB1bnNpZ25lZCBl
bnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlmaWNh
dGVDaGFpbi5nZXQoKSkgOiAwOworCisgICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVjdFN1
bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0aWZp
Y2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJpbmcg
KilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5YTAyZDE2MjFlODNmMTgx
ODk0NmJiZjhkMzRhNy4uMDE4OTliNzAzMDYzNzIwYzI1MzM1ZjI5N2Q0MmMxZjM4NzJkYjYzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VS
ZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9S
ZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291cmNl
UmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25z
dCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKENG
QXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJMUmVz
cG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwotICAgIG1fZXh0ZXJuYWxD
ZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbik7CiB9CiAKIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBSZXNvdXJjZVJlc3BvbnNlOjpjZXJ0aWZpY2F0ZUNoYWluKCkg
Y29uc3QKIHsKLSAgICBpZiAobV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJl
dHVybiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAobV9wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpCisgICAgICAgIHJldHVybiBhZG9wdENGKG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVy
biBhZG9wdENGKHdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9u
c2UoKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNTU5ZDhiYzczZTQwYWYwYTBhMWJmMWYxZWU4OTk0ZTBiOTNmZmU5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIElu
Yy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvci5oCmluZGV4IDFhNzA1ZjE1ZWQ3ZjM4ZjhkM2FmZWQ3MDExYTMw
YzA0YmNjNzhmMTguLjA0N2I2OWNlYTBkZWZiYTY2YzE0ZmFmOTI4NDZjMTAxOGVhMTc0ZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3IuaApAQCAtNDAsMTIgKzQwLDEwIEBAIGNsYXNzIFJlc291cmNlRXJyb3IgOiBwdWJsaWMg
UmVzb3VyY2VFcnJvckJhc2UKIHB1YmxpYzoKICAgICBSZXNvdXJjZUVycm9yKGNvbnN0IFN0cmlu
ZyYgZG9tYWluLCBpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwsIGNvbnN0
IFN0cmluZyYgbG9jYWxpemVkRGVzY3JpcHRpb24pCiAgICAgICAgIDogUmVzb3VyY2VFcnJvckJh
c2UoZG9tYWluLCBlcnJvckNvZGUsIGZhaWxpbmdVUkwsIGxvY2FsaXplZERlc2NyaXB0aW9uKQot
ICAgICAgICAsIG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlRXJy
b3IoKQotICAgICAgICA6IG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIApAQCAtNTYsMTcg
KzU0LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVzb3VyY2VFcnJvciB0aW1lb3V0RXJyb3Io
Y29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKTsKICAgICBzdGF0aWMgUmVzb3VyY2VFcnJvciBhdXRo
ZW50aWNhdGlvbkVycm9yKFNvdXBNZXNzYWdlKik7CiAKLSAgICB1bnNpZ25lZCB0bHNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0VExTRXJyb3JzKHVu
c2lnbmVkIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQotICAgIEdUbHND
ZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdl
dCgpOyB9Ci0gICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAgIHVuc2lnbmVkIHRsc0Vy
cm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3Jz
KCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV9wbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KTsgfQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSkgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRl
KTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImKSBj
b25zdDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJv
ciYgYSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBtX3Rsc0Vycm9y
czsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRjYTc5OWY3Mzc2
YWRjZGRjNTIuLjAzMjgxMmY0MDJiNzJhZDJjYzNiM2U2Yzc2YTUyNWFiODEzNTc1YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
U291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlRXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAgUmVzb3VyY2VF
cnJvciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJM
KQogCiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJv
ckNvcHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2NlcnRpZmlj
YXRlOwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOworICAgIGVycm9y
Q29weS5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KTsKIH0KIAogYm9vbCBSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgYSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCmluZGV4IDQ4
OTFmOTM1ZmNiYzdmNzcyM2E2NjE1N2VlMmVkOTMzY2Y1M2UwZjcuLjI4NGUxZDRmMWJmYzY0ODBk
MDk3MzJlZjg5Y2M5MWQ5YzJmNDExOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaApAQCAtMzgsMjEgKzM4LDE4
IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZVJlc3BvbnNlKCkKICAgICAgICAgOiBSZXNvdXJjZVJl
c3BvbnNlQmFzZSgpCiAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1lc3Nh
Z2VGbGFncz4oMCkpCi0gICAgICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRp
ZmljYXRlRmxhZ3M+KDApKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBsb25nIGxvbmcgZXhwZWN0ZWRM
ZW5ndGgsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSwgY29uc3QgU3RyaW5nJiBmaWxl
bmFtZSkKICAgICAgICAgOiBSZXNvdXJjZVJlc3BvbnNlQmFzZSh1cmwsIG1pbWVUeXBlLCBleHBl
Y3RlZExlbmd0aCwgdGV4dEVuY29kaW5nTmFtZSwgZmlsZW5hbWUpCiAgICAgICAgICwgbV9zb3Vw
RmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCi0gICAgICAgICwgbV90bHNF
cnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQogICAgIHsKICAgICB9
CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICAg
ICAgOiBSZXNvdXJjZVJlc3BvbnNlQmFzZSgpCiAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGlj
X2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCi0gICAgICAgICwgbV90bHNFcnJvcnMoc3RhdGlj
X2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQogICAgIHsKICAgICAgICAgdXBkYXRlRnJv
bVNvdXBNZXNzYWdlKHNvdXBNZXNzYWdlKTsKICAgICB9CkBAIC02NywxMSArNjQsMTEgQEAgcHVi
bGljOgogICAgIGNvbnN0IFN0cmluZyYgc25pZmZlZENvbnRlbnRUeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9zbmlmZmVkQ29udGVudFR5cGU7IH0KICAgICB2b2lkIHNldFNuaWZmZWRDb250ZW50VHlw
ZShjb25zdCBTdHJpbmcmIHZhbHVlKSB7IG1fc25pZmZlZENvbnRlbnRUeXBlID0gdmFsdWU7IH0K
IAotICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlQ2Vy
dGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0g
Y2VydGlmaWNhdGU7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
KCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRl
KiBjZXJ0aWZpY2F0ZSkgeyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRl
KGNlcnRpZmljYXRlKTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VU
TFNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0U291
cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxz
RXJyb3JzID0gdGxzRXJyb3JzOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3Nh
Z2VUTFNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLnRs
c0Vycm9ycygpOyB9CisgICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9ycyhHVGxzQ2VydGlm
aWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRUTFNF
cnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNVcFRvRGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDggKzc3LDYgQEAgcHJpdmF0ZToK
IAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1fc25pZmZl
ZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRl
OwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9pZCBkb1Vw
ZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKaW5k
ZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMC4uMzFjZmI2ODFlNjZh
ZGE1YzBlNzBjNzIyMDUyYmM4NWFhMzdiMDM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3Bw
CkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0b1NvdXBN
ZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1lc3NhZ2Us
IG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSks
ICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgpLCAidGxzLWVycm9ycyIsIG1f
dGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1lc3NhZ2Up
LCAidGxzLWNlcnRpZmljYXRlIiwgbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0
ZSgpLCAidGxzLWVycm9ycyIsIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCks
IE5VTEwpOwogCiAgICAgLy8gQm9keSBkYXRhIGlzIG5vdCBpbiB0aGUgbWVzc2FnZS4KICAgICBy
ZXR1cm4gc291cE1lc3NhZ2U7CkBAIC02OCw4ICs2OCwxMCBAQCB2b2lkIFJlc291cmNlUmVzcG9u
c2U6OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UpCiAgICAg
bV9zb3VwRmxhZ3MgPSBzb3VwX21lc3NhZ2VfZ2V0X2ZsYWdzKHNvdXBNZXNzYWdlKTsKIAogICAg
IEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUgPSAwOwotICAgIHNvdXBfbWVzc2FnZV9nZXRf
aHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlmaWNhdGUsICZtX3Rsc0Vycm9ycyk7Ci0g
ICAgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
IHRsc0Vycm9yczsKKyAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2Fn
ZSwgJmNlcnRpZmljYXRlLCAmdGxzRXJyb3JzKTsKKyAgICBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOworICAgIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOwogCiAgICAgdXBkYXRlRnJvbVNvdXBNZXNz
YWdlSGVhZGVycyhzb3VwTWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycyk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCAxOWZkNTk0MjU4YjI3ODMwMzA1N2FlMGU3MGQxYjZhODg3
MmJjMmNlLi5jMDBhNDAzZDUyMjJiNTA0MDM4OWVlNjcyZDc4YTUxNTlmMjlkMjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ3OSw4ICs0NzksNiBAQCB3ZWJraXQyX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvU291
cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL1RleHRDaGVja2VyU3RhdGUuaCBcCkBAIC0xMzQ3LDggKzEzNDUsNiBAQCB3ZWJraXQyX3Bs
dWdpbl9wcm9jZXNzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9X
ZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8vU2hhcmVh
YmxlQml0bWFwQ2Fpcm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5j
cHAKaW5kZXggMWJhZjViMTlhYjIwMDNlNTQ4ZDAzYmMyZTY1ODJiMjJhNDNlYjdhNy4uNDMzOWJk
NzlkY2M1ZjhiZTI1M2IzNjJmODUwM2NhZDBlNjE2MTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudC5jcHAKQEAgLTI4LDEwICsyOCwxMSBAQAogCiAjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlRXJyb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCkBAIC02Myw3ICs2NCw3IEBAIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dDo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShOZXR3CiAKIHZvaWQgQXN5
bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKE5ldHdvcmtS
ZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3Vy
Y2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Us
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWlu
UmVzb3VyY2UoKSkpOworICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2Vz
OjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5m
byhyZXNwb25zZSwgcmVzcG9uc2UucGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSwgbG9hZGVyLT5p
c0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtM
b2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2Fk
ZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAwMTI4MTc0
YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwLi5iMDBlNDE2ZGViZWRlNGM2ZjZmMmI0
NmU0MmE5YjRkZGJlYjMwMzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVuTG9vcDsKK2NsYXNzIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC00NCw3ICs0NSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVu
dGljYXRpb25NYW5hZ2VyOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBj
bGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3Mg
TmV0d29ya1Byb2Nlc3MgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFu
YWdlcjo6Q2xpZW50IHsKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93
bmxvYWRSZXF1ZXN0KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYpOwogICAgIHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7
CiAgICAgdm9pZCBzZXRDYWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYs
IGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25z
dCBTdHJpbmcmIGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVp
bnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWlu
dDMyX3QgY2FjaGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTVmY2JjN2JlOTQw
MjgwN2MxZTU1NjJhM2VlNjlmZjYwNjk4NWRkNy4uOWNiYWFhYmZjMGMzMTljN2U3NTkzYWNkYmJi
MzhkNjBkNTliZGYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2Fn
ZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBw
cmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUs
IFdURjo6U3RyaW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNz
KHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NWU4YmJhMWU0
NTM1MWRjZDEyNWYzMDdhOWQ4ZDg1MDM5ZTBkNjIwLi41NmEyODgwZTI1MTJmZjUxZmYzYzAyMDA1
MmQyMTYzZjlmMjNmZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIK
LSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJTaGFyZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdhOTU2
MmQzNWFiNTNkMmM0NDUzNWNjMDJlLi4zZWQ1ZGM4YmNjZDgyNDM0ZWM3NGNlNjY0ZjdhMDllMTJh
ZWUzN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQg
IlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgog
I2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3Ry
aW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQg
PFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1w
b3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9ydCA8bWFjaC9tYWNoLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDg4MDUwYzE5ODNhNjViZjU3YjQ5ZGM5YmM5NzdjZmZjNWRmNzUx
OWIuLjkzZGI1YWVjODYxYTQxMGUyMTA2OTQyMDgyODFhYWQ3YTk4NzM3YzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC00Miw3ICs0Miw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09V
UkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNo
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRy
b2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2Ix
MzU4ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2ZiYTM0OTI4NjYx
MzA2YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAg
ICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJv
Y2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMx
NTE5YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5lNTBlMjRhOWNiOGNiNDA4ODBjZTBh
ZjA4YWM5NjQwNzYyNzNlZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDcgKzMzLDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0
ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bikKIHsKLSAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBX
ZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZp
Y2F0ZUNoYWluKSk7CisgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJ
bmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0
ZUluZm8ucmVsZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApp
bmRleCA0YzZmODFlOTUzOTBmZjcwZDM4MTgyYmRjOWI0MjZiYTZlMDFhNTkxLi5kNmVjM2ZhMGQ3
NGM4OWNlOWU4ZGM1ZWQ5MzhkYjdlYTIxZTg4N2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5o
CkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNzIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
Q2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsKIGNsYXNzIFdlYkZyYW1lOwogCiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXIgOiBw
dWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQsIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewpAQCAtNTksNyArNTksNyBAQCBw
dWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMgd2l0aCBvciB3aXRob3V0IHRoZSBO
ZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIAot
ICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwg
Y29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Jik7CisgICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdl
KHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToK
ICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
JikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3Qg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKIAogICAgIHVp
bnQ2NF90IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
bWVzc2FnZXMuaW4KaW5kZXggYmIxY2MzMGNhNmJjNTkxYmRlZGVkNDFmMGY1MTk1ZWM3NmM5NjFk
ZC4uZTY5MTVjY2I2NWFkZjBiOWFkZTg0NDRjMWIyODgwNDIzM2ZkNDdiNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFuYWdlciB7Ci0gICAgdm9p
ZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3Jl
OjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGUpOworICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdp
dGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2
b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFj
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRk
MmI3ZmUzNDFlNzY5YzI3NjAxMy4uMTk0NGQzN2ZjYjEwM2NkYWVjMmI1MmI2MGMwOTdhNzJjYmM5
MGM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21h
Yy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgs
OSArMjgsOSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKIAotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRl
eCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi45Y2E4YzMzODliNDFm
NjAzOTJiM2ZjNGY4N2NmNTczM2NlNDZjN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtNTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNh
dGVJbmZvOiB7Ci0gICAgICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVh
dGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNl
cnRpZmljYXRlSW5mby5oCmluZGV4IDA2MTgyZmNlMmZjNmQ1OTdlOWY1ZjhjMDM5NTc3MTlhMmFh
NjJhZjUuLjJjZDc5ZDdlMzIzN2JmMDQyODllNmVhMWFhNmRkMzE3ZGU3ZThjMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBA
QAogI2RlZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0Lmgi
Ci0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1Ymxp
YyBUeXBlZEFQSU9iamVjdDxBUElPYmplY3Q6OlR5cGVDZXJ0aWZpY2F0ZUluZm8+IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25z
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2Vy
dGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkNlcnRp
ZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBs
aWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhpbmZvKQog
ICAgIHsKICAgICB9CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYzk4
N2QyOGZjNmY2ZTU1ZTk2Y2FjN2UwZTA4MDViMDkwNjJiN2E4ZS4uZmExMmRmOTYxMTZiODg4NzBj
ZTZlYzc4NjYyYWVhODYwYjlkMGU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTM5LDEzICszOSwxNCBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1VzZXJTdHlsZVNoZWV0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oPgpAQCAtNTQ3LDYgKzU0OCwyMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VS
ZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlUgogICAg
IHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxh
dGZvcm1EYXRhKGVuY29kZXIsIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKK30KKworYm9vbCBB
cmd1bWVudENvZGVyPFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKQoreworICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsK
KworICAgIGlmICghZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlSW5mbykp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvID0g
Y2VydGlmaWNhdGVJbmZvOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRD
b2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29u
c3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKICAgICBpZiAoa1Nob3VsZFNlcmlh
bGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKaW5kZXggYTk2NWRlODU1MjI3YjFmMTQzMjNkZjgxNzdmMmI5OTk1OTk5M2Q4
MC4uODAyNzg2MzcyZDNiYjdjMjBkNjYxMDExOTVhZTA5NWE3Y2MyYTM5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDUsNiArNDUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAg
Y2xhc3MgVVJMOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsKKyAgICBjbGFzcyBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgUmVz
b3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBAIC0xNzAsNiArMTcxLDEz
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29k
ZXImLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZv
aWQgZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7
Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNl
RXJyb3I+IHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgc3RhdGljIGNvbnN0IGJvb2wga1Nob3Vs
ZFNlcmlhbGl6ZVdlYkNvcmVEYXRhID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDllYTFhMmYzMzE3OWYyZDE1NDBkNDkxYWQwNjgzYjk1MjQwY2NjZDYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9f
aAotI2RlZmluZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLW5hbWVz
cGFjZSBDb3JlSVBDIHsKLSAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQXJn
dW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENG
QXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7Ci0KLSAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRl
Q2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KLQotICAg
IHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRp
YyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYpOwotCi0jaWZuZGVmIE5ERUJVRwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2Vu
ZGlmCi0KLXByaXZhdGU6Ci0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVD
aGFpbjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0
YTczNTQ1YzViZDE2OGY2YWE5MjZkOTc0NjMxOGU0YTZjYThlMDIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgiCi0KLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFy
Z3VtZW50RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKHJlc3BvbnNlLmNlcnRpZmlj
YXRlQ2hhaW4oKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlm
aWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZUNoYWluKSB7Ci0gICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0g
ICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7Ci19
Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjKQotewotICAgIGJv
b2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRp
ZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFDb3JlSVBDOjpk
ZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMg
PSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWlu
LmdldCgpKSA6IDA7Ci0KLSAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsK
LSAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwotICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5n
UmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgo
U2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hh
aW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1h
cnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW0KaW5kZXggYzEyNjAwMDNlYTE0ZjU2NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NS4uYzBk
YzQ2ZTI2NGQwNDk4MjEwYzI2NGNhZWY2MGIwMjc1NjY2ODg1OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDE0
ICsyOCwxNCBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbXBvcnQg
IkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvS2V5
Ym9hcmRFdmVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFt
ZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzIsNiArMTMzLDM3IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKwordm9pZCBBcmd1bWVudENvZGVyPFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKQoreworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbiA9IHBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hh
aW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2Vy
dGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBi
b29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0
aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0
aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29k
ZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBwbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBb
TlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlD
aGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2OTA0YjRhZTZlNWI1
MzJiMDM5ZGQ1Y2ZkYTZlN2VlYmE2NzE0ZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbmNsdWRlICJB
cmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8bGlic291cC9z
b3VwLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAg
ICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsK
LX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNw
b25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25z
ZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VF
cnJvcikKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzb3VyY2VFcnJvci5jZXJ0aWZpY2F0ZSgpKQot
ICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHJlc291
cmNlRXJyb3IudGxzRXJyb3JzKCkpKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
LXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0
YSA9IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAi
Y2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKLSAgICBpZiAoIWNlcnRpZmlj
YXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNh
dGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0
PHVpbnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0
ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5j
ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlm
aWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVB
cnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJy
YXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEo
KSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFy
cmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rs
c0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2Vy
dGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUo
Z19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5k
KSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0
ZS5nZXQoKSwgTlVMTCkpKTsKLQotICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0
aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFn
cz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzIzMWYzNmRiMzJm
OGQ4YjQwMjY3YjZkYjQ1YzE0N2Y2MWMwNTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29w
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
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19o
Ci0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPGxpYnNvdXAv
c291cC5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KLQotbmFtZXNwYWNlIENv
cmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwot
fQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVz
b3VyY2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygp
OwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1
cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vy
cm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQot
cHJpdmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAg
ICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3Vw
LmNwcAppbmRleCBkYzRlMTE5MTc1N2VjZTE3NWFkNDg1YTdhYTcyMjUyZmFmYWU4ODQ2Li4yOGQy
MGQ5NzQ2ZmFjNDdiNzFlMjAxZDJhYzMyNzQ3MDcxYzAwMDA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApA
QCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2IEBACiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjgsOSAr
NjksNjAgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0
Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29k
ZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0
aWZpY2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2Jq
ZWN0X2dldChHX09CSkVDVChwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwg
ImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZp
Y2F0ZURhdGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNl
cnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNv
ZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmlj
YXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4ocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCiti
b29sIEFyZ3VtZW50Q29kZXI8UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVE
YXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR0J5dGVBcnJheSog
Y2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFS
ZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBw
ZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2Vy
dGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBj
ZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxz
QmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVm
UHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElG
SUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShi
YWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5n
ZXQoKSwgMCkpKTsKKyAgICBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShj
ZXJ0aWZpY2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsK
LSAgICBlbmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOwor
ICAgIGVuY29kZXIgPDwgcmVzb3VyY2VFcnJvci5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwog
fQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3Ip
CkBAIC03OSw4ICsxMzEsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICByZXNvdXJjZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0
ZSgpKTsKLSAgICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxz
RXJyb3JzKCkpOworICAgIHJlc291cmNlRXJyb3Iuc2V0UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA0NDYyOWVj
ZmZkYTYyNTM2ZDg4YWYxY2Y1ODMxNjE5NTY3YWQ5NTE1Li5iNTlmNGI1MGM4YmQxOTMwYjE2ZDg4
MTE0ZGVkZmI3NjMyZDk1ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1l
bnVJdGVtRGF0YS5oIgpAQCAtNjIsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0lj
b24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0d0a1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8Z2xpYi9n
aTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CkBAIC0yOTg3LDcg
KzI5ODcsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAg
ICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5w
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAg
KmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVy
cm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRl
eCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5hOTgzODJhZWQzMjg0
NWQwN2QxNjM3NTZkMmI1YTYxODljZTIzMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFs
KQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlE
KSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNh
dGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmlj
YXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKCk7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3Jt
SW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSA6IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAg
IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwg
cGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVh
ZDJmMy4uNjI1MmJlNjA1ODVhNjM0NTU5NzA3ZjdjYmY2OGI0MmMwMDA3MTc4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBA
IHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJl
YWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJv
eHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6
ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIEFTU0VSVCht
X2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9sb2FkU3RhdGUgPSBM
b2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aAppbmRleCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3NDhhMjY5NmI2YWQ1Li45YjNlNmMx
OTc0ZjUwMDhjMTE0NWJlZjdkZDE1OWFhODdkNzE4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwxNCBAQCBuYW1lc3BhY2UgQ29yZUlQ
QyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBJbW11dGFibGVBcnJheTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBj
bGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVy
UHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEw
LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3Ry
aW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9u
YWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExv
YWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQo
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxM
b2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYp
OyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDkwOGVlMzkyNzY0MzFlZjI0MDk3
MzJlZTYzMTVkZGNjZTRhMjM1M2MuLjg3NDY1NThjNWI0OWJhOTBkNmYzZDQ1NzQzNjE1ZGY2Nzg4
NGE1NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTk4LDYg
Kzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVjdDsKICAgICBj
bGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNsYXNzIEludFNpemU7CisgICAgY2xhc3MgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKICAgICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3
ICsxMjYsNiBAQCBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2Vi
TW91c2VFdmVudDsKIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50
OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9y
OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRl
bTsKQEAgLTc5MCw3ICs3OTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAg
ICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZv
aWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRp
ZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhOTg1MzhiZTEyNDM5Y2U3MjJjZTQ5
YzNkNzU1ODQyNmM0NjdiN2NkLi4wMmE4MmZlMTdlZjM3YTdmNTRjZDAyNWMyOTM5ZTdiMDUxOTM4
YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KQEAgLTExMSw3ICsxMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewog
ICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxv
YWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21taXRMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxv
YWRUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8s
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlh
ZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6
OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAg
IERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YzIyMjg3MDZjYmZkM2ZiMDRlNDMzY2NkNGY0ZDE3YWQ3MDAwMWJmMC4uOWMyOTY4NTY2ODQzNjY0
YzAwZjI5Mzc3ZmUzMjQzMDY2YTJjZWJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAzMiw4ICsxMDMyLDYgQEAKIAkJQkNG
MTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8q
IENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0
d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NT
dXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250
ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50Lmgg
Ki87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IH07
Ci0JCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2
MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJ
QkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAw
NTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZG
MDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJI
aXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9
OwpAQCAtMjQ2Miw4ICsyNDYwLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENh
Y2hlTW9kZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVN
b2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUw
MEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3Jr
L05ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYx
MDA1OTU1QUUgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0
eS5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5m
cmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5
QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDE0OSw4ICs0MTQ1LDYgQEAKIAkJCQlD
NTc0QTU4MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUx
OTU4MkQyMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgy
RDQxNTNDQzA1MzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNG
NTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovLAog
CQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJ
MUFGMUFDNkExNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgg
Ki8sCiAJCQkJMUFGMUFDNjkxNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLm1tICovLApAQCAtNTEwOSw3ICs1MTAzLDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2Njgx
MDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJE
MzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURD
MDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Qzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUE2RkI3RDMxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oIGlu
IEhlYWRlcnMgKi8sCkBAIC02MjY5LDcgKzYyNjIsNiBAQAogCQkJCTJEMkFERjEwMTYzNjREODIw
MDE5N0U0NyAvKiBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmllbGQubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAxOTdFNDcgLyogUERGUGx1Z2lu
VGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
Q0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTVhYjVh
ZDQ5MGRkMTYxNjZlZTFlM2NhMWEzNDNjNGE2ZTRkZmRiZC4uOTIxMDA5OTY3NzI4YzNkN2YyNWI5
NmIxOTczYmQyYWU4YzJhNThjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMiwxMSArMzIsMTEgQEAK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZm
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlTG9hZGVyLmg+CkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3AKICAgICBSZWY8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3QoKnRoaXMpOwogCiAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwotICAgIHJlc3BvbnNl
Q29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWlu
KCkpOworICAgIHJlc3BvbnNlQ29weS5zZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZp
Y2F0ZUluZm8pOwogICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNl
Q29weSk7CiAKICAgICAvLyBJZiBtX2NvcmVMb2FkZXIgYmVjb21lcyBudWxsIGFzIGEgcmVzdWx0
IG9mIHRoZSBkaWRSZWNlaXZlUmVzcG9uc2UgY2FsbGJhY2ssIHdlIGNhbid0IHVzZSB0aGUgc2Vu
ZCBmdW5jdGlvbigpLiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggOWM5ODZmMmU0N2U1MjMxODhlYTQ1ZDBiMTM0
OWM3ZjQ4MGRlZDU3Mi4uNDUxMDBhNzllZDVmOTYyMWM2YTg0YTk2NDI5NjNjZGYxODIzYjViYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNl
RXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHR5cGVkZWYg
dWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xhc3MgV2ViUmVzb3VyY2VMb2Fk
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4sIHB1YmxpYyBDb3JlSVBD
OjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
d2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHZvaWQgZGlk
U2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQp
OwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwg
Ym9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBk
aWRSZWNlaXZlRGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNv
ZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZp
bmlzaFRpbWUpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggNjc3NTRk
ZWNmZDMzMmI3OTBkOWUwZDk4MmZjMzFkNjhhYjA5ODY0YS4uZWNjNzRhMDU2MTNlNzdmZjdkZjdl
NjcxNjRiMjE0NGY1YmViOWNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAt
MjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUg
Z3JhbnVsYXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZWRpcmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwg
dWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250
aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0
aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAg
IERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVz
b3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IDNjZTNlMDc5OGRiMDlkNmMwYWJhYTlkOGRlOWM4MTlmZGI4
ZDNhZmQuLjMzNzhkM2QzMThhYjE3OWZkOTg3YWIzMDc4MTM5NTBjNzlhMmQxZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlQ29kZXJzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNs
dWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIK
ICNpbmNsdWRlICJXZWJDb250ZXh0TWVzc2FnZXMuaCIKQEAgLTY3LDYgKzY2LDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1By
b2dyZXNzVHJhY2tlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJv
Y2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29t
bWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwg
bV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNl
ckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1l
VHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgcmVzcG9u
c2UucGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CiAKICAgICB3ZWJQYWdlLT5kaWRDb21taXRMb2FkKG1f
ZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213867</attachid>
            <date>2013-10-10 04:06:10 -0700</date>
            <delta_ts>2013-10-10 04:08:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010130608.patch</filename>
            <type>text/plain</type>
            <size>92441</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzNDQ0MjY3YmZmYzRk
YzY0YjI5ZDUxNzU1NDRhOWFlNTIyZDRlYi4uMTFmODY2ZGZhOTczY2M5MTcwNGFiNDM1N2U0M2M3
MzE4NTdlOTYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8
c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEltcGxlbWVu
dCBzdXBwb3J0IGZvciBncmlkLXRlbXBsYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjQwZTBhNzhjMzRlOGNk
MmI3NThjNGFiZWMyYzdlMDAwZjYyOTc3ZC4uMTFiYjFhOGRlMjEzNDVhZTUxZDcyYzNlMDY2Mzk3
NGYxMzJhZDBhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKyAgICAgICAgLSByZW1vdmUgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAtIGFk
ZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1ZGVk
IGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xhcmF0
aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAg
KiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAo
V0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBT
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAg
IChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICogU2hh
cmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6cGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUlu
Zm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmVuY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgorICAg
ICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6
OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZv
cm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyk6CisgICAgICAg
ICogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENv
bW1pdExvYWQpOgorCiAyMDEzLTEwLTA5ICBTZXJnaW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgU2V0IHZpZXcgdG8gYWN0aXZlIGluIFZpZXdDbGll
bnRFZmwgYWZ0ZXIgV2ViUHJvY2VzcyBoYXMgcmVsYXVuY2hlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggMzM4NDM2MGMwYWE5MGU1NzdkZDI1NzM4MWI0N2M0ZWM5YmQwNzM3MC4u
NjY5YjllZjJjYzNmMGZmODQ3ZGNiZWIxOGI5NDRiODFmZmQwNmFlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC01NDE3LDYgKzU0MTcsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNl
SGFuZGxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iU3RvcmFn
ZURhdGEuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUlu
Zm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Db29raWVTdG9yYWdlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBcCkBA
IC01NDUxLDYgKzU0NTIsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVm
bC5jbWFrZQppbmRleCBjOThiN2EzYjI0OWQzN2NiY2ZjYzAzMzIyYzk1OGRjY2M5OGZlYmQzLi5l
Y2FhNzc4NTdhMjI2Y2UwYTkxNTFkZDAwNTIzOTNiOTkyODMwMDNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMTQ4LDYgKzE0OCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL25ldHdvcmsvZWZsL05ldHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcAog
CiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5j
cHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9z
b3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNDc4
M2JlZTM3MzM3MGRjY2IyMjFkZGY5YzQzNDRiMjBmM2IxYTI5NC4uOTg1YjU5NTNiMzk1NTRhYzAy
ODJmZWVmYmZmNDFjYzAyZmE3NTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2Miw2ICs3
NjIsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0aGVu
dGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFs
RWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2Vi
Q29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb25F
dgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2ViQ29y
ZTE1Q2VydGlmaWNhdGVJbmZvMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9fQ0ZBcnJheQorX19a
TjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9EMUV2Citf
X1pOSzdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdX
ZWJDb3JlMjNTeW5jaHJvbm91c0xvYWRlckNsaWVudDI0cGxhdGZvcm1CYWRSZXNwb25zZUVycm9y
RXYKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwKIF9fWk43
V2ViQ29yZTIzZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNSYW5nZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMzgz
MjRhNWJkNjE2Y2VjYjY5MWQyODQ4NjQ1ZWRkMjhkOTc2MWFjNi4uMWZjYmFkNGFiMWU0ZGVlZmY1
ODNmOWVhZjUwZGJkZTE2ZmMyMDUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03OTczLDYgKzc5NzMsMTIgQEAKICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3
b3JrXGNmXENlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xj
ZlxDb29raWVKYXJDRk5ldC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTkwNTgsNiArMTkwNjQsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVnaXN0cnlJbXBs
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXEJsb2JS
ZXNvdXJjZUhhbmRsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xCbG9iU3RvcmFnZURhdGEuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xDcmVkZW50aWFsU3RvcmFn
ZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGFhYjJkOTY0MWEyNTRlNmU3NTYzZGYwNDdjMjRhMmZh
M2M0Y2ZlZDUuLmY4NGFkOTI2OTc5MGYwZTdhOGI4YTg0MjViYTJhNzhlMjIyOTEzMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKQEAgLTg1NDEsNiArODU0MSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxuZXR3b3JrXEJsb2JTdG9yYWdlRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+cGxh
dGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xDZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8
RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ29va2llU3RvcmFnZS5oIj4K
ICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDVmMzExMzE4ZTNkZGFhYjkwZTQ4Y2Q3MDZhMTg0ZTQyZTBkNGQ2NjYuLjQzYmQ2N2U4
Nzk1ZWZiYjJkNTQ3MzY3MjJlZGYyY2U2NWFjNDQ0ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NjcsNyArMTg2NywxMCBA
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
OyB9OyB9OwpAQCAtODQ0Miw3ICs4NDQ1LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3
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
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzIyNiw2ICsxMzIzMiw3IEBACiAJCQlpc2EgPSBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFj
Y2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1
OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzNTYxLDYgKzEzNTY4LDcgQEAKIAkJMDg2N0Q2OTFG
RTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZy
YW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8s
CiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJ
CQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAg
LTE1MDM2LDYgKzE1MDQ0LDcgQEAKIAkJCQkyRUI0QkNEMDEyMUYwM0UzMDBFQzQ4ODUgLyogQmxv
YlJlc291cmNlSGFuZGxlLmNwcCAqLywKIAkJCQkyRUI0QkNEMTEyMUYwM0UzMDBFQzQ4ODUgLyog
QmxvYlJlc291cmNlSGFuZGxlLmggKi8sCiAJCQkJMkVERUYxRjIxMjFCMEVGQzAwNzI2REIyIC8q
IEJsb2JTdG9yYWdlRGF0YS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQlFMTNGMDFFQTEyNzBFMTBEMDBERkJBNzEgLyogQ29v
a2llU3RvcmFnZS5oICovLAogCQkJCTUxNEM3NjU4MENFOTIzQTEwMDdFRjNDRCAvKiBDcmVkZW50
aWFsLmNwcCAqLywKIAkJCQk1MTRDNzY1OTBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5o
ICovLApAQCAtMTUwOTYsNiArMTUxMDUsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTE0Qzc2
NDIwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLmggKi8sCiAJCQkJNTE0Qzc2
NDMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLm1tICovLAorCQkJCTVGMkRC
QkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJRTE0
MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJCQlFMTNGMDFG
MDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJCQlFMUI0Q0Qy
NDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8sCkBAIC0yMzU1
MCw2ICsyMzU2MCw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3Jt
Q0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIg
LyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1
MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1
RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1UcmFjay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBsYXRmb3JtQ29v
a2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBCQzQ3NzUgLyog
UGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzY4OCw2ICsyNzY5OSw3IEBACiAJ
CQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1Bv
bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENl
cnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2RDkw
MEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMxNzY2
ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRF
OUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi4wZjQ1OTM0
MWY1ZjRhNDI3YjJkZWZkNzUxZmE2ODc1YWIzMzQ1OTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJh
c2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0
ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lz
VGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBDZXJ0aWZpY2F0ZUluZm8o
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKSB7IG1fY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1f
aXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdl
YjMuLjE5MTVlMTliODI4OWZjN2FmZGY1MTM5NzY3OTQ1NGIxYmRiNDM1NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKICNk
ZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEz
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgQ2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIENlcnRpZmljYXRlSW5mbykg
eyBtX0NlcnRpZmljYXRlSW5mbyA9IENlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJl
c291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3Zp
ZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWdu
ZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25S
ZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2Fk
VGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIAogICAgIGJv
b2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAppbmRleCAxM2E1ODExODBlYTY4OGRkZTM3
NmUzNWYwN2UyZWUzMTYzOGFkMzVlLi41YTM2YTBlOTQ2MjFmMWQ0YzY5ZTIzY2QyZGJkNDc1ZWEw
NzIxYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVzcG9uc2UuaApAQCAtMTE3LDEwICsxMTcsNiBAQCBwcml2YXRlOgogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVz
cG9uc2U7CiAjZW5kaWYKLSNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCi0gICAg
Ly8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNl
LCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNw
b25zZSBhZnRlciBJUEMuCi0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fZXh0ZXJuYWxDZXJ0
aWZpY2F0ZUNoYWluOwotI2VuZGlmCiAgICAgSW5pdExldmVsIG1faW5pdExldmVsOwogICAgIGJv
b2wgbV9wbGF0Zm9ybVJlc3BvbnNlSXNVcFRvRGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQpp
bmRleCA1NDI1ZTFmZDRhNTlhMDJkMTYyMWU4M2YxODE4OTQ2YmJmOGQzNGE3Li4xOGNhMzA4MTcx
N2E3Mjg0MDU1NzUyZDVjM2JiZTg5YTY0YzAwNGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAg
LTE4MSwxMyArMTgxLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJl
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNl
UmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewogICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNV
UkxSZXNwb25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZp
Y2F0ZUNoYWluOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2Vy
dGlmaWNhdGVDaGFpbik7CiB9CiAKIFJldGFpblB0cjxDRkFycmF5UmVmPiBSZXNvdXJjZVJlc3Bv
bnNlOjpjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QKIHsKLSAgICBpZiAobV9leHRlcm5hbENlcnRp
ZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsK
KyAgICBpZiAobV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKQorICAgICAgICBy
ZXR1cm4gYWRvcHRDRihtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAg
ICAgcmV0dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNV
UkxSZXNwb25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAppbmRleCAxYTcwNWYxNWVkN2YzOGY4ZDNhZmVkNzAx
MWEzMGMwNGJjYzc4ZjE4Li5hMTBjNmNiODdhM2VjMmY2ZDQyY2Q1YzNmZDI3MTQxNGM4OWE0ZTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yLmgKQEAgLTQwLDEyICs0MCwxMCBAQCBjbGFzcyBSZXNvdXJjZUVycm9yIDogcHVi
bGljIFJlc291cmNlRXJyb3JCYXNlCiBwdWJsaWM6CiAgICAgUmVzb3VyY2VFcnJvcihjb25zdCBT
dHJpbmcmIGRvbWFpbiwgaW50IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMLCBj
b25zdCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0aW9uKQogICAgICAgICA6IFJlc291cmNlRXJy
b3JCYXNlKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWlsaW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKLSAgICAgICAgLCBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJj
ZUVycm9yKCkKLSAgICAgICAgOiBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKQEAgLTU2
LDE3ICs1NCwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgdGltZW91dEVy
cm9yKGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCk7CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3Ig
YXV0aGVudGljYXRpb25FcnJvcihTb3VwTWVzc2FnZSopOwogCi0gICAgdW5zaWduZWQgdGxzRXJy
b3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9y
cyh1bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KLSAgICBH
VGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0
aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKyAgICB1bnNpZ25lZCB0
bHNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsg
fQorICAgIHZvaWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX2NlcnRpZmlj
YXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRs
c0Vycm9ycykpOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldENl
cnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBw
bGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRm
b3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBi
KTsKLQotICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmlj
YXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4
NjU3YjUwNTA5MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMWI4OWNlMmMxY2E5MWRhNzQz
MDk1ZTJjNjUxMDFiMmExNjM2MmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtOTgsOCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRF
cnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxh
dGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNv
cHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJy
b3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldENlcnRpZmljYXRlSW5mbyhtX2Nl
cnRpZmljYXRlSW5mbyk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db21wYXJl
KGNvbnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9u
c2UuaAppbmRleCA0ODkxZjkzNWZjYmM3Zjc3MjNhNjYxNTdlZTJlZDkzM2NmNTNlMGY3Li4zOWUx
ZDM3ZmVlM2UzNDZkMWY4ODRmODdjOGEzZTAzYWU2ZmYzMTBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKQEAg
LTM4LDIxICszOCwxOCBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAg
IDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19j
YXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19j
YXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3Vy
Y2VSZXNwb25zZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBs
b25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0
IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBt
aW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQogICAg
ICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAg
ICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkK
ICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291cE1l
c3NhZ2UpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1fc291
cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAg
ICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcsMTEg
KzY0LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRTbmlm
ZmVkQ29udGVudFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50VHlw
ZSA9IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRT
b3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9j
ZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVz
c2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNl
cnRpZmljYXRlKTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VUTFNF
cnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0U291cE1l
c3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VU
TFNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsg
fQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
dGxzRXJyb3JzKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9
CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIApAQCAtODAsOCArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VG
bGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAg
R1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25z
ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2
NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi45OGQxOGNmMjI1Yjc4ZjZkMDA3YTMyYTA4MTVmZTlm
N2Q0ODJmNzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAg
U291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAg
ICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0g
ICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIs
IG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOwor
ICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUi
LCBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpLCAidGxzLWVycm9ycyIsIG1fY2VydGlm
aWNhdGVJbmZvLnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBpcyBub3Qg
aW4gdGhlIG1lc3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCArNjgsMTAg
QEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3Nh
Z2UqIHNvdXBNZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9mbGFn
cyhzb3VwTWVzc2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlID0gMDsK
LSAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNlcnRpZmlj
YXRlLCAmbV90bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsKKyAg
ICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdlX2dldF9o
dHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7CisgICAg
bV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9jZXJ0aWZp
Y2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOwogCiAgICAgdXBkYXRlRnJvbVNv
dXBNZXNzYWdlSGVhZGVycyhzb3VwTWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycyk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAxOWZkNTk0MjU4YjI3ODMwMzA1N2FlMGU3MGQx
YjZhODg3MmJjMmNlLi5jMDBhNDAzZDUyMjJiNTA0MDM4OWVlNjcyZDc4YTUxNTlmMjlkMjBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ3OSw4ICs0NzksNiBAQCB3ZWJraXQy
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvU291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1RleHRDaGVja2VyU3RhdGUuaCBcCkBAIC0xMzQ3LDggKzEzNDUsNiBAQCB3ZWJr
aXQyX3BsdWdpbl9wcm9jZXNzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9n
dGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8v
U2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudC5jcHAKaW5kZXggMWJhZjViMTlhYjIwMDNlNTQ4ZDAzYmMyZTY1ODJiMjJhNDNlYjdhNy4u
NDk2ZDA3NWVkZTEyOGZiZmQ5OWI0MTYwOTE4N2FhNjQwZjEzMmQ4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0
d29ya0xvYWRlckNsaWVudC5jcHAKQEAgLTI4LDEwICsyOCwxMSBAQAogCiAjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
IApAQCAtNjMsNyArNjQsNyBAQCB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6
OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoTmV0dwogCiB2b2lkIEFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZShOZXR3b3JrUmVz
b3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7
Ci0gICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNl
TG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIGxvYWRlci0+aXNMb2FkaW5nTWFpblJl
c291cmNlKCkpKTsKKyAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6
V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8o
cmVzcG9uc2UsIHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGluZ01h
aW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hhcmVk
QnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAxMjgxNzRhMzY4MTFjMWRj
ZDI3MmJmMDNjZWMxMDQwNWVkZDExMDAuLmQ2ZjBlMGRkMGFmYmM3ZmZiMmU2MDE4N2NhYzRlMDZl
ODFmYTg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvOworY2xhc3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCw3ICs0
NSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwog
Y2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0cnVjdCBOZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3MgOiBw
dWJsaWMgQ2hpbGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsKQEAg
LTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVpbnQ2
NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZv
aWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRDYWNo
ZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9z
dCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lk
IGdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2
b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lm1lc3NhZ2VzLmluCmluZGV4IGE1ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5ODVk
ZDcuLjMyYmNlMDViOGNiNTBlMGU2MjA3YTlhOGFjMGRjMTcwMjRjNDQ1NmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2Fj
eVJlY2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykK
ICNlbmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktp
dDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3Qp
CisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDg1ZThiYmExZTQ1MzUxZGNkMTI1ZjMwN2E5ZDhkODUwMzllMGQ2MjAuLjU2
YTI4ODBlMjUxMmZmNTFmZjNjMDIwMDUyZDIxNjNmOWYyM2ZmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApA
QCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFy
ZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmlu
ZGV4IGUxOTdmZjM5NmY3MGE3N2E5NTYyZDM1YWI1M2QyYzQ0NTM1Y2MwMmUuLmY2NGQyZmU0NzQy
ZWY0MzYyM2Q1MGU5NDY4MTMwNjRiMWQzZTc0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICsz
MCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgog
I2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0
ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUv
RmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1w
b3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50
ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9ydCA8bWFjaC9tYWNo
Lmg+CkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRD
YWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICBbbnN1cmxDYWNoZSBzZXREaXNr
Q2FwYWNpdHk6c3RkOjptYXg8dW5zaWduZWQgbG9uZz4odXJsQ2FjaGVEaXNrQ2FwYWNpdHksIFtu
c3VybENhY2hlIGRpc2tDYXBhY2l0eV0pXTsgLy8gRG9uJ3Qgc2hyaW5rIGEgYmlnIGRpc2sgY2Fj
aGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nl
c3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lk
IE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkK
IHsKICAgICBbTlNVUkxSZXF1ZXN0IHNldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZToo
TlNBcnJheSAqKWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkgZm9ySG9zdDooTlNT
dHJpbmcgKilob3N0XTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggODgwNTBjMTk4
M2E2NWJmNTdiNDlkYzliYzk3N2NmZmM1ZGY3NTE5Yi4uOTNkYjVhZWM4NjFhNDEwZTIxMDY5NDIw
ODI4MWFhZDdhOTg3MzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQyLDcgKzQy
LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2Nv
bXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UKaW5kZXggYzBiZDBmYTQ0ZjE0OTk3YjEzNTg4NzE0N2Q0ZjQ5MWRlNzUwOTEzNS4uNDFl
NTk3MWY3ZWYwMThlMGM5NjkzZmJhMzQ5Mjg2NjEzMDZhNGFiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xp
bnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1l
bnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1YzJl
M2JmYWIuLmQzMTUyNDNmMWM4MTA0M2QwYmY2OWQxM2UyMGVmNzc1MzYyMWUzMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5m
b01hYy5tbQpAQCAtMzMsMTEgKzMzLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdL
Q2VydGlmaWNhdGVJbmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVD
aGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRp
ZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUo
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxX
ZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6
Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAg
cmV0dXJuIHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIAog
Q0ZBcnJheVJlZiBXS0NlcnRpZmljYXRlSW5mb0dldENlcnRpZmljYXRlQ2hhaW4oV0tDZXJ0aWZp
Y2F0ZUluZm9SZWYgY2VydGlmaWNhdGVJbmZvUmVmKQogewotICAgIHJldHVybiB0b0ltcGwoY2Vy
dGlmaWNhdGVJbmZvUmVmKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNo
YWluKCk7CisgICAgcmV0dXJuIHRvSW1wbChjZXJ0aWZpY2F0ZUluZm9SZWYpLT5DZXJ0aWZpY2F0
ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3Bw
CmluZGV4IDdmN2RjYTJkZDJlNDI4MjVmYTU4MTdiMWQyY2YwZmNlOTFiM2ZiNzguLmUyZjQ1MzIy
OWNiN2RiZGZkMzNjM2Q2YzZiNjJiYTAyNmZiNzE2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIuY3BwCkBAIC05OCwyMCArOTgsMjAgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCogZG93bmxvYWQKIAogLy8g
Q3VycmVudGx5LCBvbmx5IE1hYyBrbm93cyBob3cgdG8gcmVzcG9uZCB0byBhdXRoZW50aWNhdGlv
biBjaGFsbGVuZ2VzIHdpdGggY2VydGlmaWNhdGUgaW5mby4KICNpZiAhVVNFKFNFQ1VSSVRZX0ZS
QU1FV09SSykKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKK2Jvb2wgQXV0aGVudGljYXRp
b25NYW5hZ2VyOjp0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29y
ZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKQogewog
ICAgIHJldHVybiBmYWxzZTsKIH0KICNlbmRpZgogCi12b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3Qg
Q3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3ZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFs
Rm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50aWFsJiBjcmVk
ZW50aWFsLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hh
bGxlbmdlID0gbV9jaGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdlSUQpOwogICAgIEFTU0VSVCghY2hh
bGxlbmdlLmlzTnVsbCgpKTsKICAgICAKLSAgICBpZiAodHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm9Gb3JDaGFsbGVuZ2UoY2hhbGxlbmdlLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgIGlmICh0
cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY2hhbGxlbmdlLCBjZXJ0aWZpY2F0ZUlu
Zm8pKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgQXV0aGVudGljYXRpb25DbGllbnQqIGNv
cmVDbGllbnQgPSBjaGFsbGVuZ2UuYXV0aGVudGljYXRpb25DbGllbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuaAppbmRleCA0YzZmODFlOTUzOTBmZjcwZDM4MTgyYmRjOWI0MjZiYTZlMDFhNTkx
Li5kZmUxZTYxYmJkNGYzZGZiY2Y5ZDEzMDBiYTU4Mjk3NjUwNDc0ZDY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDcmVkZW50aWFsOwor
ICAgIGNsYXNzIENlcnRpZmljYXRlSW5mbzsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2Vy
IDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgTmV0d29ya1Byb2Nlc3NTdXBw
bGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKQEAgLTU5LDcgKzU5LDcg
QEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0
aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7
CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdl
SUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxs
ZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAg
IC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBP
VkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFs
bGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVu
dGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJi
MWNjMzBjYTZiYzU5MWJkZWRlZDQxZjBmNTE5NWVjNzZjOTYxZGQuLjM0ZGI5YjIwOGJmMWZkMTcz
ZDgxYTQ2Yzc2ZjhmODY0NmRmM2Q1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdl
cyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50
aWFsLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2
b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNv
cmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5t
bQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3NjljMjc2MDEzLi44YjZkNzEz
NDk3OGIwNTUxYTBkNDEwMmNjZGU2NjJmNzQwMDM2ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50
aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCwxNSArMjgsMTUgQEAKIAogI2lmIFVTRShTRUNV
UklUWV9GUkFNRVdPUkspCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
Ym9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Rm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UsIGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCitib29sIEF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UsIGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIENGQXJyYXlSZWYgY2hhaW4gPSBjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOwogICAgIGlmICghY2hhaW4pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEwNTVlOTRjNjg1ODBmYmFj
ZDQ0ZGUzNmIwZjdkMDRlOGIuLmQ5YjE0MDlkODZmODEyOTI5ZTkxNWU1MGRhOGRmMDAwMmZhNGUy
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC0yMTUs
NyArMjE1LDcgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpU
eXBlQ2VydGlmaWNhdGVJbmZvOiB7CiAgICAgICAgICAgICBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNl
cnRpZmljYXRlSW5mbyA9IHN0YXRpY19jYXN0PFdlYkNlcnRpZmljYXRlSW5mbyo+KG1fcm9vdCk7
Ci0gICAgICAgICAgICBlbmNvZGVyIDw8IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKTsKKyAgICAgICAgICAgIGVuY29kZXIgPDwgY2VydGlmaWNhdGVJbmZvLT5jZXJ0
aWZpY2F0ZUluZm8oKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlRXJyb3I6IHsKQEAgLTUwNCwxMCArNTA0LDEwIEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2Jq
ZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAgICAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKLSAgICAgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pKQorICAgICAgICAgICAgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CisgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJD
ZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShjZXJ0aWZpY2F0ZUluZm8pOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVFcnJvcjogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCmluZGV4IDA2MTgyZmNlMmZj
NmQ1OTdlOWY1ZjhjMDM5NTc3MTlhMmFhNjJhZjUuLmM4ZmJhY2NkNGJmNTllNDZhNzc1NzYxOGUx
NTFkNTQ2NWM3NjM5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAog
CiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZp
Y2F0ZUluZm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNh
dGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJu
IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJ
bmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQotICAgICAgICA6IG1fcGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8oaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgICAgICA6IG1fY2VydGlmaWNhdGVJ
bmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1f
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIG1f
Y2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM5ODdkMjhm
YzZmNmU1NWU5NmNhYzdlMGUwODA1YjA5MDYyYjdhOGUuLmJhNTdkMWRhOGRjNTgyMTAwMWJjYTQ2
NDNmMWQ0ZWE4YThhZWEzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQ3Vyc29yLmg+CkBAIC0zOSwxMyArNDAsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW1hZ2UuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNw
YWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1VzZXJTdHlsZVNoZWV0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFy
Z3VtZW50cy5oPgpAQCAtNTQ3LDYgKzU0OCwyMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlUgog
ICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZv
Pjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGNl
cnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CisKKyAgICBp
ZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3Vy
Y2VFcnJvcikKIHsKICAgICBpZiAoa1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggYTk2NWRl
ODU1MjI3YjFmMTQzMjNkZjgxNzdmMmI5OTk1OTk5M2Q4MC4uNzczMzYxNjI3M2I4ZWM4NGUxOGQz
MTZhNDM0YWJkZDYxYTQ4Mzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtNDUsNiArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAgY2xhc3MgVVJMOwogICAgIGNsYXNzIE5v
dGlmaWNhdGlvbjsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVj
dGlvblNwYWNlOwogICAgIGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwpAQCAtMTcwLDYgKzE3MSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYp
OwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29u
c3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2
b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgc3RhdGljIGNvbnN0IGJvb2wga1Nob3VsZFNlcmlhbGl6ZVdlYkNv
cmVEYXRhID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTFh
MmYzMzE3OWYyZDE1NDBkNDkxYWQwNjgzYjk1MjQwY2NjZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LSAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQXJndW1lbnRFbmNvZGVyOwot
fQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8g
ewotcHVibGljOgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYp
OwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlm
aWNhdGVDaGFpbik7Ci0KLSAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7
IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi0j
aWZuZGVmIE5ERUJVRwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCi0KLXByaXZhdGU6
Ci0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVDaGFpbjsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9f
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0YTczNTQ1YzViZDE2OGY2
YWE5MjZkOTc0NjMxOGU0YTZjYThlMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0K
LSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5o
IgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQot
ICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKHJlc3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkKLXsK
LX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENG
QXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0
aWZpY2F0ZUNoYWluKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICgh
bV9jZXJ0aWZpY2F0ZUNoYWluKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgQ29yZUlQQzo6ZW5j
b2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7Ci19Ci0KLWJvb2wgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNh
dGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0g
ICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2Rlciwg
Yy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmR1bXAoKSBjb25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRl
Q2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7Ci0K
LSAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAg
RW50cmllczogJWRcbiIsIGVudHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBl
bnRyaWVzOyArK2kpIHsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0g
YWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVS
ZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7
Ci0gICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAg
IH0KLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggYzEy
NjAwMDNlYTE0ZjU2NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NS4uOTAyNjYwOWZmOGZmMzYxOTM5
YzQxMzExMzAyZTNmZTRiOGM3ZTFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDE0ICsyOCwxNCBAQAogI2lt
cG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJz
Q0YuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJL
aXRTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVz
b3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAt
MTMyLDYgKzEzMywzNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVl
OwogfQogCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0
Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVD
aGFpbikgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBj
ZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5m
bz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFp
bjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hh
aW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZp
Y2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAg
ICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVu
Z3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7CkBAIC0xNjgsNyArMjAwLDcgQEAgdm9pZCBBcmd1
bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLAogCiAgICAgaWQgcGVlckNlcnRpZmljYXRlQ2hhaW4gPSBbdXNlckluZm8g
b2JqZWN0Rm9yS2V5OkAiTlNFcnJvclBlZXJDZXJ0aWZpY2F0ZUNoYWluS2V5Il07CiAgICAgQVNT
RVJUKCFwZWVyQ2VydGlmaWNhdGVDaGFpbiB8fCBbcGVlckNlcnRpZmljYXRlQ2hhaW4gaXNLaW5k
T2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKTsKLSAgICBlbmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKChDRkFycmF5UmVmKXBlZXJDZXJ0aWZpY2F0ZUNoYWluKTsKKyAgICBlbmNvZGVy
IDw8IENlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlmaWNhdGVDaGFpbik7CiB9
CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikK
QEAgLTE5NCw3ICsyMjYsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShzdHJpbmdVc2VySW5mb01hcCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOworICAgIENlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM2OTA0YjRhZTZlNWI1MzJiMDM5ZGQ1Y2ZkYTZlN2VlYmE2NzE0ZWIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsMTEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiCi0KLSNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1
bWVudEVuY29kZXIuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUVycm9yLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNl
Lmg+Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKCkKLSAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQot
ICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCi0g
ICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewotfQot
Ci1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzb3Vy
Y2VFcnJvci5jZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KHJlc291cmNlRXJyb3IudGxzRXJyb3JzKCkpKQotewotfQotCi1Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0K
LQotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsKLSAg
ICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEdC
eXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNU
KG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBO
VUxMKTsKLSAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAg
IEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVE
YXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0KLWJv
b2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17
Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0Nl
cnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZp
Y2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
IGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2Fy
cmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBjZXJ0
aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlm
aWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUo
KSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0
aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5k
X2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBhZG9w
dEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRf
Y2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Y2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgTlVMTCkpKTsKLQotICAgIHVpbnQzMl90
IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVl
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4YzIzMWYzNmRiMzJmOGQ4YjQwMjY3YjZkYjQ1YzE0N2Y2MWMwNTUwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
X2gKLQotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dS
ZWZQdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwot
Y2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBS
ZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0g
ICAgflBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNl
cnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZp
Y2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9y
czsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCBkYzRlMTE5MTc1N2VjZTE3NWFkNDg1
YTdhYTcyMjUyZmFmYWU4ODQ2Li43NjE3YjM2ZWI2NDAyOTc4Y2FlMzBjZjQxZTY0NWI1MzAzNjdi
ZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1l
bnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUs
MTYgKzI2LDE2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQ
QyB7CiAKQEAgLTY4LDE5ICs2OSw2OSBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNw
b25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAK
K3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7Cisg
ICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBH
Qnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVD
VChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZp
Y2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVu
Y29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8
IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJy
YXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUt
PmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRl
SW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUlu
Zm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5
KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9h
cHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBj
ZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+
IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdU
bHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdS
ZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJU
SUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBl
KGJhY2tlbmQpLCAwLCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVz
LmdldCgpLCAwKSkpOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZp
Y2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2VydGlmaWNh
dGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxz
RXJyb3JzKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3VtZW50Q29kZXI8
UmVzb3VyY2VFcnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7Ci0gICAgZW5jb2RlciA8
PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNvdXJjZUVycm9yKTsKKyAgICBlbmNvZGVyIDw8
IHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbzsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJy
b3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRD
ZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cAppbmRleCA0NDYyOWVjZmZkYTYyNTM2ZDg4YWYxY2Y1ODMxNjE5NTY3YWQ5NTE1Li45MDIwMTJm
ZDIxYzE2NzBjMDAxOTkxOWRkYzAyZjM4MmFjMjIyNWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBA
QAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5o
IgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVk
ZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNTksNiArNTgsNyBAQAogI2luY2x1ZGUg
IldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGll
c1ByaXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29u
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9H
dGtVdGlsaXRpZXMuaD4KQEAgLTI5ODcsNyArMjk4Nyw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJf
dmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRl
KioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29u
c3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+
Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNl
cnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBpZiAoY2VydGlmaWNhdGUp
CiAgICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOwog
ICAgIGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAKaW5kZXggOWY2NDg4NWFlODg0ODRkYzc0MTUxNTcyOWY1NTRiOWY1MjZhNWRkNS4uZDU1
NzNkYWNhODMyZGRlZWU0NjFjZjFiMzExZjIxN2ZjMzI4MDZlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwoV2ViQ3JlZGVudGlhbCog
Y3JlZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9j
aGFsbGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBXZWJDZXJ0aWZpY2F0ZUluZm8q
IGNlcnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmljYXRlSW5mbygpOwotICAgICAg
ICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8g
PyBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgOiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpOworICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUlu
Zm8oKSA6IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNo
YWxsZW5nZShtX2NoYWxsZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyks
IDApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4
IGM2ODFiOTAzZTQyNWU0NDk2MTg5MTBlMmYzOGEyOTU0Yzk3ZDQyOGIuLjk1ZDNiYzdlOGMyZTNj
MmIyYjRmZjkzYWVhODk3ZmM1NjVkMjFmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHAKQEAgLTEwNjcsNyArMTA2Nyw3IEBAIHZvaWQgV2ViQ29udGV4dDo6YWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyoK
IHsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIGlmIChtX3VzZXNOZXR3b3JrUHJv
Y2VzcyAmJiBtX25ldHdvcmtQcm9jZXNzKSB7Ci0gICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY2VydGlmaWNhdGUtPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCksIGhvc3QpLCAw
KTsKKyAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3M6OkFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjZXJ0aWZpY2F0ZS0+Y2Vy
dGlmaWNhdGVJbmZvKCksIGhvc3QpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3
YzFmZDRjOGRhYzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uYzI5ZTAzNWVlMzc5YjgwMWY1NzQz
NjZmMThmNmU1MWVmMzc0MTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hh
YmxlVVJMOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3Ry
aW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbykKIHsKICAgICBBU1NFUlQobV9sb2FkU3RhdGUgPT0gTG9hZFN0YXRlUHJvdmlzaW9uYWwp
OwogICAgIG1fbG9hZFN0YXRlID0gTG9hZFN0YXRlQ29tbWl0dGVkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggMGJlZTY2NmZmZmQ0YWYyZDExYjVmYzdkYWQy
NzQ4YTI2OTZiNmFkNS4uNDk1ZjM0NjcyMTUxZWU5NjliYzg5Y2VhZDdmNzFiNTE0ZTNkMDRiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCwxMCArNDAs
MTQgQEAgbmFtZXNwYWNlIENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9CiAKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK30KKwogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CisKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJt
aXNzaW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsK
QEAgLTEwNiw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJl
Y3RGb3JQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZCgpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQg
ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRp
ZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0
cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkNDgwNDM0NDY1
NjBjY2UwNTY1N2UyNDZlZTk5MjRiZTg4MDNiYzI0Li5kODcwOWY1YmI3MTQ2NDk1YTZjZTEzMTM5
MmMxMDNkOWVhZTY0Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtMjIwMyw3ICsyMjAzLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERl
cGVuZGVudENhbGxiYWNrcygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29t
bWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQor
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImIGRlY29kZXIpCiB7CiAgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CiAgICAg
V2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9w
cm9jZXNzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCAxN2EyZWUzZTNhMjM5OGI4NDY0ZjEzN2IyMDA3ZDY3NDZjMTdkMmU3Li5iZjc3OGZmNmExNmI1
MGEyY2YxOWQzZjQ1NDUzZTcwYTdmZjI4MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgR3JhcGhpY3NMYXllcjsKICAgICBjbGFzcyBJbnRT
aXplOworICAgIGNsYXNzIENlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3Bh
Y2U7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRp
bmdzOwpAQCAtMTI1LDcgKzEyNiw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBj
bGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNs
YXNzIFBhZ2VDbGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0
cmluZ1BhaXJWZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtOwpAQCAtNzkxLDcgKzc5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRU
eXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZh
aWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhOTg1MzhiZTEyNDM5Y2U3
MjJjZTQ5YzNkNzU1ODQyNmM0NjdiN2NkLi4xYWZkZjAxMmQ4YTI5N2QxYjQwODVjNTQxZjVhMGZk
MGJjMDNmNDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTExMSw3ICsxMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZy
YW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OlBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQz
Ml90IGxvYWRUeXBlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRp
YwogICAgIERpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBE
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMy
MjI4NzA2Y2JmZDNmYjA0ZTQzM2NjZDRmNGQxN2FkNzAwMDFiZjAuLjljMjk2ODU2Njg0MzY2NGMw
MGYyOTM3N2ZlMzI0MzA2NmEyY2ViYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMzIsOCArMTAzMiw2IEBACiAJCUJDRjE4
NjM4MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBD
YWNoZU1vZGVsLmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3Vw
cGxlbWVudC5oICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4
dFN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICov
OyB9OwotCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUw
NUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovOyB9Owot
CQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJD
RjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAw
NDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsK
QEAgLTI0NjIsOCArMjQ2MCw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNo
ZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9k
ZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBD
OTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlC
Q0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAw
NTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHku
ZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJh
bWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFB
MDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQxNDksOCArNDE0NSw2IEBACiAJCQkJQzU3
NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1
ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0
MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0
MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUw
NUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJ
CQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTFB
RjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICov
LAogCQkJCTFBRjFBQzY5MTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5tbSAqLywKQEAgLTUxMDksNyArNTEwMyw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAw
MkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMx
NTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
RkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIxMjdCOTVEQzAw
MzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4
NzgwRkMxMTYxQzJCODAwQ0MyNzY4IC8qIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNkZCN0QzMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uaCBpbiBI
ZWFkZXJzICovLApAQCAtNjI2OSw3ICs2MjYyLDYgQEAKIAkJCQkyRDJBREYxMDE2MzY0RDgyMDAx
OTdFNDcgLyogUERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJENDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRl
eHRBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkND
NDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE1YWI1YWQ0
OTBkZDE2MTY2ZWUxZTNjYTFhMzQzYzRhNmU0ZGZkYmQuLjI5YzRlMGU2ZmYzYmZhYTg1YjBjNjM3
N2FkNWMwY2RmNzhlMGYyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMzIsMTAgKzMyLDEwIEBACiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5o
IgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50TG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgpAQCAtOTksMTQgKzk5LDE0IEBAIHZvaWQg
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0
X3QgdG90YWxCeXRlc1RvQmVTCiAgICAgbV9jb3JlTG9hZGVyLT5kaWRTZW5kRGF0YShieXRlc1Nl
bnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiB9CiAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCit2b2lkIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyBmb3IgJyVzJy4gU3RhdHVzICVk
LiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgcmVzcG9uc2Uu
aHR0cFN0YXR1c0NvZGUoKSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3Qo
KnRoaXMpOwogCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwot
ICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0
aWZpY2F0ZUNoYWluKCkpOworICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUluZm8oY2Vy
dGlmaWNhdGVJbmZvKTsKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNw
b25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9jb3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJl
c3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhl
IHNlbmQgZnVuY3Rpb24oKS4gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDljOTg2ZjJlNDdlNTIzMTg4ZWE0NWQw
YjEzNDljN2Y0ODBkZWQ1NzIuLjZhZmEzM2NhOWEwYTUwMDY0MDMyZjU3OWZmOTVkMGM4YTI2OWVh
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFBy
b3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50
NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxs
U2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5k
RGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0g
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJv
b2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0Nv
bnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0
aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwog
ICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggNjc3NTRkZWNmZDMzMmI3OTBk
OWUwZDk4MmZjMzFkNjhhYjA5ODY0YS4uYTFiNTg4YjdmNjYyYmEyNWY5ZjA2YWQ2MzM4ZDcwZThi
MDc0ZDNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBA
QCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8g
RklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkg
Zm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJl
c3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90
YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ug
ZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxv
YWQoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCAzY2UzZTA3OThkYjA5ZDZjMGFiYWE5ZDhkZTljODE5ZmRiOGQzYWZkLi43NTNkNWExOGNjNDBm
ZWYzMzdkZjllYzhjMDdhMmM4MmYwYTllMmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9u
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgog
I2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dE1lc3NhZ2VzLmgiCkBAIC01MSw2ICs1MCw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmlj
YXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9ET01XcmFwcGVyV29ybGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+
CkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRDb21taXRMb2FkKCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogCi0gICAgd2Vi
UGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUo
bV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJh
bWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9u
c2UpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsK
KyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRG
b3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUt
PmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7
CiAKICAgICB3ZWJQYWdlLT5kaWRDb21taXRMb2FkKG1fZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213868</attachid>
            <date>2013-10-10 04:08:02 -0700</date>
            <delta_ts>2013-10-10 04:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010130800.patch</filename>
            <type>text/plain</type>
            <size>102293</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzNDQ0MjY3YmZmYzRk
YzY0YjI5ZDUxNzU1NDRhOWFlNTIyZDRlYi4uMTFmODY2ZGZhOTczY2M5MTcwNGFiNDM1N2U0M2M3
MzE4NTdlOTYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8
c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEltcGxlbWVu
dCBzdXBwb3J0IGZvciBncmlkLXRlbXBsYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjQwZTBhNzhjMzRlOGNk
MmI3NThjNGFiZWMyYzdlMDAwZjYyOTc3ZC4uMTFiYjFhOGRlMjEzNDVhZTUxZDcyYzNlMDY2Mzk3
NGYxMzJhZDBhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmUg
Y29uZmxpY3QgaW4gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGFmdGVyIHIxNTY0ODgKKyAgICAgICAgLSByZW5hbWUgS1VSTCB0byBVUkwgYWZ0ZXIgcjE1
NjU1MC4KKyAgICAgICAgLSByZW1vdmUgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAtIGFk
ZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1ZGVk
IGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xhcmF0
aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAg
KiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAo
V0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBT
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAg
IChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICogU2hh
cmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6cGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUlu
Zm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmVuY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgorICAg
ICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6
OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZv
cm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyk6CisgICAgICAg
ICogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENv
bW1pdExvYWQpOgorCiAyMDEzLTEwLTA5ICBTZXJnaW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgU2V0IHZpZXcgdG8gYWN0aXZlIGluIFZpZXdDbGll
bnRFZmwgYWZ0ZXIgV2ViUHJvY2VzcyBoYXMgcmVsYXVuY2hlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggMzM4NDM2MGMwYWE5MGU1NzdkZDI1NzM4MWI0N2M0ZWM5YmQwNzM3MC4u
NjY5YjllZjJjYzNmMGZmODQ3ZGNiZWIxOGI5NDRiODFmZmQwNmFlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC01NDE3LDYgKzU0MTcsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNl
SGFuZGxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iU3RvcmFn
ZURhdGEuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUlu
Zm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Db29raWVTdG9yYWdlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBcCkBA
IC01NDUxLDYgKzU0NTIsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVm
bC5jbWFrZQppbmRleCBjOThiN2EzYjI0OWQzN2NiY2ZjYzAzMzIyYzk1OGRjY2M5OGZlYmQzLi5l
Y2FhNzc4NTdhMjI2Y2UwYTkxNTFkZDAwNTIzOTNiOTkyODMwMDNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMTQ4LDYgKzE0OCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL25ldHdvcmsvZWZsL05ldHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcAog
CiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5j
cHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9z
b3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNDc4
M2JlZTM3MzM3MGRjY2IyMjFkZGY5YzQzNDRiMjBmM2IxYTI5NC4uOTg1YjU5NTNiMzk1NTRhYzAy
ODJmZWVmYmZmNDFjYzAyZmE3NTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTc2Miw2ICs3
NjIsMTEgQEAgX19aTjdXZWJDb3JlMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTIzc2V0QXV0aGVu
dGljYXRpb25DbGllbnRFUE5TXzIwQXV0aGVudGljYXQKIF9fWk43V2ViQ29yZTIzQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFs
RWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2Vi
Q29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXQyNWVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb25F
dgogX19aTjdXZWJDb3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKK19fWk43V2ViQ29y
ZTE1Q2VydGlmaWNhdGVJbmZvMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9fQ0ZBcnJheQorX19a
TjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFdgorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9EMUV2Citf
X1pOSzdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm8xNmNlcnRpZmljYXRlQ2hhaW5FdgogX19aTjdX
ZWJDb3JlMjNTeW5jaHJvbm91c0xvYWRlckNsaWVudDI0cGxhdGZvcm1CYWRSZXNwb25zZUVycm9y
RXYKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDVOU1VSTGwKIF9fWk43
V2ViQ29yZTIzZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNSYW5nZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMzgz
MjRhNWJkNjE2Y2VjYjY5MWQyODQ4NjQ1ZWRkMjhkOTc2MWFjNi4uMWZjYmFkNGFiMWU0ZGVlZmY1
ODNmOWVhZjUwZGJkZTE2ZmMyMDUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03OTczLDYgKzc5NzMsMTIgQEAKICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3
b3JrXGNmXENlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xj
ZlxDb29raWVKYXJDRk5ldC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTkwNTgsNiArMTkwNjQsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVnaXN0cnlJbXBs
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXEJsb2JS
ZXNvdXJjZUhhbmRsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xCbG9iU3RvcmFnZURhdGEuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xDcmVkZW50aWFsU3RvcmFn
ZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGFhYjJkOTY0MWEyNTRlNmU3NTYzZGYwNDdjMjRhMmZh
M2M0Y2ZlZDUuLmY4NGFkOTI2OTc5MGYwZTdhOGI4YTg0MjViYTJhNzhlMjIyOTEzMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKQEAgLTg1NDEsNiArODU0MSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxuZXR3b3JrXEJsb2JTdG9yYWdlRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+cGxh
dGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xDZXJ0aWZpY2F0ZUluZm8uaCI+CisgICAgICA8
RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ29va2llU3RvcmFnZS5oIj4K
ICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0d29yazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDVmMzExMzE4ZTNkZGFhYjkwZTQ4Y2Q3MDZhMTg0ZTQyZTBkNGQ2NjYuLjQzYmQ2N2U4
Nzk1ZWZiYjJkNTQ3MzY3MjJlZGYyY2U2NWFjNDQ0ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NjcsNyArMTg2NywxMCBA
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
OyB9OyB9OwpAQCAtODQ0Miw3ICs4NDQ1LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3
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
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzIyNiw2ICsxMzIzMiw3IEBACiAJCQlpc2EgPSBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFj
Y2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1
OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzNTYxLDYgKzEzNTY4LDcgQEAKIAkJMDg2N0Q2OTFG
RTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZy
YW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8s
CiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJ
CQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAg
LTE1MDM2LDYgKzE1MDQ0LDcgQEAKIAkJCQkyRUI0QkNEMDEyMUYwM0UzMDBFQzQ4ODUgLyogQmxv
YlJlc291cmNlSGFuZGxlLmNwcCAqLywKIAkJCQkyRUI0QkNEMTEyMUYwM0UzMDBFQzQ4ODUgLyog
QmxvYlJlc291cmNlSGFuZGxlLmggKi8sCiAJCQkJMkVERUYxRjIxMjFCMEVGQzAwNzI2REIyIC8q
IEJsb2JTdG9yYWdlRGF0YS5oICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQlFMTNGMDFFQTEyNzBFMTBEMDBERkJBNzEgLyogQ29v
a2llU3RvcmFnZS5oICovLAogCQkJCTUxNEM3NjU4MENFOTIzQTEwMDdFRjNDRCAvKiBDcmVkZW50
aWFsLmNwcCAqLywKIAkJCQk1MTRDNzY1OTBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5o
ICovLApAQCAtMTUwOTYsNiArMTUxMDUsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTE0Qzc2
NDIwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLmggKi8sCiAJCQkJNTE0Qzc2
NDMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLm1tICovLAorCQkJCTVGMkRC
QkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJRTE0
MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJCQlFMTNGMDFG
MDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJCQlFMUI0Q0Qy
NDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8sCkBAIC0yMzU1
MCw2ICsyMzU2MCw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3Jt
Q0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIg
LyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1
MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1
RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1UcmFjay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBsYXRmb3JtQ29v
a2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBCQzQ3NzUgLyog
UGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzY4OCw2ICsyNzY5OSw3IEBACiAJ
CQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1Bv
bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENl
cnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2RDkw
MEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMxNzY2
ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRF
OUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZv
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVjOTkzMGU4NzYxZGI5MWIxOTQ1ODAzMDQxYjdmMjI1MGEzNTM2MjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRl
SW5mby5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEw
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlv
bnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBDZXJ0aWZpY2F0ZUluZm9faAorI2RlZmluZSBDZXJ0aWZp
Y2F0ZUluZm9faAorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNlbGlmIFVTRShTT1VQKQorI2luY2x1ZGUgPGdpby9naW8u
aD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBDZXJ0aWZpY2F0ZUluZm8geworcHVibGljOgorICAgIENlcnRp
ZmljYXRlSW5mbygpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGV4cGxpY2l0IENlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworI2VuZGlmCisKKyAgICB+Q2Vy
dGlmaWNhdGVJbmZvKCk7CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisg
ICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOworICAgIENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0OworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lkIGR1bXAo
KSBjb25zdDsKKyNlbmRpZgorCisjZWxpZiBVU0UoU09VUCkKKyAgICBHVGxzQ2VydGlmaWNhdGUq
IGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAg
IHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2Nl
cnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRs
c0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9CisgICAgdm9pZCBzZXRUTFNF
cnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxz
RXJyb3JzOyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShD
Rk5FVFdPUkspCisgICAgLy8gQ2VydGlmaWNhdGUgY2hhaW4gaXMgbm9ybWFsbHkgcGFydCBvZiBO
Uy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRl
c2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IG1fY2VydGlmaWNhdGVDaGFpbjsKKyNlbGlmIFVTRShTT1VQKQorICAgIEdSZWZQdHI8R1Rsc0Nl
cnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxz
RXJyb3JzOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCmluZGV4IDViNzkwOWZkYjFkZTAxZDY1MzMxYzc1OTk0
ZjkzOGMzNzNmMjcwNWMuLjBmNDU5MzQxZjVmNGE0MjdiMmRlZmQ3NTFmYTY4NzVhYjMzNDU5N2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJv
ckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJy
b3JCYXNlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUmVzb3VyY2VFcnJvckJhc2VfaAog
I2RlZmluZSBSZXNvdXJjZUVycm9yQmFzZV9oCiAKKyNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8u
aCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNTIsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1RpbWVvdXQoYm9vbCBp
c1RpbWVvdXQpIHsgbV9pc1RpbWVvdXQgPSBpc1RpbWVvdXQ7IH0KICAgICBib29sIGlzVGltZW91
dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUaW1lb3V0OyB9CiAKKyAgICBjb25zdCBDZXJ0aWZpY2F0
ZUluZm8mIENlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZv
OyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pIHsgbV9jZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm87IH0K
KwogICAgIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYsIGNvbnN0IFJl
c291cmNlRXJyb3ImKTsKIAogcHJvdGVjdGVkOgpAQCAtODksNiArOTMsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgaW50IG1fZXJyb3JDb2RlOwogICAgIFN0cmluZyBtX2ZhaWxpbmdVUkw7CiAgICAgU3Ry
aW5nIG1fbG9jYWxpemVkRGVzY3JpcHRpb247CisgICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlm
aWNhdGVJbmZvOwogICAgIGJvb2wgbV9pc051bGw7CiAgICAgYm9vbCBtX2lzQ2FuY2VsbGF0aW9u
OwogICAgIGJvb2wgbV9pc1RpbWVvdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggMmNmYjUzYTkzN2ZiNGFi
N2ZhNmI4NmI0Nzk2YmI4NmUyNGViN2ViMy4uMTkxNWUxOWI4Mjg5ZmM3YWZkZjUxMzk3Njc5NDU0
YjFiZGI0MzU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMjcsOSArMjcsMTAgQEAKICNpZm5kZWYgUmVz
b3VyY2VSZXNwb25zZUJhc2VfaAogI2RlZmluZSBSZXNvdXJjZVJlc3BvbnNlQmFzZV9oCiAKKyNp
bmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCi0j
aW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCisjaW5jbHVk
ZSAiVVJMLmgiCiAKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTExMiw2ICsxMTMsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkVGlt
aW5nKiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdDsKICAgICB2b2lkIHNldFJlc291cmNlTG9h
ZFRpbWluZyhQYXNzUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4pOwogCisgICAgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiBDZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmlj
YXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRl
SW5mbyYgQ2VydGlmaWNhdGVJbmZvKSB7IG1fQ2VydGlmaWNhdGVJbmZvID0gQ2VydGlmaWNhdGVJ
bmZvOyB9CisKICAgICAvLyBUaGUgUmVzb3VyY2VSZXNwb25zZSBzdWJjbGFzcyBtYXkgInNoYWRv
dyIgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBwbGF0Zm9ybS1zcGVjaWZpYyBtZW1vcnkgdXNhZ2Ug
aW5mb3JtYXRpb24KICAgICB1bnNpZ25lZCBtZW1vcnlVc2FnZSgpIGNvbnN0CiAgICAgewpAQCAt
MTUyLDYgKzE1Niw3IEBAIHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBtX2Nvbm5lY3Rpb25JRDsK
ICAgICBib29sIG1fY29ubmVjdGlvblJldXNlZCA6IDE7CiAgICAgUmVmUHRyPFJlc291cmNlTG9h
ZFRpbWluZz4gbV9yZXNvdXJjZUxvYWRUaW1pbmc7CisgICAgQ2VydGlmaWNhdGVJbmZvIG1fY2Vy
dGlmaWNhdGVJbmZvOwogCiAgICAgYm9vbCBtX2lzTnVsbCA6IDE7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvQ2VydGlmaWNhdGVJbmZv
Q0ZOZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNDYxOWQwMDU3MTVjYjIzOGE0NWI4NGZhMTk1NjVkZWI2
ODYyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworQ2VydGlm
aWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVzcG9uc2UuaAppbmRleCAxM2E1ODExODBlYTY4OGRkZTM3NmUzNWYwN2UyZWUzMTYzOGFk
MzVlLi41YTM2YTBlOTQ2MjFmMWQ0YzY5ZTIzY2QyZGJkNDc1ZWEwNzIxYjNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2Uu
aApAQCAtMTE3LDEwICsxMTcsNiBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBt
dXRhYmxlIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVzcG9uc2U7CiAjZW5kaWYKLSNp
ZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCi0gICAgLy8gQ2VydGlmaWNhdGUgY2hh
aW4gaXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8g
d2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCi0g
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOwotI2Vu
ZGlmCiAgICAgSW5pdExldmVsIG1faW5pdExldmVsOwogICAgIGJvb2wgbV9wbGF0Zm9ybVJlc3Bv
bnNlSXNVcFRvRGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RkM2FiM2Vh
YTNhMjMxMDI0MjEzZDc0MjdiZjc4ZTlhMzQzZjFhNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAt
MCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9y
dCAiQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2VydGlmaWNh
dGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCisKK0NlcnRpZmljYXRlSW5mbzo6Q2Vy
dGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlm
aWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCitDZXJ0aWZpY2F0ZUluZm86On5D
ZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit2b2lkIENlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlm
aWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCit7CisgICAgbV9jZXJ0aWZp
Y2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKK30KKworQ0ZBcnJheVJlZiBDZXJ0aWZpY2F0
ZUluZm86OmNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdAoreworICAgIHJldHVybiBtX2NlcnRpZmlj
YXRlQ2hhaW4uZ2V0KCk7Cit9CisKKyNpZm5kZWYgTkRFQlVHCit2b2lkIENlcnRpZmljYXRlSW5m
bzo6ZHVtcCgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVD
aGFpbiA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKKwor
ICAgIE5TTG9nKEAiQ2VydGlmaWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczog
JWRcbiIsIGVudHJpZXMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyAr
K2kpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihT
ZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJh
eUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAg
IE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNl
bmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQppbmRleCA1
NDI1ZTFmZDRhNTlhMDJkMTYyMWU4M2YxODE4OTQ2YmJmOGQzNGE3Li4xOGNhMzA4MTcxN2E3Mjg0
MDU1NzUyZDVjM2JiZTg5YTY0YzAwNGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KQEAgLTE4MSwx
MyArMTgxLDEzIEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1Db21wYXJlKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlCiB2b2lkIFJlc291cmNlUmVzcG9u
c2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewog
ICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNw
b25zZSgpKSk7Ci0gICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNo
YWluOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNh
dGVDaGFpbik7CiB9CiAKIFJldGFpblB0cjxDRkFycmF5UmVmPiBSZXNvdXJjZVJlc3BvbnNlOjpj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QKIHsKLSAgICBpZiAobV9leHRlcm5hbENlcnRpZmljYXRl
Q2hhaW4pCi0gICAgICAgIHJldHVybiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBp
ZiAobV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKQorICAgICAgICByZXR1cm4g
YWRvcHRDRihtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOwogCiAgICAgcmV0
dXJuIGFkb3B0Q0Yod2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4obnNVUkxSZXNw
b25zZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYyYTc3ODFh
ZDFmN2MwNDQ1MTZlOGY4ZjA1YjYxNjYyY2RlNTI5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcApA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90
bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitD
ZXJ0aWZpY2F0ZUluZm86On5DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlRXJyb3IuaAppbmRleCAxYTcwNWYxNWVkN2YzOGY4ZDNhZmVkNzAxMWEzMGMwNGJj
Yzc4ZjE4Li5hMTBjNmNiODdhM2VjMmY2ZDQyY2Q1YzNmZDI3MTQxNGM4OWE0ZTExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
LmgKQEAgLTQwLDEyICs0MCwxMCBAQCBjbGFzcyBSZXNvdXJjZUVycm9yIDogcHVibGljIFJlc291
cmNlRXJyb3JCYXNlCiBwdWJsaWM6CiAgICAgUmVzb3VyY2VFcnJvcihjb25zdCBTdHJpbmcmIGRv
bWFpbiwgaW50IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMLCBjb25zdCBTdHJp
bmcmIGxvY2FsaXplZERlc2NyaXB0aW9uKQogICAgICAgICA6IFJlc291cmNlRXJyb3JCYXNlKGRv
bWFpbiwgZXJyb3JDb2RlLCBmYWlsaW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlwdGlvbikKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZUVycm9yKCkK
LSAgICAgICAgOiBtX3Rsc0Vycm9ycygwKQogICAgIHsKICAgICB9CiAKQEAgLTU2LDE3ICs1NCwx
NCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgdGltZW91dEVycm9yKGNvbnN0
IFN0cmluZyYgZmFpbGluZ1VSTCk7CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgYXV0aGVudGlj
YXRpb25FcnJvcihTb3VwTWVzc2FnZSopOwogCi0gICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29u
c3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25l
ZCB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KLSAgICBHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsg
fQotICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkg
eyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KKyAgICB1bnNpZ25lZCB0bHNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZv
aWQgc2V0VExTRXJyb3JzKHVuc2lnbmVkIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykp
OyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRl
KEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0Q2Vy
dGlmaWNhdGUoY2VydGlmaWNhdGUpOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNv
cHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFy
ZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKTsKLQotICAg
IHVuc2lnbmVkIG1fdGxzRXJyb3JzOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2Nl
cnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5kZXggYmE4NjU3YjUwNTA5
MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1Mi4uMWI4OWNlMmMxY2E5MWRhNzQzMDk1ZTJjNjUx
MDFiMmExNjM2MmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEz
IENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgs
OCArOTksNyBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25z
dCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5
KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29uc3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0
aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAgZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90
bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldENlcnRpZmljYXRlSW5mbyhtX2NlcnRpZmljYXRl
SW5mbyk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJl
c291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAppbmRl
eCA0ODkxZjkzNWZjYmM3Zjc3MjNhNjYxNTdlZTJlZDkzM2NmNTNlMGY3Li4zOWUxZDM3ZmVlM2Uz
NDZkMWY4ODRmODdjOGEzZTAzYWU2ZmYzMTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTM4LDIxICsz
OCwxOCBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgIDogUmVzb3Vy
Y2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBN
ZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25z
ZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVj
dGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFN0cmluZyYg
ZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBtaW1lVHlwZSwg
ZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQogICAgICAgICAsIG1f
c291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAg
ICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UpCiAg
ICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1fc291cEZsYWdzKHN0
YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgICAgIHVwZGF0
ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcsMTEgKzY0LDExIEBA
IHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRTbmlmZmVkQ29udGVu
dFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50VHlwZSA9IHZhbHVl
OyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRTb3VwTWVzc2Fn
ZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0
ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsg
fQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNl
cnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRl
KTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VUTFNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNF
cnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxz
RXJyb3JzOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VUTFNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKTsgfQorICAgIHZv
aWQgc2V0U291cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
KSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMpOyB9CiAKICAgICBi
b29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
IApAQCAtODAsOCArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3NhZ2VGbGFncyBtX3Nv
dXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0gICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
bV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNwb25zZSgpIHsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQzY2I2NzA4YTBmOTlm
ZTQyZDdiMjQ1NWQyNmYwLi45OGQxOGNmMjI1Yjc4ZjZkMDA3YTMyYTA4MTVmZTlmN2Q0ODJmNzdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU291cE1lc3Nh
Z2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAogCiAgICAgc291cF9t
ZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwogCi0gICAgZ19vYmpl
Y3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0ZSIsIG1fY2VydGlm
aWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwpOworICAgIGdfb2Jq
ZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpLCAidGxzLWVycm9ycyIsIG1fY2VydGlmaWNhdGVJbmZv
LnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBpcyBub3QgaW4gdGhlIG1l
c3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCArNjgsMTAgQEAgdm9pZCBS
ZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBN
ZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9mbGFncyhzb3VwTWVz
c2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlID0gMDsKLSAgICBzb3Vw
X21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNlcnRpZmljYXRlLCAmbV90
bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2Vy
dGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7CisgICAgbV9jZXJ0aWZp
Y2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9jZXJ0aWZpY2F0ZUluZm8u
c2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOwogCiAgICAgdXBkYXRlRnJvbVNvdXBNZXNzYWdl
SGVhZGVycyhzb3VwTWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCAxOWZkNTk0MjU4YjI3ODMwMzA1N2FlMGU3MGQxYjZhODg3MmJj
MmNlLi5jMDBhNDAzZDUyMjJiNTA0MDM4OWVlNjcyZDc4YTUxNTlmMjlkMjBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ3OSw4ICs0NzksNiBAQCB3ZWJraXQyX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvU291cENv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1RleHRDaGVja2VyU3RhdGUuaCBcCkBAIC0xMzQ3LDggKzEzNDUsNiBAQCB3ZWJraXQyX3BsdWdp
bl9wcm9jZXNzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJvY2Vz
c0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJF
dmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxl
Qml0bWFwQ2Fpcm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNo
ZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5j
aGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAK
aW5kZXggMWJhZjViMTlhYjIwMDNlNTQ4ZDAzYmMyZTY1ODJiMjJhNDNlYjdhNy4uNDk2ZDA3NWVk
ZTEyOGZiZmQ5OWI0MTYwOTE4N2FhNjQwZjEzMmQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRl
ckNsaWVudC5jcHAKQEAgLTI4LDEwICsyOCwxMSBAQAogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApAQCAtNjMs
NyArNjQsNyBAQCB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmNhbkF1dGhl
bnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoTmV0dwogCiB2b2lkIEFzeW5jaHJvbm91c05l
dHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZShOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgbG9h
ZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpE
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSksIGxvYWRlci0+aXNMb2FkaW5nTWFpblJlc291cmNlKCkp
KTsKKyAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3Vy
Y2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Us
IHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJj
ZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVj
ZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hhcmVkQnVmZmVyKiBi
dWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAxMjgxNzRhMzY4MTFjMWRjZDI3MmJmMDNj
ZWMxMDQwNWVkZDExMDAuLmQ2ZjBlMGRkMGFmYmM3ZmZiMmU2MDE4N2NhYzRlMDZlODFmYTg3YjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApA
QCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworY2xh
c3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCw3ICs0NSw2IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwogY2xhc3MgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3MgOiBwdWJsaWMgQ2hp
bGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsKQEAgLTEwOCw3ICsx
MDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVpbnQ2NF90IGRvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgY2FuY2Vs
RG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRDYWNoZU1vZGVsKHVp
bnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAg
dm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdv
cmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFy
Q2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IGE1ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5ODVkZDcuLjMyYmNl
MDViOGNiNTBlMGU2MjA3YTlhOGFjMGRjMTcwMjRjNDQ1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBA
IC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVy
IHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgog
Ci0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJv
Y2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IDg1ZThiYmExZTQ1MzUxZGNkMTI1ZjMwN2E5ZDhkODUwMzllMGQ2MjAuLjU2YTI4ODBlMjUx
MmZmNTFmZjNjMDIwMDUyZDIxNjNmOWYyM2ZmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNyAr
MzcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVSZXNv
dXJjZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IGUxOTdm
ZjM5NmY3MGE3N2E5NTYyZDM1YWI1M2QyYzQ0NTM1Y2MwMmUuLmY2NGQyZmU0NzQyZWY0MzYyM2Q1
MGU5NDY4MTMwNjRiMWQzZTc0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEzICszMCwxMyBAQAog
CiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAi
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94
RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgi
CiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3Rl
bS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJD
b3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+
CiAjaW1wb3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9ydCA8bWFjaC9tYWNoLmg+CkBAIC0x
ODUsNyArMTg1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVs
KENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICBbbnN1cmxDYWNoZSBzZXREaXNrQ2FwYWNpdHk6
c3RkOjptYXg8dW5zaWduZWQgbG9uZz4odXJsQ2FjaGVEaXNrQ2FwYWNpdHksIFtuc3VybENhY2hl
IGRpc2tDYXBhY2l0eV0pXTsgLy8gRG9uJ3Qgc2hyaW5rIGEgYmlnIGRpc2sgY2FjaGUsIHNpbmNl
IHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lkIE5ldHdvcmtQ
cm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKIHsKICAgICBb
TlNVUkxSZXF1ZXN0IHNldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAq
KWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkgZm9ySG9zdDooTlNTdHJpbmcgKilo
b3N0XTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggODgwNTBjMTk4M2E2NWJmNTdi
NDlkYzliYzk3N2NmZmM1ZGY3NTE5Yi4uOTNkYjVhZWM4NjFhNDEwZTIxMDY5NDIwODI4MWFhZDdh
OTg3MzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQyLDcgKzQyLDYgQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJz
L1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xp
Y3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAg
ICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9j
ZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5k
ZXggYzBiZDBmYTQ0ZjE0OTk3YjEzNTg4NzE0N2Q0ZjQ5MWRlNzUwOTEzNS4uNDFlNTk3MWY3ZWYw
MThlMGM5NjkzZmJhMzQ5Mjg2NjEzMDZhNGFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UK
QEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVk
L2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2Nv
bXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9N
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZv
TWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1YzJlM2JmYWIuLmQz
MTUyNDNmMWM4MTA0M2QwYmY2OWQxM2UyMGVmNzc1MzYyMWUzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpA
QCAtMzMsMTEgKzMzLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNh
dGVJbmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxXZWJDZXJ0aWZp
Y2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRv
QVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIAogQ0ZBcnJheVJl
ZiBXS0NlcnRpZmljYXRlSW5mb0dldENlcnRpZmljYXRlQ2hhaW4oV0tDZXJ0aWZpY2F0ZUluZm9S
ZWYgY2VydGlmaWNhdGVJbmZvUmVmKQogewotICAgIHJldHVybiB0b0ltcGwoY2VydGlmaWNhdGVJ
bmZvUmVmKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCk7Cisg
ICAgcmV0dXJuIHRvSW1wbChjZXJ0aWZpY2F0ZUluZm9SZWYpLT5DZXJ0aWZpY2F0ZUluZm8oKS5j
ZXJ0aWZpY2F0ZUNoYWluKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDdm
N2RjYTJkZDJlNDI4MjVmYTU4MTdiMWQyY2YwZmNlOTFiM2ZiNzguLmUyZjQ1MzIyOWNiN2RiZGZk
MzNjM2Q2YzZiNjJiYTAyNmZiNzE2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCkBA
IC05OCwyMCArOTgsMjAgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCogZG93bmxvYWQKIAogLy8gQ3VycmVudGx5
LCBvbmx5IE1hYyBrbm93cyBob3cgdG8gcmVzcG9uZCB0byBhdXRoZW50aWNhdGlvbiBjaGFsbGVu
Z2VzIHdpdGggY2VydGlmaWNhdGUgaW5mby4KICNpZiAhVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykK
LWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKK2Jvb2wgQXV0aGVudGljYXRpb25NYW5hZ2Vy
Ojp0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKQogewogICAgIHJldHVy
biBmYWxzZTsKIH0KICNlbmRpZgogCi12b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3Jl
ZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgQ3JlZGVudGlh
bCYgY3JlZGVudGlhbCwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbykKK3ZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsLCBj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogCiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlID0g
bV9jaGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdlSUQpOwogICAgIEFTU0VSVCghY2hhbGxlbmdlLmlz
TnVsbCgpKTsKICAgICAKLSAgICBpZiAodHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JD
aGFsbGVuZ2UoY2hhbGxlbmdlLCBjZXJ0aWZpY2F0ZUluZm8pKQorICAgIGlmICh0cnlVc2VDZXJ0
aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY2hhbGxlbmdlLCBjZXJ0aWZpY2F0ZUluZm8pKQogICAg
ICAgICByZXR1cm47CiAgICAgCiAgICAgQXV0aGVudGljYXRpb25DbGllbnQqIGNvcmVDbGllbnQg
PSBjaGFsbGVuZ2UuYXV0aGVudGljYXRpb25DbGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
aAppbmRleCA0YzZmODFlOTUzOTBmZjcwZDM4MTgyYmRjOWI0MjZiYTZlMDFhNTkxLi5kZmUxZTYx
YmJkNGYzZGZiY2Y5ZDEzMDBiYTU4Mjk3NjUwNDc0ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNz
IENlcnRpZmljYXRlSW5mbzsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENoaWxk
UHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHVibGlj
IFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LCBw
dWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGlj
OgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29y
a1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3du
bG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2
b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0
IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwg
Y29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50
NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsK
IAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGJiMWNjMzBjYTZi
YzU5MWJkZWRlZDQxZjBmNTE5NWVjNzZjOTYxZGQuLjM0ZGI5YjIwOGJmMWZkMTczZDgxYTQ2Yzc2
ZjhmODY0NmRmM2Q1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdl
cy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJL
aXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRl
bnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsK
ICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBj
MGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0MWU3NjljMjc2MDEzLi44YjZkNzEzNDk3OGIwNTUx
YTBkNDEwMmNjZGU2NjJmNzQwMDM2ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tCkBAIC0yOCwxNSArMjgsMTUgQEAKIAogI2lmIFVTRShTRUNVUklUWV9GUkFN
RVdPUkspCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
PFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlv
bkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBBdXRo
ZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxl
bmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UsIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCitib29sIEF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvKQogewogICAgIENGQXJyYXlSZWYgY2hhaW4gPSBjZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGVDaGFpbigpOwogICAgIGlmICghY2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9V
c2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAwMjJmMzEwNTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIw
ZjdkMDRlOGIuLmQ5YjE0MDlkODZmODEyOTI5ZTkxNWU1MGRhOGRmMDAwMmZhNGUyZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC0yMTUsNyArMjE1LDcg
QEAgcHVibGljOgogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlm
aWNhdGVJbmZvOiB7CiAgICAgICAgICAgICBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRl
SW5mbyA9IHN0YXRpY19jYXN0PFdlYkNlcnRpZmljYXRlSW5mbyo+KG1fcm9vdCk7Ci0gICAgICAg
ICAgICBlbmNvZGVyIDw8IGNlcnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8o
KTsKKyAgICAgICAgICAgIGVuY29kZXIgPDwgY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUlu
Zm8oKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
QVBJT2JqZWN0OjpUeXBlRXJyb3I6IHsKQEAgLTUwNCwxMCArNTA0LDEwIEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBl
Q2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBw
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pKQorICAgICAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
Y2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk7CisgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZShjZXJ0aWZpY2F0ZUluZm8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVFcnJvcjogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCmluZGV4IDA2MTgyZmNlMmZjNmQ1OTdlOWY1
ZjhjMDM5NTc3MTlhMmFhNjJhZjUuLmM4ZmJhY2NkNGJmNTllNDZhNzc1NzYxOGUxNTFkNTQ2NWM3
NjM5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUlu
Zm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAg
LTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVk
ZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm8g
OiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVh
dGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0
aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CiAK
IHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQotICAgICAgICA6IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgICAgICA6IG1fY2VydGlmaWNhdGVJbmZvKGluZm8p
CiAgICAgewogICAgIH0KIAotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNh
dGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM5ODdkMjhmYzZmNmU1NWU5
NmNhYzdlMGUwODA1YjA5MDYyYjdhOGUuLmJhNTdkMWRhOGRjNTgyMTAwMWJjYTQ2NDNmMWQ0ZWE4
YThhZWEzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vy
c29yLmg+CkBAIC0zOSwxMyArNDAsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29u
dGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSW1hZ2UuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9V
UkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1VzZXJTdHlsZVNoZWV0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5o
PgpAQCAtNTQ3LDYgKzU0OCwyMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25z
ZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlUgogICAgIHJldHVy
biB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGNlcnRpZmljYXRl
SW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CisKKyAgICBpZiAoIWRlY29k
ZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikK
IHsKICAgICBpZiAoa1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggYTk2NWRlODU1MjI3YjFm
MTQzMjNkZjgxNzdmMmI5OTk1OTk5M2Q4MC4uNzczMzYxNjI3M2I4ZWM4NGUxOGQzMTZhNDM0YWJk
ZDYxYTQ4Mzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaApAQCAtNDUsNiArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
S2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAgY2xhc3MgVVJMOwogICAgIGNsYXNzIE5vdGlmaWNhdGlv
bjsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNl
OwogICAgIGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpA
QCAtMTcwLDYgKzE3MSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwogfTsKIAor
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHsKICNpZiBQTEFURk9STShN
QUMpCiAgICAgc3RhdGljIGNvbnN0IGJvb2wga1Nob3VsZFNlcmlhbGl6ZVdlYkNvcmVEYXRhID0g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTFhMmYzMzE3OWYy
ZDE1NDBkNDkxYWQwNjgzYjk1MjQwY2NjZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
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
LSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLSAgICBjbGFz
cyBBcmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGlj
OgotICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4
cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
bik7Ci0KLSAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOwotCi0jaWZuZGVmIE5E
RUJVRwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgUmV0
YWluUHRyPENGQXJyYXlSZWY+IG1fY2VydGlmaWNhdGVDaGFpbjsKLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0YTczNTQ1YzViZDE2OGY2YWE5MjZkOTc0
NjMxOGU0YTZjYThlMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJj
b25maWcuaCIKLSNpbXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbXBvcnQg
IkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2ltcG9y
dCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9j
ZXJ0aWZpY2F0ZUNoYWluKHJlc3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkKLXsKLX0KLQotUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNo
YWluKQotewotfQotCi12b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZp
Y2F0ZUNoYWluKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29k
ZXIsIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBjKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRp
ZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAo
KSBjb25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBD
RkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7Ci0KLSAgICBOU0xv
ZyhAIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczog
JWRcbiIsIGVudHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyAr
K2kpIHsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihT
ZWNDZXJ0aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJh
eUdldFZhbHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAg
IE5TTG9nKEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNl
bmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggYzEyNjAwMDNlYTE0
ZjU2NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NS4uOTAyNjYwOWZmOGZmMzYxOTM5YzQxMzExMzAy
ZTNmZTRiOGM3ZTFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJD
b3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDE0ICsyOCwxNCBAQAogI2ltcG9ydCAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNp
bXBvcnQgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1J
bnRlcmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJv
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMyLDYgKzEz
MywzNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCisK
K3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgewor
ICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
ZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0
ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47CisgICAg
aWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWlu
KGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRp
YyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJu
IHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmlu
Zy5sZW5ndGgoKV0gOiBAIiI7CkBAIC0xNjgsNyArMjAwLDcgQEAgdm9pZCBBcmd1bWVudENvZGVy
PFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyLAogCiAgICAgaWQgcGVlckNlcnRpZmljYXRlQ2hhaW4gPSBbdXNlckluZm8gb2JqZWN0Rm9y
S2V5OkAiTlNFcnJvclBlZXJDZXJ0aWZpY2F0ZUNoYWluS2V5Il07CiAgICAgQVNTRVJUKCFwZWVy
Q2VydGlmaWNhdGVDaGFpbiB8fCBbcGVlckNlcnRpZmljYXRlQ2hhaW4gaXNLaW5kT2ZDbGFzczpb
TlNBcnJheSBjbGFzc11dKTsKLSAgICBlbmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KChDRkFycmF5UmVmKXBlZXJDZXJ0aWZpY2F0ZUNoYWluKTsKKyAgICBlbmNvZGVyIDw8IENlcnRp
ZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlmaWNhdGVDaGFpbik7CiB9CiAKIGJvb2wg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTE5NCw3
ICsyMjYsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShzdHJpbmdVc2VySW5mb01hcCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOworICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM2OTA0YjRhZTZlNWI1MzJiMDM5ZGQ1Y2ZkYTZlN2VlYmE2NzE0ZWIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgi
Ci0KLSNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29k
ZXIuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUVycm9yLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5j
bHVkZSA8bGlic291cC9zb3VwLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkKLSAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzPigwKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9j
ZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rs
c0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewotfQotCi1QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VF
cnJvciYgcmVzb3VyY2VFcnJvcikKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzb3VyY2VFcnJvci5j
ZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHJlc291cmNlRXJyb3IudGxzRXJyb3JzKCkpKQotewotfQotCi1QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotdm9pZCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsKLSAgICAgICAgZW5j
b2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEdCeXRlQXJyYXkq
IGNlcnRpZmljYXRlRGF0YSA9IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKG1fY2VydGlm
aWNhdGUuZ2V0KCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKLSAg
ICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIEdSZWZQdHI8
R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLSAg
ICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAgICBlbmNvZGVy
IDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0KLWJvb2wgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0gICAgYm9v
bCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRl
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhC
eXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVk
X25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBjZXJ0aWZpY2F0ZURh
dGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAg
R1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURh
dGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZh
dWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19U
TFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNh
dGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2VydGlmaWNh
dGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgTlVMTCkpKTsKLQotICAgIHVpbnQzMl90IHRsc0Vycm9y
czsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxz
Q2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4YzIzMWYzNmRiMzJmOGQ4YjQwMjY3YjZkYjQ1YzE0N2Y2MWMwNTUwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKLQotI2lu
Y2x1ZGUgPGxpYnNvdXAvc291cC5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4K
LQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJn
dW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZXNvdXJjZUVy
cm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0K
LWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAgflBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAg
ICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8mKTsKLQotcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9j
ZXJ0aWZpY2F0ZTsKLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCBkYzRlMTE5MTc1N2VjZTE3NWFkNDg1YTdhYTcyMjUy
ZmFmYWU4ODQ2Li43NjE3YjM2ZWI2NDAyOTc4Y2FlMzBjZjQxZTY0NWI1MzAzNjdiZjZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1ZGUgIlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAg
LTY4LDE5ICs2OSw2OSBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogfQogCiAKK3ZvaWQgQXJn
dW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
K3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAgIGVu
Y29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFycmF5
KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEs
IE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7Cisg
ICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0
ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwor
ICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5mby50bHNF
cnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENv
cmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZl
cmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5j
ZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2Vy
dGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmlj
YXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5k
KiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rs
c0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShn
X2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLAorICAgICAgICAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCAw
KSkpOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZS5nZXQo
KSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0
bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2VydGlmaWNhdGVJbmZvLnNl
dFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VF
cnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7Ci0gICAgZW5jb2RlciA8PCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhyZXNvdXJjZUVycm9yKTsKKyAgICBlbmNvZGVyIDw8IHJlc291cmNl
RXJyb3IuY2VydGlmaWNhdGVJbmZvKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJj
ZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVz
b3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZUluZm87CisgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJ
bmZvLmNlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CisgICAgcmVzb3VyY2VFcnJvci5zZXRDZXJ0aWZpY2F0
ZUluZm8oY2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA0
NDYyOWVjZmZkYTYyNTM2ZDg4YWYxY2Y1ODMxNjE5NTY3YWQ5NTE1Li45MDIwMTJmZDIxYzE2NzBj
MDAxOTkxOWRkYzAyZjM4MmFjMjIyNWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1
ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVJdGVtRGF0YS5oIgpAQCAtNTksNiArNTgsNyBAQAogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HdGtVdGlsaXRp
ZXMuaD4KQEAgLTI5ODcsNyArMjk4Nyw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRf
dGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBp
ZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNh
dGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRl
SW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKICAgICBpZiAoY2VydGlmaWNhdGUpCiAgICAgICAg
ICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpOwogICAgIGlmIChl
cnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKaW5k
ZXggOWY2NDg4NWFlODg0ODRkYzc0MTUxNTcyOWY1NTRiOWY1MjZhNWRkNS4uZDU1NzNkYWNhODMy
ZGRlZWU0NjFjZjFiMzExZjIxN2ZjMzI4MDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwoV2ViQ3JlZGVudGlhbCogY3JlZGVudGlh
bCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJ
RCksIDApOwogICAgIGVsc2UgewogICAgICAgICBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmlj
YXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmljYXRlSW5mbygpOwotICAgICAgICBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZp
Y2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkgOiBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpOworICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0g
Y2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSA6IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSht
X2NoYWxsZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGM2ODFiOTAz
ZTQyNWU0NDk2MTg5MTBlMmYzOGEyOTU0Yzk3ZDQyOGIuLjk1ZDNiYzdlOGMyZTNjMmIyYjRmZjkz
YWVhODk3ZmM1NjVkMjFmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAKQEAgLTEwNjcsNyArMTA2Nyw3IEBAIHZvaWQgV2ViQ29udGV4dDo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyoKIHsKICNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIGlmIChtX3VzZXNOZXR3b3JrUHJvY2VzcyAmJiBt
X25ldHdvcmtQcm9jZXNzKSB7Ci0gICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
Y2VydGlmaWNhdGUtPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCksIGhvc3QpLCAwKTsKKyAgICAg
ICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjZXJ0aWZpY2F0ZS0+Y2VydGlmaWNhdGVJ
bmZvKCksIGhvc3QpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbHNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggYTU3MDg3YzFmZDRjOGRh
YzIwMjIzMDdhZDQ1YjZhMTU4OWVhZDJmMy4uYzI5ZTAzNWVlMzc5YjgwMWY1NzQzNjZmMThmNmU1
MWVmMzc0MTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNw
cApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZCgpCiAgICAgbV91bnJlYWNoYWJsZVVSTCA9IG1fbGFzdFVucmVhY2hhYmxlVVJMOwog
fQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
K3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsK
ICAgICBBU1NFUlQobV9sb2FkU3RhdGUgPT0gTG9hZFN0YXRlUHJvdmlzaW9uYWwpOwogICAgIG1f
bG9hZFN0YXRlID0gTG9hZFN0YXRlQ29tbWl0dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmgKaW5kZXggMGJlZTY2NmZmZmQ0YWYyZDExYjVmYzdkYWQyNzQ4YTI2OTZi
NmFkNS4uNDk1ZjM0NjcyMTUxZWU5NjliYzg5Y2VhZDdmNzFiNTE0ZTNkMDRiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCwxMCArNDAsMTQgQEAgbmFt
ZXNwYWNlIENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9CiAKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
CisKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTEwNiw3
ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25z
dCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92
aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZCgpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2Fk
KCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAv
LyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkNDgwNDM0NDY1NjBjY2UwNTY1
N2UyNDZlZTk5MjRiZTg4MDNiYzI0Li5kODcwOWY1YmI3MTQ2NDk1YTZjZTEzMTM5MmMxMDNkOWVh
ZTY0Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAt
MjIwMyw3ICsyMjAzLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENh
bGxiYWNrcygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90
IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQ
YWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBT
dHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIpCiB7CiAgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4
dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLmdl
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAxN2EyZWUz
ZTNhMjM5OGI4NDY0ZjEzN2IyMDA3ZDY3NDZjMTdkMmU3Li5iZjc3OGZmNmExNmI1MGEyY2YxOWQz
ZjQ1NDUzZTcwYTdmZjI4MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGbG9h
dFJlY3Q7CiAgICAgY2xhc3MgR3JhcGhpY3NMYXllcjsKICAgICBjbGFzcyBJbnRTaXplOworICAg
IGNsYXNzIENlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAg
Y2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOwpAQCAt
MTI1LDcgKzEyNiw2IEBAIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRp
dmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VD
bGllbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJW
ZWN0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExp
c3RJdGVtOwpAQCAtNzkxLDcgKzc5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25z
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Cisg
ICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZp
bmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhOTg1MzhiZTEyNDM5Y2U3MjJjZTQ5YzNk
NzU1ODQyNmM0NjdiN2NkLi4xYWZkZjAxMmQ4YTI5N2QxYjQwODVjNTQxZjVhMGZkMGJjMDNmNDY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTExMSw3ICsxMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAg
IERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQg
bWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RG
OjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21taXRMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRU
eXBlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERp
ZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMyMjI4NzA2Y2Jm
ZDNmYjA0ZTQzM2NjZDRmNGQxN2FkNzAwMDFiZjAuLjljMjk2ODU2Njg0MzY2NGMwMGYyOTM3N2Zl
MzI0MzA2NmEyY2ViYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMzIsOCArMTAzMiw2IEBACiAJCUJDRjE4NjM4MTY3RDA3
MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVs
LmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5o
ICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRE
RTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovOyB9OwotCQlC
Q0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVF
ODEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1
OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0
MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBX
ZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQu
Y3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlG
ODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAgLTI0NjIs
OCArMjQ2MCw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyog
TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQx
NjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNjEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8q
IFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3Jr
OyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUg
LyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2
OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQxNDksOCArNDE0NSw2IEBACiAJCQkJQzU3NEE1ODAxMkU2
NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NC
RkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMw
MEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5
NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4
RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTFBRjFBQzZBMTY1
MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICovLAogCQkJCTFB
RjFBQzY5MTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSAq
LywKQEAgLTUxMDksNyArNTEwMyw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8q
IFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAw
QjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkNCMTg5MTdC
QkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIxMjdCOTVEQzAwMzE3RjE2IC8q
IFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NzgwRkMxMTYx
QzJCODAwQ0MyNzY4IC8qIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBNkZCN0QzMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uaCBpbiBIZWFkZXJzICov
LApAQCAtNjI2OSw3ICs2MjYyLDYgQEAKIAkJCQkyRDJBREYxMDE2MzY0RDgyMDAxOTdFNDcgLyog
UERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENDI5QkZE
MTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRleHRBbm5vdGF0
aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdC
OTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE1YWI1YWQ0OTBkZDE2MTY2
ZWUxZTNjYTFhMzQzYzRhNmU0ZGZkYmQuLjI5YzRlMGU2ZmYzYmZhYTg1YjBjNjM3N2FkNWMwY2Rm
NzhlMGYyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMzIsMTAgKzMyLDEwIEBACiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1
ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNp
bmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9h
ZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VFcnJvci5oPgpAQCAtOTksMTQgKzk5LDE0IEBAIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkZXI6OmRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxC
eXRlc1RvQmVTCiAgICAgbV9jb3JlTG9hZGVyLT5kaWRTZW5kRGF0YShieXRlc1NlbnQsIHRvdGFs
Qnl0ZXNUb0JlU2VudCk7CiB9CiAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wg
bmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCit2b2lkIFdlYlJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKIHsKICAg
ICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29y
ZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1
c0NvZGUoKSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3QoKnRoaXMpOwog
CiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwotICAgIHJlc3Bv
bnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNo
YWluKCkpOworICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVJ
bmZvKTsKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkp
OwogCiAgICAgLy8gSWYgbV9jb3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0
aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVu
Y3Rpb24oKS4gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDljOTg2ZjJlNDdlNTIzMTg4ZWE0NWQwYjEzNDljN2Y0
ODBkZWQ1NzIuLjZhZmEzM2NhOWEwYTUwMDY0MDMyZjU3OWZmOTVkMGM4YTI2OWVhMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFByb3RlY3Rpb25T
cGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKQEAgLTUw
LDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNv
dXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5k
ZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVl
c3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50
NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBk
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJl
c3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAg
dm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZvaWQg
ZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggNjc3NTRkZWNmZDMzMmI3OTBkOWUwZDk4MmZj
MzFkNjhhYjA5ODY0YS4uYTFiNTg4YjdmNjYyYmEyNWY5ZjA2YWQ2MzM4ZDcwZThiMDc0ZDNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdl
cyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUgKE5l
dHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJlc3Bv
bnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlKQog
ICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1Rv
QmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNz
YWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50
NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91Ymxl
IGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzY2UzZTA3
OThkYjA5ZDZjMGFiYWE5ZDhkZTljODE5ZmRiOGQzYWZkLi43NTNkNWExOGNjNDBmZWYzMzdkZjll
YzhjMDdhMmM4MmYwYTllMmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApA
QCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5z
aW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUg
IldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2Vz
LmgiCkBAIC01MSw2ICs1MCw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ET01XcmFw
cGVyV29ybGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CkBAIC00NDEs
NyArNDQxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRM
b2FkKCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogCi0gICAgd2ViUGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+
ZnJhbWVJRCgpLCByZXNwb25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9h
ZGVyKCkubG9hZFR5cGUoKSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICB3ZWJQ
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZSht
X2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUtPmNvcmVGcmFt
ZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUluZm8oKSwgSW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CiAKICAgICB3
ZWJQYWdlLT5kaWRDb21taXRMb2FkKG1fZnJhbWUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213870</attachid>
            <date>2013-10-10 04:27:19 -0700</date>
            <delta_ts>2013-10-10 04:29:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010132717.patch</filename>
            <type>text/plain</type>
            <size>102270</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNiYTJjZGRiOTZmMDgy
MmVhMGEyZTJmY2Q4ZmY5NWEyZjhiNjg4MS4uYTU3Y2UwM2MwYzgzNTBiMGM3MTk5MDFlNTMzYmU4
Nzc0ZWIwOGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICByYW5nZU9mQ29udGVudHMoKSBzaG91bGQgdGFrZSBhIE5v
ZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGI0MGUwYTc4YzM0ZThjZDJiNzU4YzRhYmVjMmM3ZTAwMGY2Mjk3
N2QuLjExYmIxYThkZTIxMzQ1YWU1MWQ3MmMzZTA2NjM5NzRmMTMyYWQwYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw4NSBAQAorMjAxMy0xMC0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2Vi
Q29yZSBhbmQgbWFrZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVy
bXMgb2YgdGhhdCBwbGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVz
CisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUg
ZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVy
cworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0
aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgIE9y
aWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dv
bsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4
cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwLAorICAgICAg
ICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYW5kIFBsYXRmb3Jt
RWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcgQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAw
IGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
KQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNl
SGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5n
IFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8gbWFrZSBXaW5kb3dz
IGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0
LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93
cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGluIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciByMTU2NDg4CisgICAg
ICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAgICAgIC0gcmVtb3Zl
IG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBm
b3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBs
aWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVt
b3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNo
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURl
Y29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6
CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBy
b3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0xMC0w
OSAgU2VyZ2lvIENvcnJlaWEgIDxzZXJnaW8uY29ycmVpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFNldCB2aWV3IHRvIGFjdGl2ZSBpbiBWaWV3Q2xpZW50RWZsIGFmdGVyIFdlYlByb2Nlc3Mg
aGFzIHJlbGF1bmNoZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMzODQzNjBj
MGFhOTBlNTc3ZGQyNTczODFiNDdjNGVjOWJkMDczNzAuLjY2OWI5ZWYyY2MzZjBmZjg0N2RjYmVi
MThiOTQ0YjgxZmZkMDZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQx
Nyw2ICs1NDE3LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ1MSw2ICs1NDUyLDcgQEAgd2Vi
Y29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9T
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYzk4YjdhM2Iy
NDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIyNmNlMGE5MTUxZGQw
MDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0OCw2ICsx
NDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3Jh
Z2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQ3ODNiZWUzNzMzNzBkY2NiMjIxZGRmOWM0
MzQ0YjIwZjNiMWEyOTQuLjk4NWI1OTUzYjM5NTU0YWMwMjgyZmVlZmJmZjQxY2MwMmZhNzU0MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9fWk43V2ViQ29yZTIz
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1
dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQzFFUktOU18x
NVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291cmNlUmVzcG9u
c2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3Bl
cnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29yZTIzTXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mbzE5c2V0
Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJ
bmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKK19f
Wk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTE1Q2VydGlmaWNh
dGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2RhdGFG
b3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDM4MzI0YTViZDYxNmNlY2I2OTFkMjg0ODY0
NWVkZDI4ZDk3NjFhYzYuLjFmY2JhZDRhYjFlNGRlZWZmNTgzZjllYWY1MGRiZGUxNmZjMjA1Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0aWZpY2F0ZUluZm9D
Rk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFyQ0ZOZXQuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MDU4LDYgKzE5MDY0LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5kbGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlN0b3JhZ2VEYXRh
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCBhYWIyZDk2NDFhMjU0ZTZlNzU2M2RmMDQ3YzI0YTJmYTNjNGNmZWQ1Li5mODRhZDkyNjk3OTBm
MGU3YThiOGE4NDI1YmEyYTc4ZTIyMjkxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04NTQxLDYgKzg1
NDEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9i
U3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjMxMTMxOGUzZGRhYWI5
MGU0OGNkNzA2YTE4NGU0MmUwZDRkNjY2Li40M2JkNjdlODc5NWVmYmIyZDU0NzM2NzIyZWRmMmNl
NjVhYzQ0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDcgKzE4NjcsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAw
NTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFE
NyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJC
RTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRD
OEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0NDIsNyArODQ0
NSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYg
LyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdv
cms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3Vy
aXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQw
NDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
MjYsNiArMTMyMzIsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIx
NzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBA
IC0xMzU2MSw2ICsxMzU2OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJL
aXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFE
MjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdB
RjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcw
MDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3
RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAzNiw2ICsxNTA0NCw3IEBACiAJ
CQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAgKi8s
CiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oICov
LAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
KwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLywKIAkJCQk1
MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTE0Qzc2
NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1MDk2LDYgKzE1MTA1
LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
Q2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAv
KiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENv
b2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1NTAsNiArMjM1NjAsNyBAQAogCQkJCTBG
MTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FM
YXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJE
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMx
NTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc2ODgsNiArMjc2OTksNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2Ft
cGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyog
UmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzk5MzBlODc2MWRi
OTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Cisj
ZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVkZSA8d3RmL2dvYmpl
Y3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5mbygpOworCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVD
aGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25z
dDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2Vs
aWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVy
biBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3By
aXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRp
ZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRo
ZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0
ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Cisj
ZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0
ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi5mZmRjYWI2
MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJh
c2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0
ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lz
VGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8o
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKSB7IG1fY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1f
aXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdl
YjMuLjA3NDIxMjYxOGUxZTAwYTQ3NWYwYzM0MDljYTYzNzVlNjA0Y2ZmOTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKICNk
ZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEz
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgQ2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIENlcnRpZmljYXRlSW5mbykg
eyBtX2NlcnRpZmljYXRlSW5mbyA9IENlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJl
c291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3Zp
ZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWdu
ZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25S
ZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2Fk
VGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIAogICAgIGJv
b2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5l
dC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDZXJ0
aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRl
SW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMTNh
NTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEwZTk0NjIxZjFkNGM2
OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywxMCArMTE3LDYgQEAg
cHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxS
ZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0Uo
Q0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2Yg
TlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBk
ZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIEluaXRMZXZlbCBtX2lu
aXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGU7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIxM2Q3NDI3YmY3OGU5
YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZv
KCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVD
aGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
Q2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWlu
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisj
aWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAg
IHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQo
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIkNlcnRpZmljYXRl
SW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5YTAyZDE2MjFlODNm
MTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNiYmU4OWE2NGMwMDRk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291
cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBj
b25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWlu
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwotICAgIG1fZXh0ZXJu
YWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBtX2NlcnRpZmljYXRl
SW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9jZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1Nv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2ZThmOGYwNWI2MTY2
MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRl
SW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlm
aWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXgg
MWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTEwYzZjYjg3YTNlYzJm
NmQ0MmNkNWMzZmQyNzE0MTRjODlhNGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgog
ICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNv
bnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGlu
Z1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMo
MCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwog
ICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2Uq
KTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25l
ZCB0bHNFcnJvcnMpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZp
Y2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsg
fQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImKSBjb25z
dDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYg
YSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBtX3Rsc0Vycm9yczsK
LSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRjYTc5OWY3Mzc2YWRj
ZGRjNTIuLjFiODljZTJjMWNhOTFkYTc0MzA5NWUyYzY1MTAxYjJhMTYzNjJiZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAgUmVzb3VyY2VFcnJv
ciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKQog
CiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJvckNv
cHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2NlcnRpZmljYXRl
OwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOworICAgIGVycm9yQ29w
eS5zZXRDZXJ0aWZpY2F0ZUluZm8obV9jZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291
cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2JjN2Y3NzIzYTY2
MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3YzhhM2UwM2FlNmZm
MzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVibGljOgogICAgIFJl
c291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5n
JiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5j
b2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVz
cG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9u
c2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZs
YWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNh
dGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1l
c3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50
VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFs
dWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmlj
YXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAg
IEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJv
cnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJy
b3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNV
cFRvRGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDggKzc3LDYgQEAgcHJp
dmF0ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1f
c25pZmZlZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRp
ZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9p
ZCBkb1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAKaW5kZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMC4uOThkMThj
ZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0
b1NvdXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1l
c3NhZ2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVz
c2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgpLCAidGxzLWVycm9y
cyIsIG1fdGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1l
c3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSwgInRscy1lcnJvcnMiLCBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAK
ICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3Vw
TWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRl
RnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFn
cyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmlj
YXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJl
c3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMTlm
ZDU5NDI1OGIyNzgzMDMwNTdhZTBlNzBkMWI2YTg4NzJiYzJjZS4uYzAwYTQwM2Q1MjIyYjUwNDAz
ODllZTY3MmQ3OGE1MTU5ZjI5ZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC00NzksOCArNDc5LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5
cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
U291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApA
QCAtMTM0Nyw4ICsxMzQ1LDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0
OGQwM2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQ5NmQwNzVlZGUxMjhmYmZkOTliNDE2MDkxODdhYTY0
MGYxMzJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCAr
MjgsMTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWls
dXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Up
LCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJv
cnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291
cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCAwMTI4MTc0YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwLi5kNmYwZTBk
ZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVu
TG9vcDsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3du
bG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0
IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50
MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAy
ODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li4zMmJjZTA1YjhjYjUwZTBlNjIwN2E5YThhYzBk
YzE3MDI0YzQ0NTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHBy
ZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NWU4YmJhMWU0NTM1MWRjZDEy
NWYzMDdhOWQ4ZDg1MDM5ZTBkNjIwLi41NmEyODgwZTI1MTJmZjUxZmYzYzAyMDA1MmQyMTYzZjlm
MjNmZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdhOTU2MmQzNWFiNTNk
MmM0NDUzNWNjMDJlLi5mNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0YjFkM2U3NDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nl
c3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQ
cm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNl
Q2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAi
U2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0
aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2lu
Zm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVuc2lnbmVkIGxvbmc+
KHVybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKV07IC8vIERv
bid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJu
LgogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Y29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDg4MDUwYzE5ODNhNjViZjU3YjQ5ZGM5YmM5NzdjZmZjNWRmNzUxOWIu
LjkzZGI1YWVjODYxYTQxMGUyMTA2OTQyMDgyODFhYWQ3YTk4NzM3YzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC00Miw3ICs0Miw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xs
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2IxMzU4
ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2ZiYTM0OTI4NjYxMzA2
YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vz
cy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5
YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5kMzE1MjQzZjFjODEwNDNkMGJmNjlkMTNl
MjBlZjc3NTM2MjFlMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDExICszMywxMSBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVs
ZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0aWZpY2F0ZUluZm9HZXRD
ZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikK
IHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOworICAgIHJldHVybiB0b0ltcGwoY2VydGlm
aWNhdGVJbmZvUmVmKS0+Q2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCA3ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFk
MmNmMGZjZTkxYjNmYjc4Li5lMmY0NTMyMjljYjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApAQCAtOTgsMjAgKzk4LDIwIEBAIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRv
IHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGlu
Zm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFNRVdPUkspCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZv
Rm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29u
c3QgQ2VydGlmaWNhdGVJbmZvJikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAjZW5kaWYKIAot
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxlbmdlcy50YWtlKGNoYWxs
ZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7CiAgICAgCi0gICAgaWYg
KHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2Vy
dGlmaWNhdGVJbmZvKSkKKyAgICBpZiAodHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0
aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4uZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5
NzY1MDQ3NGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9h
ZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwg
cHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRv
d25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRp
YWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAg
IHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5
LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAg
ICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2
Yzk2MWRkLi4zNGRiOWIyMDhiZjFmZDE3M2Q4MWE0NmM3NmY4Zjg2NDZkZjNkNWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAg
ICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdl
YkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lk
IENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3
ZmUzNDFlNzY5YzI3NjAxMy4uOGI2ZDcxMzQ5NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsMTUg
KzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKQorYm9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxl
bmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBDRkFy
cmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKICAgICBp
ZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRl
eCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi5kOWIxNDA5ZDg2Zjgx
MjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcgKzIxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewogICAgICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBzdGF0aWNfY2FzdDxXZWJD
ZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwotICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0aWZp
Y2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgICAgICBlbmNvZGVy
IDw8IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7
CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAg
ICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworICAgICAg
ICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNh
dGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJ
T2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li5j
OGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUxZDU0NjVjNzYzOTUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZp
bmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0
PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAg
ICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykK
LSAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCisgICAgZXhwbGljaXQg
V2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykK
KyAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThl
Li5iYTU3ZDFkYThkYzU4MjEwMDFiY2E0NjQzZjFkNGVhOGE4YWVhMzRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Ny
ZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtMzksMTMgKzQwLDEz
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVk
ZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjMgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29k
ZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rlciwg
Y2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJp
YWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IGE5NjVkZTg1NTIyN2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNk
ODAuLjc3MzM2MTYyNzNiOGVjODRlMThkMzE2YTQzNGFiZGQ2MWE0ODM3NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAg
IGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJv
b2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNj
Y2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAg
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25z
ZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8
PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykK
LXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICgh
Q29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25l
ZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4
ZjZlNDUuLjkwMjY2MDlmZjhmZjM2MTkzOWM0MTMxMTMwMmUzZmU0YjhjN2UxZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2Vy
dGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBD
b3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxD
RkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRl
Y29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgp
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3Ry
aW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+
KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpAQCAt
MTY4LDcgKzIwMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwKIAogICAgIGlkIHBlZXJDZXJ0
aWZpY2F0ZUNoYWluID0gW3VzZXJJbmZvIG9iamVjdEZvcktleTpAIk5TRXJyb3JQZWVyQ2VydGlm
aWNhdGVDaGFpbktleSJdOwogICAgIEFTU0VSVCghcGVlckNlcnRpZmljYXRlQ2hhaW4gfHwgW3Bl
ZXJDZXJ0aWZpY2F0ZUNoYWluIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSk7Ci0gICAg
ZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlm
aWNhdGVDaGFpbik7CisgICAgZW5jb2RlciA8PCBDZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYp
cGVlckNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VF
cnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC0xOTQsNyArMjI2LDcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RyaW5nVXNlckluZm9NYXApKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZTsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShjZXJ0aWZpY2F0ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRk
NWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291
cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1l
c3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0g
ICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9y
LnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAg
aWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwot
ICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmlj
YXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRl
ID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJs
ZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRh
LCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJf
dD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVu
ZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5k
KiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRl
SW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFi
bGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCks
IE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJ
bmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vy
cm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2
N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
LSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwot
Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Vy
dGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6
Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
LQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5k
ZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uNzYxN2IzNmViNjQw
Mjk3OGNhZTMwY2Y0MWU2NDViNTMwMzY3YmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCwxOSArNjksNjkgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJ
bmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
KyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkp
LCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRp
ZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVu
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlm
aWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tl
bmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRp
ZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxz
RXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJj
ZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3Vy
Y2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlSW5mbygp
OwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJy
b3IpCiB7Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAg
IENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJj
ZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAg
ICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkp
OworICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNm
NTgzMTYxOTU2N2FkOTUxNS4uOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMwMmYzODJhYzIyMjVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAK
ICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAg
LTU5LDYgKzU4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1
ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0
ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcs
NyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAg
IHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1
MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmQ1NTczZGFjYTgzMmRkZWVlNDYxY2YxYjMxMWYyMTdmYzMy
ODA2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAK
QEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAg
ICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRp
ZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlh
bC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBjNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1
NGM5N2Q0MjhiLi45NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1ZDIxZmEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBA
QCB2b2lkIFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
ICAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAg
ICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQy
ZjMuLmMyOWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2
b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFj
aGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRl
ID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNv
bW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBi
ZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjQ5NWYzNDY3MjE1MWVlOTY5
YmM4OWNlYWQ3ZjcxYjUxNGUzZDA0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBj
bGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJh
eTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRG
aW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9u
LCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZDQ4MDQzNDQ2NTYwY2NlMDU2NTdlMjQ2ZWU5OTI0YmU4ODAzYmMyNC4u
ZDg3MDlmNWJiNzE0NjQ5NWE2Y2UxMzEzOTJjMTAzZDllYWU2NDI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIyMDMsNyArMjIwMyw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAot
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMy
X3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxB
UElPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVz
c2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMTdhMmVlM2UzYTIzOThiODQ2NGYxMzdiMjAwN2Q2
NzQ2YzE3ZDJlNy4uYmY3NzhmZjZhMTZiNTBhMmNmMTlkM2Y0NTQ1M2U3MGE3ZmYyODA4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAg
ICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3ICsxMjYsNiBAQCBjbGFzcyBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNz
IE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0Zv
cndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc5MSw3ICs3OTEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNo
YWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90
IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYTk4NTM4YmUxMjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZC4uMWFmZGYw
MTJkOGEyOTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMjIyODcwNmNiZmQzZmIwNGU0MzNjY2Q0ZjRkMTdhZDcw
MDAxYmYwLi45YzI5Njg1NjY4NDM2NjRjMDBmMjkzNzdmZTMyNDMwNjZhMmNlYmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDMyLDggKzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Yx
ODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIz
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhG
QTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyog
V2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFF
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87
IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBX
ZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYyLDggKzI0NjAsNiBAQAogCQlCQ0YxODYz
NzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJD
b250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
b250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVF
NTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
MTQ5LDggKzQxNDUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFBy
aW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0Yg
LyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTA5LDcgKzUxMDMsNiBA
QAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyNjksNyArNjI2Miw2IEBA
CiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERG
UGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJE
RDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAw
REIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkwZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJk
Li4yOWM0ZTBlNmZmM2JmYWE4NWIwYzYzNzdhZDVjMGNkZjc4ZTBmMmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
QEAgLTk5LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1
aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxv
YWRlci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdl
YlJlc291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVD
aGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNv
cHkuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxv
YWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBj
YWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5YzdmNDgwZGVkNTcyLi42YWZhMzNjYTlhMGE1
MDA2NDAzMmY1NzlmZjk1ZDBjOGEyNjllYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1
ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
OwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYs
IGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VM
b2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CmluZGV4IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4YWIwOTg2NGEuLmExYjU4OGI3
ZjY2MmJhMjVmOWYwNmFkNjMzOGQ3MGU4YjA3NGQzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIg
TGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5l
ZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxs
U2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0
YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgp
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZh
aWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5Yzgx
OWZkYjhkM2FmZC4uNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJmMGE5ZTJjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTEsNiArNTAsNyBAQAog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0No
cm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkg
dGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWlt
ZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNw
b25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUo
KSwgcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZCht
X2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213871</attachid>
            <date>2013-10-10 04:29:45 -0700</date>
            <delta_ts>2013-10-10 04:39:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010132942.patch</filename>
            <type>text/plain</type>
            <size>102270</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNiYTJjZGRiOTZmMDgy
MmVhMGEyZTJmY2Q4ZmY5NWEyZjhiNjg4MS4uYTU3Y2UwM2MwYzgzNTBiMGM3MTk5MDFlNTMzYmU4
Nzc0ZWIwOGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICByYW5nZU9mQ29udGVudHMoKSBzaG91bGQgdGFrZSBhIE5v
ZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGI0MGUwYTc4YzM0ZThjZDJiNzU4YzRhYmVjMmM3ZTAwMGY2Mjk3
N2QuLjExYmIxYThkZTIxMzQ1YWU1MWQ3MmMzZTA2NjM5NzRmMTMyYWQwYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw4NSBAQAorMjAxMy0xMC0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2Vi
Q29yZSBhbmQgbWFrZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVy
bXMgb2YgdGhhdCBwbGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVz
CisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUg
ZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVy
cworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0
aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgIE9y
aWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dv
bsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4
cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwLAorICAgICAg
ICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYW5kIFBsYXRmb3Jt
RWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcgQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAw
IGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
KQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNl
SGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5n
IFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8gbWFrZSBXaW5kb3dz
IGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0
LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93
cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGluIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciByMTU2NDg4CisgICAg
ICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAgICAgIC0gcmVtb3Zl
IG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBm
b3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBs
aWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVt
b3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNo
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURl
Y29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6
CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBy
b3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0xMC0w
OSAgU2VyZ2lvIENvcnJlaWEgIDxzZXJnaW8uY29ycmVpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFNldCB2aWV3IHRvIGFjdGl2ZSBpbiBWaWV3Q2xpZW50RWZsIGFmdGVyIFdlYlByb2Nlc3Mg
aGFzIHJlbGF1bmNoZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMzODQzNjBj
MGFhOTBlNTc3ZGQyNTczODFiNDdjNGVjOWJkMDczNzAuLjY2OWI5ZWYyY2MzZjBmZjg0N2RjYmVi
MThiOTQ0YjgxZmZkMDZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQx
Nyw2ICs1NDE3LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ1MSw2ICs1NDUyLDcgQEAgd2Vi
Y29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9T
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYzk4YjdhM2Iy
NDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIyNmNlMGE5MTUxZGQw
MDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0OCw2ICsx
NDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3Jh
Z2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQ3ODNiZWUzNzMzNzBkY2NiMjIxZGRmOWM0
MzQ0YjIwZjNiMWEyOTQuLjk4NWI1OTUzYjM5NTU0YWMwMjgyZmVlZmJmZjQxY2MwMmZhNzU0MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9fWk43V2ViQ29yZTIz
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1
dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQzFFUktOU18x
NVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291cmNlUmVzcG9u
c2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3Bl
cnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29yZTIzTXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mbzE5c2V0
Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJ
bmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKK19f
Wk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTE1Q2VydGlmaWNh
dGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2RhdGFG
b3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDM4MzI0YTViZDYxNmNlY2I2OTFkMjg0ODY0
NWVkZDI4ZDk3NjFhYzYuLjFmY2JhZDRhYjFlNGRlZWZmNTgzZjllYWY1MGRiZGUxNmZjMjA1Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0aWZpY2F0ZUluZm9D
Rk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFyQ0ZOZXQuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MDU4LDYgKzE5MDY0LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5kbGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlN0b3JhZ2VEYXRh
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCBhYWIyZDk2NDFhMjU0ZTZlNzU2M2RmMDQ3YzI0YTJmYTNjNGNmZWQ1Li5mODRhZDkyNjk3OTBm
MGU3YThiOGE4NDI1YmEyYTc4ZTIyMjkxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04NTQxLDYgKzg1
NDEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9i
U3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjMxMTMxOGUzZGRhYWI5
MGU0OGNkNzA2YTE4NGU0MmUwZDRkNjY2Li40M2JkNjdlODc5NWVmYmIyZDU0NzM2NzIyZWRmMmNl
NjVhYzQ0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDcgKzE4NjcsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAw
NTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFE
NyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJC
RTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRD
OEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0NDIsNyArODQ0
NSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYg
LyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdv
cms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3Vy
aXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQw
NDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
MjYsNiArMTMyMzIsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIx
NzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBA
IC0xMzU2MSw2ICsxMzU2OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJL
aXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFE
MjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdB
RjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcw
MDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3
RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAzNiw2ICsxNTA0NCw3IEBACiAJ
CQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAgKi8s
CiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oICov
LAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
KwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLywKIAkJCQk1
MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTE0Qzc2
NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1MDk2LDYgKzE1MTA1
LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
Q2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAv
KiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENv
b2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1NTAsNiArMjM1NjAsNyBAQAogCQkJCTBG
MTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FM
YXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJE
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMx
NTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc2ODgsNiArMjc2OTksNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2Ft
cGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyog
UmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzk5MzBlODc2MWRi
OTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Cisj
ZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVkZSA8d3RmL2dvYmpl
Y3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5mbygpOworCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVD
aGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25z
dDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2Vs
aWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVy
biBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3By
aXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRp
ZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRo
ZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0
ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Cisj
ZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0
ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi5mZmRjYWI2
MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJh
c2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0
ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lz
VGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8o
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKSB7IG1fY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1f
aXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdl
YjMuLjc3YzMwMTcwNmE5ZWQwMzliYjI5Zjk1OGJkZGY2MjlmZGUxOWJjNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKICNk
ZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEz
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgQ2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykg
eyBtX2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJl
c291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3Zp
ZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWdu
ZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25S
ZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2Fk
VGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIAogICAgIGJv
b2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5l
dC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDZXJ0
aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRl
SW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMTNh
NTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEwZTk0NjIxZjFkNGM2
OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywxMCArMTE3LDYgQEAg
cHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxS
ZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0Uo
Q0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2Yg
TlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBk
ZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIEluaXRMZXZlbCBtX2lu
aXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGU7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIxM2Q3NDI3YmY3OGU5
YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZv
KCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVD
aGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
Q2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWlu
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisj
aWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAg
IHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQo
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIkNlcnRpZmljYXRl
SW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5YTAyZDE2MjFlODNm
MTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNiYmU4OWE2NGMwMDRk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291
cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBj
b25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWlu
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwotICAgIG1fZXh0ZXJu
YWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBtX2NlcnRpZmljYXRl
SW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9jZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1Nv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2ZThmOGYwNWI2MTY2
MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRl
SW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlm
aWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXgg
MWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTEwYzZjYjg3YTNlYzJm
NmQ0MmNkNWMzZmQyNzE0MTRjODlhNGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgog
ICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNv
bnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGlu
Z1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMo
MCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwog
ICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2Uq
KTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25l
ZCB0bHNFcnJvcnMpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZp
Y2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsg
fQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImKSBjb25z
dDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYg
YSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBtX3Rsc0Vycm9yczsK
LSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRjYTc5OWY3Mzc2YWRj
ZGRjNTIuLjFiODljZTJjMWNhOTFkYTc0MzA5NWUyYzY1MTAxYjJhMTYzNjJiZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAgUmVzb3VyY2VFcnJv
ciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKQog
CiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJvckNv
cHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2NlcnRpZmljYXRl
OwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOworICAgIGVycm9yQ29w
eS5zZXRDZXJ0aWZpY2F0ZUluZm8obV9jZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291
cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2JjN2Y3NzIzYTY2
MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3YzhhM2UwM2FlNmZm
MzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVibGljOgogICAgIFJl
c291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5n
JiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5j
b2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVz
cG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9u
c2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZs
YWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNh
dGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1l
c3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50
VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFs
dWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmlj
YXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAg
IEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJv
cnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJy
b3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNV
cFRvRGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDggKzc3LDYgQEAgcHJp
dmF0ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1f
c25pZmZlZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRp
ZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9p
ZCBkb1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAKaW5kZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMC4uOThkMThj
ZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0
b1NvdXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1l
c3NhZ2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVz
c2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgpLCAidGxzLWVycm9y
cyIsIG1fdGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1l
c3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSwgInRscy1lcnJvcnMiLCBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAK
ICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3Vw
TWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRl
RnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFn
cyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmlj
YXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJl
c3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMTlm
ZDU5NDI1OGIyNzgzMDMwNTdhZTBlNzBkMWI2YTg4NzJiYzJjZS4uYzAwYTQwM2Q1MjIyYjUwNDAz
ODllZTY3MmQ3OGE1MTU5ZjI5ZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC00NzksOCArNDc5LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5
cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
U291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApA
QCAtMTM0Nyw4ICsxMzQ1LDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0
OGQwM2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQ5NmQwNzVlZGUxMjhmYmZkOTliNDE2MDkxODdhYTY0
MGYxMzJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCAr
MjgsMTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWls
dXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Up
LCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJv
cnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291
cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCAwMTI4MTc0YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwLi5kNmYwZTBk
ZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVu
TG9vcDsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3du
bG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0
IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50
MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAy
ODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li4zMmJjZTA1YjhjYjUwZTBlNjIwN2E5YThhYzBk
YzE3MDI0YzQ0NTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHBy
ZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NWU4YmJhMWU0NTM1MWRjZDEy
NWYzMDdhOWQ4ZDg1MDM5ZTBkNjIwLi41NmEyODgwZTI1MTJmZjUxZmYzYzAyMDA1MmQyMTYzZjlm
MjNmZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdhOTU2MmQzNWFiNTNk
MmM0NDUzNWNjMDJlLi5mNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0YjFkM2U3NDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nl
c3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQ
cm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNl
Q2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAi
U2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0
aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2lu
Zm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVuc2lnbmVkIGxvbmc+
KHVybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKV07IC8vIERv
bid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJu
LgogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Y29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDg4MDUwYzE5ODNhNjViZjU3YjQ5ZGM5YmM5NzdjZmZjNWRmNzUxOWIu
LjkzZGI1YWVjODYxYTQxMGUyMTA2OTQyMDgyODFhYWQ3YTk4NzM3YzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC00Miw3ICs0Miw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xs
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2IxMzU4
ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2ZiYTM0OTI4NjYxMzA2
YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vz
cy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5
YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5kMzE1MjQzZjFjODEwNDNkMGJmNjlkMTNl
MjBlZjc3NTM2MjFlMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDExICszMywxMSBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVs
ZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0aWZpY2F0ZUluZm9HZXRD
ZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikK
IHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOworICAgIHJldHVybiB0b0ltcGwoY2VydGlm
aWNhdGVJbmZvUmVmKS0+Q2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCA3ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFk
MmNmMGZjZTkxYjNmYjc4Li5lMmY0NTMyMjljYjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApAQCAtOTgsMjAgKzk4LDIwIEBAIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRv
IHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGlu
Zm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFNRVdPUkspCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZv
Rm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29u
c3QgQ2VydGlmaWNhdGVJbmZvJikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAjZW5kaWYKIAot
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxlbmdlcy50YWtlKGNoYWxs
ZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7CiAgICAgCi0gICAgaWYg
KHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2Vy
dGlmaWNhdGVJbmZvKSkKKyAgICBpZiAodHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0
aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4uZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5
NzY1MDQ3NGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9h
ZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwg
cHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRv
d25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRp
YWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAg
IHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5
LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAg
ICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2
Yzk2MWRkLi4zNGRiOWIyMDhiZjFmZDE3M2Q4MWE0NmM3NmY4Zjg2NDZkZjNkNWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAg
ICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdl
YkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lk
IENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3
ZmUzNDFlNzY5YzI3NjAxMy4uOGI2ZDcxMzQ5NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsMTUg
KzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKQorYm9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxl
bmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBDRkFy
cmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKICAgICBp
ZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRl
eCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi5kOWIxNDA5ZDg2Zjgx
MjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcgKzIxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewogICAgICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBzdGF0aWNfY2FzdDxXZWJD
ZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwotICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0aWZp
Y2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgICAgICBlbmNvZGVy
IDw8IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7
CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAg
ICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworICAgICAg
ICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNh
dGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJ
T2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li5j
OGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUxZDU0NjVjNzYzOTUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZp
bmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0
PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAg
ICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykK
LSAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCisgICAgZXhwbGljaXQg
V2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykK
KyAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThl
Li5iYTU3ZDFkYThkYzU4MjEwMDFiY2E0NjQzZjFkNGVhOGE4YWVhMzRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Ny
ZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtMzksMTMgKzQwLDEz
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVk
ZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjMgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29k
ZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rlciwg
Y2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJp
YWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IGE5NjVkZTg1NTIyN2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNk
ODAuLjc3MzM2MTYyNzNiOGVjODRlMThkMzE2YTQzNGFiZGQ2MWE0ODM3NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAg
IGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJv
b2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNj
Y2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAg
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25z
ZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8
PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykK
LXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICgh
Q29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25l
ZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4
ZjZlNDUuLjkwMjY2MDlmZjhmZjM2MTkzOWM0MTMxMTMwMmUzZmU0YjhjN2UxZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2Vy
dGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBD
b3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxD
RkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRl
Y29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgp
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3Ry
aW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+
KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpAQCAt
MTY4LDcgKzIwMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwKIAogICAgIGlkIHBlZXJDZXJ0
aWZpY2F0ZUNoYWluID0gW3VzZXJJbmZvIG9iamVjdEZvcktleTpAIk5TRXJyb3JQZWVyQ2VydGlm
aWNhdGVDaGFpbktleSJdOwogICAgIEFTU0VSVCghcGVlckNlcnRpZmljYXRlQ2hhaW4gfHwgW3Bl
ZXJDZXJ0aWZpY2F0ZUNoYWluIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSk7Ci0gICAg
ZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlm
aWNhdGVDaGFpbik7CisgICAgZW5jb2RlciA8PCBDZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYp
cGVlckNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VF
cnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC0xOTQsNyArMjI2LDcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RyaW5nVXNlckluZm9NYXApKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZTsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShjZXJ0aWZpY2F0ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRk
NWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291
cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1l
c3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0g
ICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9y
LnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAg
aWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwot
ICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmlj
YXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRl
ID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJs
ZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRh
LCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJf
dD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVu
ZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5k
KiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRl
SW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFi
bGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCks
IE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJ
bmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vy
cm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2
N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
LSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwot
Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Vy
dGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6
Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
LQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5k
ZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uNzYxN2IzNmViNjQw
Mjk3OGNhZTMwY2Y0MWU2NDViNTMwMzY3YmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCwxOSArNjksNjkgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJ
bmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
KyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkp
LCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRp
ZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVu
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlm
aWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tl
bmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRp
ZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxz
RXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJj
ZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3Vy
Y2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlSW5mbygp
OwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJy
b3IpCiB7Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAg
IENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJj
ZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAg
ICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkp
OworICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNm
NTgzMTYxOTU2N2FkOTUxNS4uOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMwMmYzODJhYzIyMjVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAK
ICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAg
LTU5LDYgKzU4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1
ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0
ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcs
NyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAg
IHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1
MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmQ1NTczZGFjYTgzMmRkZWVlNDYxY2YxYjMxMWYyMTdmYzMy
ODA2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAK
QEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAg
ICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRp
ZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlh
bC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBjNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1
NGM5N2Q0MjhiLi45NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1ZDIxZmEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBA
QCB2b2lkIFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
ICAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAg
ICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQy
ZjMuLmMyOWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2
b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFj
aGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRl
ID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNv
bW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBi
ZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjQ5NWYzNDY3MjE1MWVlOTY5
YmM4OWNlYWQ3ZjcxYjUxNGUzZDA0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBj
bGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJh
eTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRG
aW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9u
LCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZDQ4MDQzNDQ2NTYwY2NlMDU2NTdlMjQ2ZWU5OTI0YmU4ODAzYmMyNC4u
ZDg3MDlmNWJiNzE0NjQ5NWE2Y2UxMzEzOTJjMTAzZDllYWU2NDI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIyMDMsNyArMjIwMyw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAot
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMy
X3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxB
UElPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVz
c2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMTdhMmVlM2UzYTIzOThiODQ2NGYxMzdiMjAwN2Q2
NzQ2YzE3ZDJlNy4uYmY3NzhmZjZhMTZiNTBhMmNmMTlkM2Y0NTQ1M2U3MGE3ZmYyODA4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAg
ICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3ICsxMjYsNiBAQCBjbGFzcyBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNz
IE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0Zv
cndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc5MSw3ICs3OTEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNo
YWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90
IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYTk4NTM4YmUxMjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZC4uMWFmZGYw
MTJkOGEyOTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMjIyODcwNmNiZmQzZmIwNGU0MzNjY2Q0ZjRkMTdhZDcw
MDAxYmYwLi45YzI5Njg1NjY4NDM2NjRjMDBmMjkzNzdmZTMyNDMwNjZhMmNlYmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDMyLDggKzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Yx
ODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIz
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhG
QTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyog
V2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFF
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87
IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBX
ZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYyLDggKzI0NjAsNiBAQAogCQlCQ0YxODYz
NzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJD
b250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
b250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVF
NTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
MTQ5LDggKzQxNDUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFBy
aW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0Yg
LyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTA5LDcgKzUxMDMsNiBA
QAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyNjksNyArNjI2Miw2IEBA
CiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERG
UGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJE
RDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAw
REIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkwZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJk
Li4yOWM0ZTBlNmZmM2JmYWE4NWIwYzYzNzdhZDVjMGNkZjc4ZTBmMmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
QEAgLTk5LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1
aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxv
YWRlci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdl
YlJlc291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVD
aGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNv
cHkuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxv
YWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBj
YWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5YzdmNDgwZGVkNTcyLi42YWZhMzNjYTlhMGE1
MDA2NDAzMmY1NzlmZjk1ZDBjOGEyNjllYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1
ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
OwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYs
IGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VM
b2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CmluZGV4IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4YWIwOTg2NGEuLmExYjU4OGI3
ZjY2MmJhMjVmOWYwNmFkNjMzOGQ3MGU4YjA3NGQzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIg
TGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5l
ZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxs
U2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0
YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgp
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZh
aWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5Yzgx
OWZkYjhkM2FmZC4uNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJmMGE5ZTJjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTEsNiArNTAsNyBAQAog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0No
cm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkg
dGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWlt
ZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNw
b25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUo
KSwgcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZCht
X2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213872</attachid>
            <date>2013-10-10 04:39:38 -0700</date>
            <delta_ts>2013-10-10 05:30:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010133935.patch</filename>
            <type>text/plain</type>
            <size>102270</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNiYTJjZGRiOTZmMDgy
MmVhMGEyZTJmY2Q4ZmY5NWEyZjhiNjg4MS4uYTU3Y2UwM2MwYzgzNTBiMGM3MTk5MDFlNTMzYmU4
Nzc0ZWIwOGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICByYW5nZU9mQ29udGVudHMoKSBzaG91bGQgdGFrZSBhIE5v
ZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGI0MGUwYTc4YzM0ZThjZDJiNzU4YzRhYmVjMmM3ZTAwMGY2Mjk3
N2QuLjExYmIxYThkZTIxMzQ1YWU1MWQ3MmMzZTA2NjM5NzRmMTMyYWQwYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw4NSBAQAorMjAxMy0xMC0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2Vi
Q29yZSBhbmQgbWFrZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVy
bXMgb2YgdGhhdCBwbGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVz
CisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUg
ZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVy
cworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0
aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgIE9y
aWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dv
bsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4
cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwLAorICAgICAg
ICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYW5kIFBsYXRmb3Jt
RWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcgQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAw
IGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
KQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNl
SGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5n
IFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8gbWFrZSBXaW5kb3dz
IGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0
LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93
cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGluIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciByMTU2NDg4CisgICAg
ICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAgICAgIC0gcmVtb3Zl
IG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBm
b3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBs
aWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVt
b3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNo
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURl
Y29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6
CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBy
b3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0xMC0w
OSAgU2VyZ2lvIENvcnJlaWEgIDxzZXJnaW8uY29ycmVpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFNldCB2aWV3IHRvIGFjdGl2ZSBpbiBWaWV3Q2xpZW50RWZsIGFmdGVyIFdlYlByb2Nlc3Mg
aGFzIHJlbGF1bmNoZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMzODQzNjBj
MGFhOTBlNTc3ZGQyNTczODFiNDdjNGVjOWJkMDczNzAuLjY2OWI5ZWYyY2MzZjBmZjg0N2RjYmVi
MThiOTQ0YjgxZmZkMDZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQx
Nyw2ICs1NDE3LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ1MSw2ICs1NDUyLDcgQEAgd2Vi
Y29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9T
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYzk4YjdhM2Iy
NDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIyNmNlMGE5MTUxZGQw
MDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0OCw2ICsx
NDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3Jh
Z2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQ3ODNiZWUzNzMzNzBkY2NiMjIxZGRmOWM0
MzQ0YjIwZjNiMWEyOTQuLjk4NWI1OTUzYjM5NTU0YWMwMjgyZmVlZmJmZjQxY2MwMmZhNzU0MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9fWk43V2ViQ29yZTIz
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1
dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQzFFUktOU18x
NVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291cmNlUmVzcG9u
c2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3Bl
cnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29yZTIzTXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mbzE5c2V0
Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJ
bmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKK19f
Wk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTE1Q2VydGlmaWNh
dGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2RhdGFG
b3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDM4MzI0YTViZDYxNmNlY2I2OTFkMjg0ODY0
NWVkZDI4ZDk3NjFhYzYuLjFmY2JhZDRhYjFlNGRlZWZmNTgzZjllYWY1MGRiZGUxNmZjMjA1Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0aWZpY2F0ZUluZm9D
Rk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFyQ0ZOZXQuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MDU4LDYgKzE5MDY0LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5kbGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlN0b3JhZ2VEYXRh
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCBhYWIyZDk2NDFhMjU0ZTZlNzU2M2RmMDQ3YzI0YTJmYTNjNGNmZWQ1Li5mODRhZDkyNjk3OTBm
MGU3YThiOGE4NDI1YmEyYTc4ZTIyMjkxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04NTQxLDYgKzg1
NDEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9i
U3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjMxMTMxOGUzZGRhYWI5
MGU0OGNkNzA2YTE4NGU0MmUwZDRkNjY2Li40M2JkNjdlODc5NWVmYmIyZDU0NzM2NzIyZWRmMmNl
NjVhYzQ0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDcgKzE4NjcsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAw
NTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFE
NyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJC
RTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRD
OEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0NDIsNyArODQ0
NSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYg
LyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdv
cms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3Vy
aXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQw
NDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
MjYsNiArMTMyMzIsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIx
NzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBA
IC0xMzU2MSw2ICsxMzU2OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJL
aXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFE
MjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdB
RjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcw
MDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3
RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAzNiw2ICsxNTA0NCw3IEBACiAJ
CQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAgKi8s
CiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oICov
LAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
KwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLywKIAkJCQk1
MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTE0Qzc2
NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1MDk2LDYgKzE1MTA1
LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
Q2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAv
KiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENv
b2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1NTAsNiArMjM1NjAsNyBAQAogCQkJCTBG
MTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FM
YXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJE
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMx
NTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc2ODgsNiArMjc2OTksNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2Ft
cGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyog
UmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzk5MzBlODc2MWRi
OTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Cisj
ZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVkZSA8d3RmL2dvYmpl
Y3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5mbygpOworCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVD
aGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25z
dDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2Vs
aWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVy
biBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3By
aXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRp
ZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRo
ZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0
ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Cisj
ZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0
ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi5mZmRjYWI2
MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJh
c2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0
ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lz
VGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8o
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKSB7IG1fY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1f
aXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdl
YjMuLmQzMGM4YTQyM2QxZmE1OTQwMzg5OTI3NGI0MGE3MmM1NDY3NzBmNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKICNk
ZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEz
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykg
eyBtX2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJl
c291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3Zp
ZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWdu
ZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25S
ZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2Fk
VGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIAogICAgIGJv
b2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5l
dC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDZXJ0
aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRl
SW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMTNh
NTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEwZTk0NjIxZjFkNGM2
OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywxMCArMTE3LDYgQEAg
cHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxS
ZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0Uo
Q0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2Yg
TlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBk
ZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIEluaXRMZXZlbCBtX2lu
aXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGU7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIxM2Q3NDI3YmY3OGU5
YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZv
KCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVD
aGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
Q2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWlu
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisj
aWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAg
IHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQo
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIkNlcnRpZmljYXRl
SW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5YTAyZDE2MjFlODNm
MTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNiYmU4OWE2NGMwMDRk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291
cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBj
b25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWlu
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwotICAgIG1fZXh0ZXJu
YWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBtX2NlcnRpZmljYXRl
SW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9jZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1Nv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2ZThmOGYwNWI2MTY2
MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRl
SW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlm
aWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXgg
MWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTEwYzZjYjg3YTNlYzJm
NmQ0MmNkNWMzZmQyNzE0MTRjODlhNGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgog
ICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNv
bnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGlu
Z1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMo
MCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwog
ICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2Uq
KTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25l
ZCB0bHNFcnJvcnMpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZp
Y2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsg
fQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImKSBjb25z
dDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYg
YSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBtX3Rsc0Vycm9yczsK
LSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRjYTc5OWY3Mzc2YWRj
ZGRjNTIuLjFiODljZTJjMWNhOTFkYTc0MzA5NWUyYzY1MTAxYjJhMTYzNjJiZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAgUmVzb3VyY2VFcnJv
ciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKQog
CiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJvckNv
cHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2NlcnRpZmljYXRl
OwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOworICAgIGVycm9yQ29w
eS5zZXRDZXJ0aWZpY2F0ZUluZm8obV9jZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291
cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2JjN2Y3NzIzYTY2
MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3YzhhM2UwM2FlNmZm
MzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVibGljOgogICAgIFJl
c291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5n
JiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5j
b2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVz
cG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9u
c2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZs
YWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNh
dGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1l
c3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50
VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFs
dWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmlj
YXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAg
IEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJv
cnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJy
b3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNV
cFRvRGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDggKzc3LDYgQEAgcHJp
dmF0ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1f
c25pZmZlZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRp
ZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9p
ZCBkb1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAKaW5kZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMC4uOThkMThj
ZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0
b1NvdXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1l
c3NhZ2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVz
c2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgpLCAidGxzLWVycm9y
cyIsIG1fdGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1l
c3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSwgInRscy1lcnJvcnMiLCBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAK
ICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3Vw
TWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRl
RnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFn
cyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmlj
YXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJl
c3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMTlm
ZDU5NDI1OGIyNzgzMDMwNTdhZTBlNzBkMWI2YTg4NzJiYzJjZS4uYzAwYTQwM2Q1MjIyYjUwNDAz
ODllZTY3MmQ3OGE1MTU5ZjI5ZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC00NzksOCArNDc5LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5
cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
U291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApA
QCAtMTM0Nyw4ICsxMzQ1LDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0
OGQwM2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQ5NmQwNzVlZGUxMjhmYmZkOTliNDE2MDkxODdhYTY0
MGYxMzJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCAr
MjgsMTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWls
dXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Up
LCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJv
cnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291
cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCAwMTI4MTc0YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwLi5kNmYwZTBk
ZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVu
TG9vcDsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3du
bG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0
IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50
MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAy
ODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li4zMmJjZTA1YjhjYjUwZTBlNjIwN2E5YThhYzBk
YzE3MDI0YzQ0NTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHBy
ZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NWU4YmJhMWU0NTM1MWRjZDEy
NWYzMDdhOWQ4ZDg1MDM5ZTBkNjIwLi41NmEyODgwZTI1MTJmZjUxZmYzYzAyMDA1MmQyMTYzZjlm
MjNmZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdhOTU2MmQzNWFiNTNk
MmM0NDUzNWNjMDJlLi5mNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0YjFkM2U3NDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nl
c3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQ
cm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNl
Q2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAi
U2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0
aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2lu
Zm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVuc2lnbmVkIGxvbmc+
KHVybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKV07IC8vIERv
bid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJu
LgogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Y29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDg4MDUwYzE5ODNhNjViZjU3YjQ5ZGM5YmM5NzdjZmZjNWRmNzUxOWIu
LjkzZGI1YWVjODYxYTQxMGUyMTA2OTQyMDgyODFhYWQ3YTk4NzM3YzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC00Miw3ICs0Miw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xs
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2IxMzU4
ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2ZiYTM0OTI4NjYxMzA2
YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vz
cy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5
YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi5kMzE1MjQzZjFjODEwNDNkMGJmNjlkMTNl
MjBlZjc3NTM2MjFlMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDExICszMywxMSBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVs
ZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0aWZpY2F0ZUluZm9HZXRD
ZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikK
IHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOworICAgIHJldHVybiB0b0ltcGwoY2VydGlm
aWNhdGVJbmZvUmVmKS0+Q2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCA3ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFk
MmNmMGZjZTkxYjNmYjc4Li5lMmY0NTMyMjljYjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApAQCAtOTgsMjAgKzk4LDIwIEBAIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRv
IHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGlu
Zm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFNRVdPUkspCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZv
Rm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29u
c3QgQ2VydGlmaWNhdGVJbmZvJikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAjZW5kaWYKIAot
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxlbmdlcy50YWtlKGNoYWxs
ZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7CiAgICAgCi0gICAgaWYg
KHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2Vy
dGlmaWNhdGVJbmZvKSkKKyAgICBpZiAodHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0
aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4uZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5
NzY1MDQ3NGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9h
ZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwg
cHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRv
d25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRp
YWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAg
IHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5
LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAg
ICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2
Yzk2MWRkLi4zNGRiOWIyMDhiZjFmZDE3M2Q4MWE0NmM3NmY4Zjg2NDZkZjNkNWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAg
ICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdl
YkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lk
IENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3
ZmUzNDFlNzY5YzI3NjAxMy4uOGI2ZDcxMzQ5NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsMTUg
KzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKQorYm9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxl
bmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBDRkFy
cmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKICAgICBp
ZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRl
eCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi5kOWIxNDA5ZDg2Zjgx
MjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcgKzIxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewogICAgICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBzdGF0aWNfY2FzdDxXZWJD
ZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwotICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0aWZp
Y2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgICAgICBlbmNvZGVy
IDw8IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7
CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAg
ICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworICAgICAg
ICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNh
dGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJ
T2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li5j
OGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUxZDU0NjVjNzYzOTUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZp
bmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0
PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAg
ICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykK
LSAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCisgICAgZXhwbGljaXQg
V2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykK
KyAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThl
Li5iYTU3ZDFkYThkYzU4MjEwMDFiY2E0NjQzZjFkNGVhOGE4YWVhMzRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Ny
ZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtMzksMTMgKzQwLDEz
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVk
ZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjMgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29k
ZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rlciwg
Y2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJp
YWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IGE5NjVkZTg1NTIyN2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNk
ODAuLjc3MzM2MTYyNzNiOGVjODRlMThkMzE2YTQzNGFiZGQ2MWE0ODM3NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAg
IGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJv
b2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNj
Y2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAg
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25z
ZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8
PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykK
LXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICgh
Q29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25l
ZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4
ZjZlNDUuLjkwMjY2MDlmZjhmZjM2MTkzOWM0MTMxMTMwMmUzZmU0YjhjN2UxZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2Vy
dGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBD
b3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxD
RkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRl
Y29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgp
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3Ry
aW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+
KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpAQCAt
MTY4LDcgKzIwMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwKIAogICAgIGlkIHBlZXJDZXJ0
aWZpY2F0ZUNoYWluID0gW3VzZXJJbmZvIG9iamVjdEZvcktleTpAIk5TRXJyb3JQZWVyQ2VydGlm
aWNhdGVDaGFpbktleSJdOwogICAgIEFTU0VSVCghcGVlckNlcnRpZmljYXRlQ2hhaW4gfHwgW3Bl
ZXJDZXJ0aWZpY2F0ZUNoYWluIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSk7Ci0gICAg
ZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlm
aWNhdGVDaGFpbik7CisgICAgZW5jb2RlciA8PCBDZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYp
cGVlckNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VF
cnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC0xOTQsNyArMjI2LDcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RyaW5nVXNlckluZm9NYXApKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZTsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShjZXJ0aWZpY2F0ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRk
NWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291
cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1l
c3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0g
ICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9y
LnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAg
aWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwot
ICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmlj
YXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRl
ID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJs
ZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRh
LCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJf
dD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVu
ZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5k
KiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRl
SW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFi
bGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCks
IE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJ
bmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vy
cm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2
N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
LSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwot
Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Vy
dGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6
Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
LQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5k
ZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uNzYxN2IzNmViNjQw
Mjk3OGNhZTMwY2Y0MWU2NDViNTMwMzY3YmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCwxOSArNjksNjkgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJ
bmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
KyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkp
LCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRp
ZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVu
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlm
aWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tl
bmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRp
ZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxz
RXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJj
ZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3Vy
Y2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlSW5mbygp
OwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJy
b3IpCiB7Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAg
IENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJj
ZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAg
ICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkp
OworICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNm
NTgzMTYxOTU2N2FkOTUxNS4uOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMwMmYzODJhYzIyMjVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAK
ICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAg
LTU5LDYgKzU4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1
ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0
ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcs
NyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAg
IHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1
MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmQ1NTczZGFjYTgzMmRkZWVlNDYxY2YxYjMxMWYyMTdmYzMy
ODA2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAK
QEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAg
ICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRp
ZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlh
bC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBjNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1
NGM5N2Q0MjhiLi45NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1ZDIxZmEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBA
QCB2b2lkIFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
ICAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAg
ICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQy
ZjMuLmMyOWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2
b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFj
aGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRl
ID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNv
bW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBi
ZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjQ5NWYzNDY3MjE1MWVlOTY5
YmM4OWNlYWQ3ZjcxYjUxNGUzZDA0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBj
bGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJh
eTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRG
aW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9u
LCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZDQ4MDQzNDQ2NTYwY2NlMDU2NTdlMjQ2ZWU5OTI0YmU4ODAzYmMyNC4u
ZDg3MDlmNWJiNzE0NjQ5NWE2Y2UxMzEzOTJjMTAzZDllYWU2NDI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIyMDMsNyArMjIwMyw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAot
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMy
X3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxB
UElPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVz
c2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMTdhMmVlM2UzYTIzOThiODQ2NGYxMzdiMjAwN2Q2
NzQ2YzE3ZDJlNy4uYmY3NzhmZjZhMTZiNTBhMmNmMTlkM2Y0NTQ1M2U3MGE3ZmYyODA4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAg
ICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3ICsxMjYsNiBAQCBjbGFzcyBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNz
IE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0Zv
cndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc5MSw3ICs3OTEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNo
YWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90
IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYTk4NTM4YmUxMjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZC4uMWFmZGYw
MTJkOGEyOTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMjIyODcwNmNiZmQzZmIwNGU0MzNjY2Q0ZjRkMTdhZDcw
MDAxYmYwLi45YzI5Njg1NjY4NDM2NjRjMDBmMjkzNzdmZTMyNDMwNjZhMmNlYmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDMyLDggKzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Yx
ODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIz
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhG
QTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyog
V2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFF
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87
IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBX
ZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYyLDggKzI0NjAsNiBAQAogCQlCQ0YxODYz
NzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJD
b250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
b250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVF
NTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
MTQ5LDggKzQxNDUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFBy
aW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0Yg
LyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTA5LDcgKzUxMDMsNiBA
QAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyNjksNyArNjI2Miw2IEBA
CiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERG
UGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJE
RDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAw
REIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkwZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJk
Li4yOWM0ZTBlNmZmM2JmYWE4NWIwYzYzNzdhZDVjMGNkZjc4ZTBmMmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
QEAgLTk5LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1
aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxv
YWRlci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdl
YlJlc291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVD
aGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNv
cHkuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxv
YWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBj
YWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5YzdmNDgwZGVkNTcyLi42YWZhMzNjYTlhMGE1
MDA2NDAzMmY1NzlmZjk1ZDBjOGEyNjllYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1
ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
OwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYs
IGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VM
b2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CmluZGV4IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4YWIwOTg2NGEuLmExYjU4OGI3
ZjY2MmJhMjVmOWYwNmFkNjMzOGQ3MGU4YjA3NGQzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIg
TGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5l
ZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxs
U2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0
YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgp
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZh
aWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5Yzgx
OWZkYjhkM2FmZC4uNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJmMGE5ZTJjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTEsNiArNTAsNyBAQAog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0No
cm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkg
dGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWlt
ZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNw
b25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUo
KSwgcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZCht
X2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213874</attachid>
            <date>2013-10-10 05:29:46 -0700</date>
            <delta_ts>2013-10-23 00:08:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131010142944.patch</filename>
            <type>text/plain</type>
            <size>102270</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNiYTJjZGRiOTZmMDgy
MmVhMGEyZTJmY2Q4ZmY5NWEyZjhiNjg4MS4uYTU3Y2UwM2MwYzgzNTBiMGM3MTk5MDFlNTMzYmU4
Nzc0ZWIwOGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTEwICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gZ2V0dGVyIGFuZCBzZXR0ZXIgdG8gUmVzb3VyY2VFcnJv
ckJhc2UKKyAgICAgICAgYW5kIFJlc291cmNlUmVzcG9uc2VCYXNlIHNvIHRoYXQgZ2V0dGluZyBh
bmQgc2V0dGluZyBjZXJ0aWZpY2F0ZXMKKyAgICAgICAgYmVjb21lcyBjcm9zcyBwbGF0Zm9ybS4K
KworICAgICAgICBDaGFuZ2VkIHRoZSBleGlzdGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBjZXJ0aWZp
Y2F0ZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAgIG9mIFJlc291cmNlRXJyb3IgYW5kIFJl
c291cmNlUmVzcG9uc2UgdG8gdXNlIHRoZQorICAgICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byBtZW1iZXIuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyAgPHNr
eXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUg
Zml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjOgorICAgICAgICAtIHRyaXZpYWwgY29uZmxpY3Rz
IHJlc29sdmVkIGluIFdlYkNvcmUuZXhwLmluLCBwcm9qZWN0LnBieHByb2osIE5ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAsCisgICAgICAgICAgV2ViUGFnZVByb3h5LmgsIFdlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcCBhbmQgUGxhdGZvcm1FZmwuY21ha2UuCisgICAgICAgIC0gdHJpdmlhbCBmaXgg
aW4gdGhlIG5ldyBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorICAgICAgICAt
IHN0eWxlIGZpeGVkIChOVUxMIC0+IDAgYW5kIHNtYWxsZXIgaW5kZW50YXRpb24gaW4gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHApCisgICAgICAgIC0gb2Jzb2xldGUgY2hhbmdlIHJlbW92
ZWQgZnJvbSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisgICAgICAgIC0gdW5uZWVkZWQgdHlw
byByZW1vdmVkIGZyb20gUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorICAgICAgICAtIEZpeGVkIHRo
ZSBpZiBndWFyZCBvZiBpbmNsdWRpbmcgUmV0YWluUHRyLmggaW4gUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCB0byBtYWtlIFdpbmRvd3MgYnVpbGQgaGFwcHkuCisgICAgICAgIC0gYWRkIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3BwIHdpdGggZW1wdHkgY29uc3RydWN0b3IgYW5kIGRl
c3RydWN0b3IgdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIHJlc29sdmVk
IGNvbmZsaWN0IGluIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBhZnRlciByMTU2NDg4CisgICAgICAgIC0gcmVuYW1lZCBLVVJMIHRvIFVSTCBhZnRlciBy
MTU2NTUwLgorICAgICAgICAtIHJlbW92ZWQgb2Jzb2xldGUgUXQgY2hhbmdlcworICAgICAgICAt
IGFkZGVkIGJhY2sgaW5pdGlhbGl6ZXJzIGZvciBtX3NvdXBGbGFncworICAgICAgICAtIGluY2x1
ZGVkIGdpby9naW8uaCBpbnN0ZWFkIG9mIGxpYnNvdXAvc291cC5oIGluIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLmgKKyAgICAgICAgLSByZW1vdmVkIHVudXNlZCBjbGFzcyBmb3J3YXJkIGRlY2xh
cmF0aW9ucyBhbmQgaW5jbHVkZXMKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaC4K
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnRsc0Vycm9y
cyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJy
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yQmFzZTo6cGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnNldFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
c2V0Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXNwb25zZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlJlc291cmNlRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcjo6dGxzRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldFRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpjZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpzZXRDZXJ0
aWZpY2F0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JT
b3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTA4ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICByYW5nZU9mQ29udGVudHMoKSBzaG91bGQgdGFrZSBhIE5v
ZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGI0MGUwYTc4YzM0ZThjZDJiNzU4YzRhYmVjMmM3ZTAwMGY2Mjk3
N2QuLjExYmIxYThkZTIxMzQ1YWU1MWQ3MmMzZTA2NjM5NzRmMTMyYWQwYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw4NSBAQAorMjAxMy0xMC0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2Vi
Q29yZSBhbmQgbWFrZSB0aGUgUmVzb3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVy
bXMgb2YgdGhhdCBwbGF0Zm9ybSBhZ25vc3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAgICAgIGFuZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcgY2VydGlmaWNhdGVz
CisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAgQ2hhbmdlZCB0aGUg
ZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVy
cworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0
aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgorCisgICAgICAgIE9y
aWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dv
bsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4
cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwLAorICAgICAg
ICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYW5kIFBsYXRmb3Jt
RWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcgQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAw
IGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
KQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNl
SGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5n
IFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8gbWFrZSBXaW5kb3dz
IGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0
LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93
cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGluIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciByMTU2NDg4CisgICAg
ICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAgICAgIC0gcmVtb3Zl
IG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBm
b3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBs
aWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVt
b3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNo
YXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURl
Y29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6
CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3Jl
SVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBy
b3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMy0xMC0w
OSAgU2VyZ2lvIENvcnJlaWEgIDxzZXJnaW8uY29ycmVpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFNldCB2aWV3IHRvIGFjdGl2ZSBpbiBWaWV3Q2xpZW50RWZsIGFmdGVyIFdlYlByb2Nlc3Mg
aGFzIHJlbGF1bmNoZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMzODQzNjBj
MGFhOTBlNTc3ZGQyNTczODFiNDdjNGVjOWJkMDczNzAuLjY2OWI5ZWYyY2MzZjBmZjg0N2RjYmVi
MThiOTQ0YjgxZmZkMDZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQx
Nyw2ICs1NDE3LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ1MSw2ICs1NDUyLDcgQEAgd2Vi
Y29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9T
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYzk4YjdhM2Iy
NDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIyNmNlMGE5MTUxZGQw
MDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0OCw2ICsx
NDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3Jh
Z2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQ3ODNiZWUzNzMzNzBkY2NiMjIxZGRmOWM0
MzQ0YjIwZjNiMWEyOTQuLjk4NWI1OTUzYjM5NTU0YWMwMjgyZmVlZmJmZjQxY2MwMmZhNzU0MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9fWk43V2ViQ29yZTIz
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1
dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQzFFUktOU18x
NVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291cmNlUmVzcG9u
c2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3Bl
cnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29yZTIzTXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mbzE5c2V0
Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJ
bmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKK19f
Wk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29yZTE1Q2VydGlmaWNh
dGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2RhdGFG
b3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDM4MzI0YTViZDYxNmNlY2I2OTFkMjg0ODY0
NWVkZDI4ZDk3NjFhYzYuLjFmY2JhZDRhYjFlNGRlZWZmNTgzZjllYWY1MGRiZGUxNmZjMjA1Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0aWZpY2F0ZUluZm9D
Rk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFyQ0ZOZXQuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MDU4LDYgKzE5MDY0LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5kbGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlN0b3JhZ2VEYXRh
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCBhYWIyZDk2NDFhMjU0ZTZlNzU2M2RmMDQ3YzI0YTJmYTNjNGNmZWQ1Li5mODRhZDkyNjk3OTBm
MGU3YThiOGE4NDI1YmEyYTc4ZTIyMjkxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04NTQxLDYgKzg1
NDEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9i
U3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjMxMTMxOGUzZGRhYWI5
MGU0OGNkNzA2YTE4NGU0MmUwZDRkNjY2Li40M2JkNjdlODc5NWVmYmIyZDU0NzM2NzIyZWRmMmNl
NjVhYzQ0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDcgKzE4NjcsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAw
NTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFE
NyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJC
RTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRD
OEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0NDIsNyArODQ0
NSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYg
LyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdv
cms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3Vy
aXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQw
NDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
MjYsNiArMTMyMzIsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIx
NzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBA
IC0xMzU2MSw2ICsxMzU2OCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJL
aXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFE
MjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdB
RjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcw
MDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3
RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAzNiw2ICsxNTA0NCw3IEBACiAJ
CQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAgKi8s
CiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oICov
LAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
KwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLywKIAkJCQk1
MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTE0Qzc2
NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1MDk2LDYgKzE1MTA1
LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
Q2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAv
KiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENv
b2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1NTAsNiArMjM1NjAsNyBAQAogCQkJCTBG
MTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FM
YXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJE
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMx
NTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc2ODgsNiArMjc2OTksNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2Ft
cGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyog
UmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzk5MzBlODc2MWRi
OTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDc3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Cisj
ZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVkZSA8d3RmL2dvYmpl
Y3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5mbygpOworCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVD
aGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25z
dDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworI2Vs
aWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRl
OyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7IHJldHVy
biBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorI2VuZGlmCisKK3By
aXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRp
ZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRo
ZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0
ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Cisj
ZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0
ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2Uu
aAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3MDVjLi5mZmRjYWI2
MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VFcnJvckJh
c2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYgKzUzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7IG1faXNUaW1lb3V0
ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX2lz
VGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8o
KSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZvaWQgc2V0Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKSB7IG1fY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0aWMgYm9vbCBjb21w
YXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAKIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBtX2Vycm9yQ29kZTsK
ICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2FsaXplZERlc2NyaXB0
aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKICAgICBib29sIG1f
aXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29sIG1faXNUaW1lb3V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5NmJiODZlMjRlYjdl
YjMuLmQzMGM4YTQyM2QxZmE1OTQwMzg5OTI3NGI0MGE3MmM1NDY3NzBmNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKICNk
ZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgogCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xMTIsNiArMTEz
LDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFzc1JlZlB0cjxSZXNv
dXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICB2b2lkIHNl
dENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykg
eyBtX2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQorCiAgICAgLy8gVGhlIFJl
c291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0aG9kIHRvIHByb3Zp
ZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9uCiAgICAgdW5zaWdu
ZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBtX2Nvbm5lY3Rpb25S
ZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fcmVzb3VyY2VMb2Fk
VGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIAogICAgIGJv
b2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5l
dC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDZXJ0
aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRl
SW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMTNh
NTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEwZTk0NjIxZjFkNGM2
OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywxMCArMTE3LDYgQEAg
cHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxS
ZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0Uo
Q0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2Yg
TlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBk
ZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIEluaXRMZXZlbCBtX2lu
aXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0RhdGU7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIxM2Q3NDI3YmY3OGU5
YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZv
KCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVD
aGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
Kwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
Q2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWlu
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOworfQorCisj
aWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAg
IHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQo
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIkNlcnRpZmljYXRl
SW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5YTAyZDE2MjFlODNm
MTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNiYmU4OWE2NGMwMDRk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291
cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBj
b25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWlu
KENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwotICAgIG1fZXh0ZXJu
YWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBtX2NlcnRpZmljYXRl
SW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
bV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9jZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJM
UmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1Nv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2ZThmOGYwNWI2MTY2
MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENv
bXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRl
SW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlm
aWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKaW5kZXgg
MWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTEwYzZjYjg3YTNlYzJm
NmQ0MmNkNWMzZmQyNzE0MTRjODlhNGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwxMiArNDAsMTAgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFzZQogcHVibGljOgog
ICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBlcnJvckNvZGUsIGNv
bnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXNjcmlwdGlv
bikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9yQ29kZSwgZmFpbGlu
Z1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNFcnJvcnMoMCkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDogbV90bHNFcnJvcnMo
MCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwog
ICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2Uq
KTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3Jz
OyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJy
b3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRp
ZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25l
ZCB0bHNFcnJvcnMpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0
ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZp
Y2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsg
fQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImKSBjb25z
dDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VFcnJvciYg
YSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBtX3Rsc0Vycm9yczsK
LSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRjYTc5OWY3Mzc2YWRj
ZGRjNTIuLjFiODljZTJjMWNhOTFkYTc0MzA5NWUyYzY1MTAxYjJhMTYzNjJiZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAgUmVzb3VyY2VFcnJv
ciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBmYWlsaW5nVVJMKQog
CiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJvckNv
cHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2NlcnRpZmljYXRl
OwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOworICAgIGVycm9yQ29w
eS5zZXRDZXJ0aWZpY2F0ZUluZm8obV9jZXJ0aWZpY2F0ZUluZm8pOwogfQogCiBib29sIFJlc291
cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVmY2JjN2Y3NzIzYTY2
MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3YzhhM2UwM2FlNmZm
MzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVibGljOgogICAgIFJl
c291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAg
ICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAg
ICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAg
ICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5n
JiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5j
b2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVz
cG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9u
c2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZs
YWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNh
dGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1l
c3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50
VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFs
dWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmlj
YXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQorICAg
IEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNz
YWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJv
cnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQorICAgIEdUbHNDZXJ0
aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJy
b3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5z
ZXRUTFNFcnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNV
cFRvRGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDggKzc3LDYgQEAgcHJp
dmF0ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1f
c25pZmZlZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRp
ZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9p
ZCBkb1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5j
cHAKaW5kZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMC4uOThkMThj
ZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0
b1NvdXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1l
c3NhZ2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVz
c2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgpLCAidGxzLWVycm9y
cyIsIG1fdGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1l
c3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSwgInRscy1lcnJvcnMiLCBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSwgTlVMTCk7CiAK
ICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3Vw
TWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRl
RnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFn
cyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRp
ZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dldF9odHRwc19zdGF0
dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsKLSAgICBtX2NlcnRp
ZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmlj
YXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJl
c3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMTlm
ZDU5NDI1OGIyNzgzMDMwNTdhZTBlNzBkMWI2YTg4NzJiYzJjZS4uYzAwYTQwM2Q1MjIyYjUwNDAz
ODllZTY3MmQ3OGE1MTU5ZjI5ZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC00NzksOCArNDc5LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5
cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
U291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApA
QCAtMTM0Nyw4ICsxMzQ1LDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1YjE5YWIyMDAzZTU0
OGQwM2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQ5NmQwNzVlZGUxMjhmYmZkOTliNDE2MDkxODdhYTY0
MGYxMzJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMCAr
MjgsMTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAgdm9pZCBBc3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWls
dXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2Up
LCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9hZGVyLT5zZW5kQWJv
cnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291
cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCAwMTI4MTc0YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwLi5kNmYwZTBk
ZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2LDggQEAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUnVu
TG9vcDsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3du
bG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0
IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50
MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhNWZjYmM3YmU5NDAy
ODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li4zMmJjZTA1YjhjYjUwZTBlNjIwN2E5YThhYzBk
YzE3MDI0YzQ0NTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHBy
ZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NWU4YmJhMWU0NTM1MWRjZDEy
NWYzMDdhOWQ4ZDg1MDM5ZTBkNjIwLi41NmEyODgwZTI1MTJmZjUxZmYzYzAyMDA1MmQyMTYzZjlm
MjNmZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdhOTU2MmQzNWFiNTNk
MmM0NDUzNWNjMDJlLi5mNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0YjFkM2U3NDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nl
c3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQ
cm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNl
Q2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAi
U2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0
aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2lu
Zm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVuc2lnbmVkIGxvbmc+
KHVybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKV07IC8vIERv
bid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJu
LgogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Y29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDg4MDUwYzE5ODNhNjViZjU3YjQ5ZGM5YmM5NzdjZmZjNWRmNzUxOWIu
LjkzZGI1YWVjODYxYTQxMGUyMTA2OTQyMDgyODFhYWQ3YTk4NzM3YzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC00Miw3ICs0Miw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3Nv
dXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xs
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2IxMzU4
ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2ZiYTM0OTI4NjYxMzA2
YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vz
cy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzNGRkNDMxNTE5
YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi44MGVmODg4MWNjMGE4NjFmNjA5NDNhMDEw
NWJjYmFiNzZkMWYxMmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTMzLDExICszMywxMSBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKKyAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
Y2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVs
ZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0aWZpY2F0ZUluZm9HZXRD
ZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikK
IHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOworICAgIHJldHVybiB0b0ltcGwoY2VydGlm
aWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCA3ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFk
MmNmMGZjZTkxYjNmYjc4Li5lMmY0NTMyMjljYjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApAQCAtOTgsMjAgKzk4LDIwIEBAIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRv
IHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGlu
Zm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFNRVdPUkspCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYpCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZv
Rm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29u
c3QgQ2VydGlmaWNhdGVJbmZvJikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAjZW5kaWYKIAot
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxlbmdlcy50YWtlKGNoYWxs
ZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7CiAgICAgCi0gICAgaWYg
KHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2Vy
dGlmaWNhdGVJbmZvKSkKKyAgICBpZiAodHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0
aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4uZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5
NzY1MDQ3NGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9h
ZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwg
cHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRv
d25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwg
Y29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRp
YWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAg
IHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5
LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAg
ICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2
Yzk2MWRkLi4zNGRiOWIyMDhiZjFmZDE3M2Q4MWE0NmM3NmY4Zjg2NDZkZjNkNWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAg
ICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdl
YkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lk
IENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3
ZmUzNDFlNzY5YzI3NjAxMy4uOGI2ZDcxMzQ5NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsMTUg
KzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlV
c2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKQorYm9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxl
bmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBDRkFy
cmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKICAgICBp
ZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRl
eCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiLi5kOWIxNDA5ZDg2Zjgx
MjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcgKzIxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewogICAgICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBzdGF0aWNfY2FzdDxXZWJD
ZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwotICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0aWZp
Y2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgICAgICBlbmNvZGVy
IDw8IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7
CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAg
ICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87
Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworICAgICAg
ICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNh
dGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJ
T2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li5j
OGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUxZDU0NjVjNzYzOTUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZp
bmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0
PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAg
ICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykK
LSAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGluZm8pCisgICAgZXhwbGljaXQg
V2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykK
KyAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThl
Li5iYTU3ZDFkYThkYzU4MjEwMDFiY2E0NjQzZjFkNGVhOGE4YWVhMzRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Ny
ZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtMzksMTMgKzQwLDEz
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVk
ZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjMgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29k
ZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rlciwg
Y2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJp
YWxpemVXZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IGE5NjVkZTg1NTIyN2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNk
ODAuLjc3MzM2MTYyNzNiOGVjODRlMThkMzE2YTQzNGFiZGQ2MWE0ODM3NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAg
IGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJv
b2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGtTaG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNj
Y2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAg
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsK
LSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0j
aW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25z
ZS5jZXJ0aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBl
bmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8
PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykK
LXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICgh
Q29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25l
ZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVj
dFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJp
bmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4
ZjZlNDUuLjkwMjY2MDlmZjhmZjM2MTkzOWM0MTMxMTMwMmUzZmU0YjhjN2UxZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2Vy
dGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBD
b3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJn
dW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxD
RkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRl
Y29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgp
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3Ry
aW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+
KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpAQCAt
MTY4LDcgKzIwMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwKIAogICAgIGlkIHBlZXJDZXJ0
aWZpY2F0ZUNoYWluID0gW3VzZXJJbmZvIG9iamVjdEZvcktleTpAIk5TRXJyb3JQZWVyQ2VydGlm
aWNhdGVDaGFpbktleSJdOwogICAgIEFTU0VSVCghcGVlckNlcnRpZmljYXRlQ2hhaW4gfHwgW3Bl
ZXJDZXJ0aWZpY2F0ZUNoYWluIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSk7Ci0gICAg
ZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlm
aWNhdGVDaGFpbik7CisgICAgZW5jb2RlciA8PCBDZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYp
cGVlckNlcnRpZmljYXRlQ2hhaW4pOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VF
cnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291
cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCkBAIC0xOTQsNyArMjI2LDcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RyaW5nVXNlckluZm9NYXApKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZTsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShjZXJ0aWZpY2F0ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRk
NWNmZGE2ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgot
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291
cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1l
c3NhZ2VUTFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0g
ICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9y
LnRsc0Vycm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAg
aWYgKCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwot
ICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmlj
YXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEp
IHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRl
ID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJs
ZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRh
LCBjZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJf
dD4obV90bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVu
ZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5k
KiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRl
SW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFi
bGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCks
IE5VTEwpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJ
bmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vy
cm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2
N2I2ZGI0NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
LSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwot
Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Vy
dGlmaWNhdGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6
Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
LQotI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5k
ZXggZGM0ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uNzYxN2IzNmViNjQw
Mjk3OGNhZTMwY2Y0MWU2NDViNTMwMzY3YmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCwxOSArNjksNjkgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJ
bmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
KyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkp
LCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRp
ZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVu
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlm
aWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRp
ZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZp
Y2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNl
cnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tl
bmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRp
ZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxz
RXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJj
ZUVycm9yKQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3Vy
Y2VFcnJvcik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlSW5mbygp
OwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJy
b3IpCiB7Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAg
IENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJj
ZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAg
ICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkp
OworICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNm
NTgzMTYxOTU2N2FkOTUxNS4uOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMwMmYzODJhYzIyMjVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAK
ICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAg
LTU5LDYgKzU4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1
ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0
ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcs
NyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAg
IHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZv
KCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1
MTU3MjlmNTU0YjlmNTI2YTVkZDUuLmQ1NTczZGFjYTgzMmRkZWVlNDYxY2YxYjMxMWYyMTdmYzMy
ODA2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAK
QEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VD
cmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAg
ICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZv
cm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRp
ZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlh
bC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBjNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1
NGM5N2Q0MjhiLi45NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1ZDIxZmEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBA
QCB2b2lkIFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
ICAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAg
ICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5wbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQy
ZjMuLmMyOWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2
b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFj
aGFibGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRl
ID09IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNv
bW1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBi
ZWU2NjZmZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjQ5NWYzNDY3MjE1MWVlOTY5
YmM4OWNlYWQ3ZjcxYjUxNGUzZDA0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBj
bGFzcyBDb25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJh
eTsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRp
ZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRG
aW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9u
LCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZDQ4MDQzNDQ2NTYwY2NlMDU2NTdlMjQ2ZWU5OTI0YmU4ODAzYmMyNC4u
ZDg3MDlmNWJiNzE0NjQ5NWE2Y2UxMzEzOTJjMTAzZDllYWU2NDI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIyMDMsNyArMjIwMyw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAot
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBj
b25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMy
X3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxB
UElPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVz
c2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMTdhMmVlM2UzYTIzOThiODQ2NGYxMzdiMjAwN2Q2
NzQ2YzE3ZDJlNy4uYmY3NzhmZjZhMTZiNTBhMmNmMTlkM2Y0NTQ1M2U3MGE3ZmYyODA4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAg
ICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3ICsxMjYsNiBAQCBjbGFzcyBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNz
IE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0Zv
cndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc5MSw3ICs3OTEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNo
YWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90
IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYTk4NTM4YmUxMjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZC4uMWFmZGYw
MTJkOGEyOTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMjIyODcwNmNiZmQzZmIwNGU0MzNjY2Q0ZjRkMTdhZDcw
MDAxYmYwLi45YzI5Njg1NjY4NDM2NjRjMDBmMjkzNzdmZTMyNDMwNjZhMmNlYmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDMyLDggKzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Yx
ODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIz
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhG
QTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyog
V2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFF
IC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87
IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3
NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBX
ZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYyLDggKzI0NjAsNiBAQAogCQlCQ0YxODYz
NzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJD
b250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
b250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVF
NTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
MTQ5LDggKzQxNDUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFBy
aW50SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0Yg
LyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTA5LDcgKzUxMDMsNiBA
QAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hy
b25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyNjksNyArNjI2Miw2IEBA
CiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERG
UGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJE
RDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAw
REIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcAppbmRleCBhNWFiNWFkNDkwZGQxNjE2NmVlMWUzY2ExYTM0M2M0YTZlNGRmZGJk
Li4yOWM0ZTBlNmZmM2JmYWE4NWIwYzYzNzdhZDVjMGNkZjc4ZTBmMmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
QEAgLTk5LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1
aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxv
YWRlci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdl
YlJlc291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVD
aGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNv
cHkuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxv
YWRlciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBj
YWxsYmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCA5Yzk4NmYyZTQ3ZTUyMzE4OGVhNDVkMGIxMzQ5YzdmNDgwZGVkNTcyLi42YWZhMzNjYTlhMGE1
MDA2NDAzMmY1NzlmZjk1ZDBjOGEyNjllYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1
ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Up
OwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYs
IGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VM
b2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CmluZGV4IDY3NzU0ZGVjZmQzMzJiNzkwZDllMGQ5ODJmYzMxZDY4YWIwOTg2NGEuLmExYjU4OGI3
ZjY2MmJhMjVmOWYwNmFkNjMzOGQ3MGU4YjA3NGQzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIg
TGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5l
ZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxs
U2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UsIFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0
YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgp
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZh
aWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5Yzgx
OWZkYjhkM2FmZC4uNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJmMGE5ZTJjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTEsNiArNTAsNyBAQAog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0No
cm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkg
dGhlIFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWlt
ZVR5cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNw
b25zZS5taW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUo
KSwgcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZCht
X2ZyYW1lKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214157</attachid>
            <date>2013-10-14 09:45:03 -0700</date>
            <delta_ts>2013-10-14 09:58:09 -0700</delta_ts>
            <desc>patch for attachment213874</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>3359</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VF
cnJvci5oCmluZGV4IGExMGM2Y2IuLmE4NmVjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaApAQCAtNTQsMTEgKzU0LDYg
QEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBT
dHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0
aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0
IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpOyB9Ci0gICAgdm9pZCBzZXRU
TFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vy
cm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7IH0KLSAg
ICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKTsgfQotICAgIHZvaWQgc2V0Q2VydGlmaWNhdGUoR1Rsc0Nl
cnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0
ZShjZXJ0aWZpY2F0ZSk7IH0KLQogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29weShSZXNv
dXJjZUVycm9yJikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgcGxhdGZvcm1Db21wYXJlKGNvbnN0
IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291
cC5jcHAKaW5kZXggMWI4OWNlMi4uNzg3Yzc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC03
OSw4ICs3OSw4IEBAIFJlc291cmNlRXJyb3IgUmVzb3VyY2VFcnJvcjo6dGxzRXJyb3IoU291cFJl
cXVlc3QqIHJlcXVlc3QsIHVuc2lnbmVkIHRsc0Vycm9ycywKIHsKICAgICBSZXNvdXJjZUVycm9y
IHJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoU09VUF9IVFRQX0VSUk9SKSwgU09VUF9T
VEFUVVNfU1NMX0ZBSUxFRCwKICAgICAgICAgZmFpbGluZ1VSSShyZXF1ZXN0KSwgdW5hY2NlcHRh
YmxlVExTQ2VydGlmaWNhdGUoKSk7Ci0gICAgcmVzb3VyY2VFcnJvci5zZXRUTFNFcnJvcnModGxz
RXJyb3JzKTsKLSAgICByZXNvdXJjZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsK
KyAgICByZXNvdXJjZUVycm9yLm1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7CisgICAgcmVzb3VyY2VFcnJv
ci5tX2NlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAgICAgcmV0
dXJuIHJlc291cmNlRXJyb3I7CiB9CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIFJlc291cmNl
RXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVycm9yJiBlcnJvckNvcHkpIGNvbnN0CiAKIGJv
b2wgUmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGEs
IGNvbnN0IFJlc291cmNlRXJyb3ImIGIpCiB7Ci0gICAgcmV0dXJuIGEudGxzRXJyb3JzKCkgPT0g
Yi50bHNFcnJvcnMoKTsKKyAgICByZXR1cm4gYS5tX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMo
KSA9PSBiLm1fY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dL
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCA4MGVmODg4Li4zMmZhMjFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9N
YWMubW0KQEAgLTI5LDExICsyOSwxMiBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0
ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdl
YkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyhjZXJ0aWZp
Y2F0ZUNoYWluKSk7CisgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJ
bmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmlj
YXRlQ2hhaW4pKTsKICAgICByZXR1cm4gdG9BUEkoY2VydGlmaWNhdGVJbmZvLnJlbGVhc2UoKS5s
ZWFrUmVmKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCmluZGV4IGJhNTdkMWQuLmY3OTQ3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC01NjEsNyArNTYxLDYgQEAg
Ym9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZShBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIENlcnRpZmljYXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY2Vy
dGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGU7Ci0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214158</attachid>
            <date>2013-10-14 09:49:29 -0700</date>
            <delta_ts>2013-10-23 00:08:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131014184927.patch</filename>
            <type>text/plain</type>
            <size>102663</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI5NWZkNmVlOWIzNGVk
MmRjNzVhNTUwYzQ1NjQxZWM4ZWYwYTIwYi4uZDg5N2MyYjZjNzdlZGM1M2U0YmU1NWM3ODBkN2I5
ZWQwMDIxYTQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTE0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgIEFkZGVk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJy
b3JCYXNlCisgICAgICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcg
YW5kIHNldHRpbmcgY2VydGlmaWNhdGVzCisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0u
CisKKyAgICAgICAgQ2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlm
aWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVycworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBS
ZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gbWVtYmVyLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxz
a3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJl
IGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0
cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwLAorICAgICAgICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYW5kIFBsYXRmb3JtRWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4
IGluIHRoZSBuZXcgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAg
LSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAwIGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwKQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1v
dmVkIGZyb20gTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5
cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNlSGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0
aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5nIFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBk
ZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZl
ZCBjb25mbGljdCBpbiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYWZ0ZXIgcjE1NjQ4OAorICAgICAgICAtIHJlbmFtZWQgS1VSTCB0byBVUkwgYWZ0ZXIg
cjE1NjU1MC4KKyAgICAgICAgLSByZW1vdmVkIG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAg
LSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBmb3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNs
dWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBsaWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVtb3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNs
YXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgu
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJv
cnMpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vy
cm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3Bv
bnNlQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OmNlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlUmVzcG9uc2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
OjpzZXRDZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OmNlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpSZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlRXJyb3I6OnRsc0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yOjpzZXRUTFNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cjo6Y2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0Q2Vy
dGlmaWNhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2Fn
ZVRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3Vw
TWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnRvU291cE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBk
YXRlRnJvbVNvdXBNZXNzYWdlKToKKwogMjAxMy0xMC0xNCAgQXJ2aWQgTmlsc3NvbiAgPGFuaWxz
c29uQGJsYWNrYmVycnkuY29tPgogCiAgICAgICAgIERvbid0IGNyYXNoIGFmdGVyIE9wZW5HTCBy
b2J1c3RuZXNzIHJlc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjcyOWQzOTE4ZGVlNjc3YzE5Y2QzYjQxZGFi
ZGU1YjhmYTFkZjJiOC4uODdmZTM3M2UyMWVkODg5ODAzYjRlNGU4YWZiMDc2YTgzYzhkMDQyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTE0ICBDc2FiYSBPc3p0cm9nb27D
oWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2ZXMg
d29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAg
ICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcg
Y2VydGlmaWNhdGVzCisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAg
Q2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVy
cyBhbmQgc2V0dGVycworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3Bv
bnNlIHRvIHVzZSB0aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgor
CisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55
MTAwLm5ldD4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENz
YWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBp
biBXZWJDb3JlLmV4cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwLAorICAgICAgICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAg
YW5kIFBsYXRmb3JtRWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcg
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhl
ZCAoTlVMTCAtPiAwIGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwKQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBm
cm9tIFJlc291cmNlSGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQg
b2YgaW5jbHVkaW5nIFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8g
bWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb0NGTmV0LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRv
IG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGlu
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciBy
MTU2NDg4CisgICAgICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAg
ICAgIC0gcmVtb3ZlIG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGlu
aXRpYWxpemVycyBmb3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmgg
aW5zdGVhZCBvZiBsaWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisg
ICAgICAgIC0gcmVtb3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGlu
Y2x1ZGVzCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9u
c2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNh
dGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
OgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJ
UEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0
LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToK
KwogMjAxMy0xMC0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
RGVwcmVjYXRlIG9yIHJlbW92ZSBkZWxldGVBbGxWYWx1ZXMgZnVuY3Rpb25zOyB0aGVyZSBhcmUg
b25seSBhIGZldyBjYWxsIHNpdGVzIGxlZnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDdjOTMxOTk3Y2FhODk4NTFmMzdhNTA5YzE1N2JiNDYyNjk1Zjk0ZmMuLmNlODE2Mjk4ZmFi
Yjg3Y2MxNWQ3N2VjN2YyNDM1YjQzNWIzOGQyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNTQwOSw2ICs1NDA5LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ0Myw2ICs1
NDQ0LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlU291cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0
aWZpY2F0ZUluZm9Tb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5k
ZXggYzk4YjdhM2IyNDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIy
NmNlMGE5MTUxZGQwMDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE0OCw2ICsxNDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50
aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE2YWRjOWIwYWIyNjVl
ZjhlMzkzNDRiMGYwMDg4YzU2MjFlZGRmZWQuLjE0NjZiZGQwMzQxMjk3ZDJkY2U0N2VhNjM0MmU4
MTA0OWYyYzk3ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9f
Wk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xp
ZW50RVBOU18yMEF1dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQzFFUktOU18xNVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJl
c291cmNlUmVzcG9uc2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFi
bGVTdHlsZVByb3BlcnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2Vi
Q29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmlj
YXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRl
SW5mb0MxRXYKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29y
ZTE1Q2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dl
YkNvcmUyM2RhdGFGb3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2Rl
Y29kZUhvc3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGJjM2Q0MTA2NGQ5NjFm
ZWJlODliYWU0YWE2NDllNDhiYzA0YzcyZTIuLmE5YWI3NDVmNjE1NjRkZDEzOWZmYmJhOTI2ZDAy
YWQyZDM5M2ZlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagpAQCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21w
aWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0
aWZpY2F0ZUluZm9DRk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9X
aW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFy
Q0ZOZXQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5MDQzLDYgKzE5MDQ5LDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5k
bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxv
YlN0b3JhZ2VEYXRhLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXENlcnRpZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cbmV0d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCBmYzZhNmE3YThiYjQ5ODVlNmU3NDIzNDU5ZGQ2NzUzNzNmODI4ZWE0Li44
YzllNmE3ZTJjNjlhODU5OWRlZDExZjJhMTY4ZGZmMmZlZDM3ZGExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC04NTI5LDYgKzg1MjksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xCbG9iU3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdv
cms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8Rmls
dGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NjE3
ZTI4ZmUwZGQ4MDg2MGMwNDIzYmM2ZTJmNzA4MWRhZDZiMGMzLi4zYTg1ZDIyZjIxODlhMjE3MzI1
MzI1YjFjNjhlYjMwNTI4MDE2MjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODYwLDcgKzE4NjAsMTAgQEAKIAkJNURGN0Y1
QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRl
ZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlE
MTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQx
NjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNj
aGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBT
Y2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsg
fTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4
RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENB
MTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUy
NTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFG
MzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3Bw
ICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBE
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250
ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTg0MjgsNyArODQzMSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVt
VmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5
c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4
MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJj
ZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUz
MzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUg
LyogSlNFdmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNF
dmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZE
MUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1
cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNw
YXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRp
YWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIx
MzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTMyMTIsNiArMTMyMTgsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJ
CQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAv
KiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZE
MkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCkBAIC0xMzU0Nyw2ICsxMzU1NCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJB
QUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8s
CiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5
ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMw
OUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAyMiw2ICsx
NTAzMCw3IEBACiAJCQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhh
bmRsZS5jcHAgKi8sCiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJj
ZUhhbmRsZS5oICovLAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFn
ZURhdGEuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvLmggKi8sCiAJCQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2Uu
aCAqLywKIAkJCQk1MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8s
CiAJCQkJNTE0Qzc2NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1
MDgyLDYgKzE1MDkxLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUw
MDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUw
MDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJE
MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2
MEIwMEYzMkQ0MCAvKiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAw
REZCQTcxIC8qIENvb2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1MjcsNiArMjM1Mzcs
NyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3Jt
Q0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8q
IFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhF
NjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdD
NTlCNTQxN0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZl
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2MTYsNiArMjc2MjcsNyBAQAogCQkJCTk3N0UyRTBF
MTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyog
VXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZB
OCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVF
MDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
Yzk5MzBlODc2MWRiOTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAt
MCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gK
KworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8o
KTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5m
bygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0
Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRl
Q2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7Cisj
ZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENl
cnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9
IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQor
I2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQor
ICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNw
b25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQg
cmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmlj
YXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4g
bV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNl
bmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNh
dGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VFcnJvckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VFcnJvckJhc2UuaAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3
MDVjLi5mZmRjYWI2MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVz
b3VyY2VFcnJvckJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYg
KzUzLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7
IG1faXNUaW1lb3V0ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7
IHJldHVybiBtX2lzVGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZv
aWQgc2V0Q2VydGlmaWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKSB7IG1fY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0
aWMgYm9vbCBjb21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9y
Jik7CiAKIHByb3RlY3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBt
X2Vycm9yQ29kZTsKICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2Fs
aXplZERlc2NyaXB0aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsK
ICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29s
IG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5
NmJiODZlMjRlYjdlYjMuLmQzMGM4YTQyM2QxZmE1OTQwMzg5OTI3NGI0MGE3MmM1NDY3NzBmNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9u
c2VCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVS
TC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgog
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3Vy
Y2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFz
c1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0K
KyAgICB2b2lkIHNldENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykgeyBtX2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQorCiAg
ICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0
aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9u
CiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBt
X2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1f
cmVzb3VyY2VMb2FkVGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5m
bzsKIAogICAgIGJvb2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZp
Y2F0ZUluZm9DRk5ldC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0
aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6
fkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNl
LmgKaW5kZXggMTNhNTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEw
ZTk0NjIxZjFkNGM2OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywx
MCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRh
aW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1h
bGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1h
ZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0
cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIElu
aXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0Rh
dGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIx
M2Q3NDI3YmY3OGU5YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmlj
YXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5m
byhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4o
Y2VydGlmaWNhdGVDaGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4o
Q0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9
IGNlcnRpZmljYXRlQ2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0
aWZpY2F0ZUNoYWluKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdl
dCgpOworfQorCisjaWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBj
b25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFy
cmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhA
IkNlcnRpZmljYXRlSW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRy
aWVzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAg
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNh
dGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAg
JUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5
YTAyZDE2MjFlODNmMTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNi
YmU4OWE2NGMwMDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBA
QCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0
aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQo
IXdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwot
ICAgIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBt
X2NlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwog
fQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVD
aGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAg
ICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9j
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENG
KHdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRp
ZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2
ZThmOGYwNWI2MTY2MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJ
bmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTg2
ZWNlNGZhNTZiYTUwY2NjMjgwNmQ4OGUyNzc0OGRjZTliNWNhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwx
MiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFz
ZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBl
cnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6
ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9y
Q29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNF
cnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDog
bV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsOSBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgdGltZW91dEVycm9yKGNvbnN0IFN0cmluZyYgZmFp
bGluZ1VSTCk7CiAgICAgc3RhdGljIFJlc291cmNlRXJyb3IgYXV0aGVudGljYXRpb25FcnJvcihT
b3VwTWVzc2FnZSopOwogCi0gICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4g
bV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMp
IHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQg
c2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlID0gY2VydGlmaWNhdGU7IH0KLQogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29weShS
ZXNvdXJjZUVycm9yJikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgcGxhdGZvcm1Db21wYXJlKGNv
bnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNlRXJyb3ImIGIpOwotCi0gICAgdW5z
aWduZWQgbV90bHNFcnJvcnM7Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlm
aWNhdGU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAppbmRleCBiYTg2NTdiNTA1MDkwNTI1
N2MxZGE0Y2E3OTlmNzM3NmFkY2RkYzUyLi43ODdjNzQ3M2ZmNzIzYjVkNzU5MDUyYzEyNGZlZGVm
NTY4NjdjYzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29t
cGFueSAxMDAgSW5jLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03OCw4ICs3
OSw4IEBAIFJlc291cmNlRXJyb3IgUmVzb3VyY2VFcnJvcjo6dGxzRXJyb3IoU291cFJlcXVlc3Qq
IHJlcXVlc3QsIHVuc2lnbmVkIHRsc0Vycm9ycywKIHsKICAgICBSZXNvdXJjZUVycm9yIHJlc291
cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoU09VUF9IVFRQX0VSUk9SKSwgU09VUF9TVEFUVVNf
U1NMX0ZBSUxFRCwKICAgICAgICAgZmFpbGluZ1VSSShyZXF1ZXN0KSwgdW5hY2NlcHRhYmxlVExT
Q2VydGlmaWNhdGUoKSk7Ci0gICAgcmVzb3VyY2VFcnJvci5zZXRUTFNFcnJvcnModGxzRXJyb3Jz
KTsKLSAgICByZXNvdXJjZUVycm9yLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsKKyAgICBy
ZXNvdXJjZUVycm9yLm1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7CisgICAgcmVzb3VyY2VFcnJvci5tX2Nl
cnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7CiAgICAgcmV0dXJuIHJl
c291cmNlRXJyb3I7CiB9CiAKQEAgLTk4LDEzICs5OSwxMiBAQCBSZXNvdXJjZUVycm9yIFJlc291
cmNlRXJyb3I6OnRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpCiAKIHZvaWQg
UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1Db3B5KFJlc291cmNlRXJyb3ImIGVycm9yQ29weSkgY29u
c3QKIHsKLSAgICBlcnJvckNvcHkubV9jZXJ0aWZpY2F0ZSA9IG1fY2VydGlmaWNhdGU7Ci0gICAg
ZXJyb3JDb3B5Lm1fdGxzRXJyb3JzID0gbV90bHNFcnJvcnM7CisgICAgZXJyb3JDb3B5LnNldENl
cnRpZmljYXRlSW5mbyhtX2NlcnRpZmljYXRlSW5mbyk7CiB9CiAKIGJvb2wgUmVzb3VyY2VFcnJv
cjo6cGxhdGZvcm1Db21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImIGEsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGIpCiB7Ci0gICAgcmV0dXJuIGEudGxzRXJyb3JzKCkgPT0gYi50bHNFcnJvcnMoKTsK
KyAgICByZXR1cm4gYS5tX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSA9PSBiLm1fY2VydGlm
aWNhdGVJbmZvLnRsc0Vycm9ycygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVz
cG9uc2UuaAppbmRleCA0ODkxZjkzNWZjYmM3Zjc3MjNhNjYxNTdlZTJlZDkzM2NmNTNlMGY3Li4z
OWUxZDM3ZmVlM2UzNDZkMWY4ODRmODdjOGEzZTAzYWU2ZmYzMTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgK
QEAgLTM4LDIxICszOCwxOCBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAg
ICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRp
Y19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRp
Y19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVz
b3VyY2VSZXNwb25zZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9u
ZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJs
LCBtaW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQog
ICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQot
ICAgICAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigw
KSkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VSZXNwb25zZShTb3VwTWVzc2FnZSogc291
cE1lc3NhZ2UpCiAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UoKQogICAgICAgICAsIG1f
c291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQotICAgICAgICAsIG1f
dGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKICAgICB7CiAg
ICAgICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgfQpAQCAtNjcs
MTEgKzY0LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHNuaWZmZWRDb250ZW50VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc25pZmZlZENvbnRlbnRUeXBlOyB9CiAgICAgdm9pZCBzZXRT
bmlmZmVkQ29udGVudFR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3NuaWZmZWRDb250ZW50
VHlwZSA9IHZhbHVlOyB9CiAKLSAgICBHVGxzQ2VydGlmaWNhdGUqIHNvdXBNZXNzYWdlQ2VydGlm
aWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBz
ZXRTb3VwTWVzc2FnZUNlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsg
bV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlKiBzb3Vw
TWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8uY2Vy
dGlmaWNhdGUoKTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShHVGxzQ2Vy
dGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRl
KGNlcnRpZmljYXRlKTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3NhZ2VU
TFNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotICAgIHZvaWQgc2V0U291
cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxz
RXJyb3JzID0gdGxzRXJyb3JzOyB9CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mgc291cE1lc3Nh
Z2VUTFNFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMo
KTsgfQorICAgIHZvaWQgc2V0U291cE1lc3NhZ2VUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxh
Z3MgdGxzRXJyb3JzKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0bHNFcnJvcnMp
OyB9CiAKICAgICBib29sIHBsYXRmb3JtUmVzcG9uc2VJc1VwVG9EYXRlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIApAQCAtODAsOCArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgU291cE1lc3Nh
Z2VGbGFncyBtX3NvdXBGbGFnczsKICAgICBTdHJpbmcgbV9zbmlmZmVkQ29udGVudFR5cGU7Ci0g
ICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiAKICAgICB2b2lkIGRvVXBkYXRlUmVzb3VyY2VSZXNw
b25zZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA5YzNiMGVkYmQ5ZmQz
Y2I2NzA4YTBmOTlmZTQyZDdiMjQ1NWQyNmYwLi45OGQxOGNmMjI1Yjc4ZjZkMDA3YTMyYTA4MTVm
ZTlmN2Q0ODJmNzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTUyLDcgKzUyLDcg
QEAgU291cE1lc3NhZ2UqIFJlc291cmNlUmVzcG9uc2U6OnRvU291cE1lc3NhZ2UoKSBjb25zdAog
CiAgICAgc291cF9tZXNzYWdlX3NldF9mbGFncyhzb3VwTWVzc2FnZSwgbV9zb3VwRmxhZ3MpOwog
Ci0gICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNvdXBNZXNzYWdlKSwgInRscy1jZXJ0aWZpY2F0
ZSIsIG1fY2VydGlmaWNhdGUuZ2V0KCksICJ0bHMtZXJyb3JzIiwgbV90bHNFcnJvcnMsIE5VTEwp
OworICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNh
dGUiLCBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpLCAidGxzLWVycm9ycyIsIG1fY2Vy
dGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpLCBOVUxMKTsKIAogICAgIC8vIEJvZHkgZGF0YSBpcyBu
b3QgaW4gdGhlIG1lc3NhZ2UuCiAgICAgcmV0dXJuIHNvdXBNZXNzYWdlOwpAQCAtNjgsOCArNjgs
MTAgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1l
c3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9m
bGFncyhzb3VwTWVzc2FnZSk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlID0g
MDsKLSAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNlcnRp
ZmljYXRlLCAmbV90bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsK
KyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnM7CisgICAgc291cF9tZXNzYWdlX2dl
dF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJnRsc0Vycm9ycyk7Cisg
ICAgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHRsc0Vycm9ycyk7CisgICAgbV9jZXJ0
aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUpOwogCiAgICAgdXBkYXRlRnJv
bVNvdXBNZXNzYWdlSGVhZGVycyhzb3VwTWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycyk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAxZTMyMGM5ZTljYzAzNWJhYWIyYzBkZGNm
NDRkNjg3OGQyNTRlOGU0Li43MDZmZTk5MGVhMWQ0ZTk1NzZjNzYxYzI4NzJhMDg2MTZjNjM2NzY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ4MSw4ICs0ODEsNiBAQCB3ZWJr
aXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBc
CiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvU291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1RleHRDaGVja2VyU3RhdGUuaCBcCkBAIC0xMzUzLDggKzEzNTEsNiBAQCB3
ZWJraXQyX3BsdWdpbl9wcm9jZXNzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fp
cm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRl
ckNsaWVudC5jcHAKaW5kZXggMWJhZjViMTlhYjIwMDNlNTQ4ZDAzYmMyZTY1ODJiMjJhNDNlYjdh
Ny4uNDk2ZDA3NWVkZTEyOGZiZmQ5OWI0MTYwOTE4N2FhNjQwZjEzMmQ4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKQEAgLTI4LDEwICsyOCwxMSBAQAogCiAjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KIApAQCAtNjMsNyArNjQsNyBAQCB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGll
bnQ6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoTmV0dwogCiB2b2lkIEFz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZShOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CiB7Ci0gICAgbG9hZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291
cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNl
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIGxvYWRlci0+aXNMb2FkaW5nTWFp
blJlc291cmNlKCkpKTsKKyAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdl
czo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8ocmVzcG9uc2UsIHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygpLCBsb2FkZXItPmlzTG9hZGlu
Z01haW5SZXNvdXJjZSgpKSk7CiB9CiAKIHZvaWQgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgU2hh
cmVkQnVmZmVyKiBidWZmZXIsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDAxMjgxNzRhMzY4MTFj
MWRjZDI3MmJmMDNjZWMxMDQwNWVkZDExMDAuLmQ2ZjBlMGRkMGFmYmM3ZmZiMmU2MDE4N2NhYzRl
MDZlODFmYTg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaApAQCAtMzYsNyArMzYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBSdW5Mb29wOworY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOworY2xhc3MgUnVuTG9vcDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NCw3
ICs0NSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2Vy
OwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQ7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIHN0cnVjdCBO
ZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3Mg
OiBwdWJsaWMgQ2hpbGRQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50IHsK
QEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRD
YWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYg
aG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2
b2lkIGdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAg
ICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluCmluZGV4IGE1ZmNiYzdiZTk0MDI4MDdjMWU1NTYyYTNlZTY5ZmY2MDY5
ODVkZDcuLjMyYmNlMDViOGNiNTBlMGU2MjA3YTlhOGFjMGRjMTcwMjRjNDQ1NmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExl
Z2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxh
ZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdl
YktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhv
c3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBH
ZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDE2MzBhMmI0N2ExM2ZjYWZmODE3OWE3YzQwYjRiMDk1YzYzMjYzOGEu
LjJmOGE0OWY4ODNhMTk4M2QyNzMwMGE1YTRjYTIwNGFmYjAzNTExMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJT
aGFyZWFibGVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1t
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1t
CmluZGV4IGUxOTdmZjM5NmY3MGE3N2E5NTYyZDM1YWI1M2QyYzQ0NTM1Y2MwMmUuLmY2NGQyZmU0
NzQyZWY0MzYyM2Q1MGU5NDY4MTMwNjRiMWQzZTc0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTMwLDEz
ICszMCwxMyBAQAogCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IgogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1w
b3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYkNv
cmUvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL2hvc3RfaW5mby5oPgogI2ltcG9ydCA8bWFjaC9t
YWNoLmg+CkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1T
ZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICBbbnN1cmxDYWNoZSBzZXRE
aXNrQ2FwYWNpdHk6c3RkOjptYXg8dW5zaWduZWQgbG9uZz4odXJsQ2FjaGVEaXNrQ2FwYWNpdHks
IFtuc3VybENhY2hlIGRpc2tDYXBhY2l0eV0pXTsgLy8gRG9uJ3Qgc2hyaW5rIGEgYmlnIGRpc2sg
Y2FjaGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiB9CiAKLXZvaWQgTmV0d29ya1By
b2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2
b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9z
dCkKIHsKICAgICBbTlNVUkxSZXF1ZXN0IHNldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkgZm9ySG9zdDoo
TlNTdHJpbmcgKilob3N0XTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNmNlYTJl
MTUzZGNjMDgyOWQzYTEwYjAwNWIyMDU1NGRhNGM5NDE5OS4uMDA4YTg1NmY1MWM3ZTQyZjlkZmYz
NWJiOWMxODMyZjU4YTg3OWNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQ2LDcg
KzQ2LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJz
L1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAog
CiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UKaW5kZXggYzBiZDBmYTQ0ZjE0OTk3YjEzNTg4NzE0N2Q0ZjQ5MWRlNzUwOTEzNS4u
NDFlNTk3MWY3ZWYwMThlMGM5NjkzZmJhMzQ5Mjg2NjEzMDZhNGFiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VT
CiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVk
L2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxl
ci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0
aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDM0ZGQ0MzE1MTlhMzk5YTNkZDgzZTBlODIzZjQzNDc1
YzJlM2JmYWIuLjMyZmEyMWZlMmViZmYzNmIwYTIxYTY5OGEwMWEwZDNmZWU2ZDE4MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9N
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRl
SW5mb01hYy5tbQpAQCAtMjksMTUgKzI5LDE2IEBACiAjaW1wb3J0ICJXS0FQSUNhc3QuaCIKICNp
bXBvcnQgIldlYkNlcnRpZmljYXRlSW5mby5oIgogCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdLQ2VydGlm
aWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRl
Q2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZv
ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY2Vy
dGlmaWNhdGVDaGFpbikpOworICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmlj
YXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKENlcnRpZmljYXRlSW5mbyhjZXJ0
aWZpY2F0ZUNoYWluKSk7CiAgICAgcmV0dXJuIHRvQVBJKGNlcnRpZmljYXRlSW5mby5yZWxlYXNl
KCkubGVha1JlZigpKTsKIH0KIAogQ0ZBcnJheVJlZiBXS0NlcnRpZmljYXRlSW5mb0dldENlcnRp
ZmljYXRlQ2hhaW4oV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVJbmZvUmVmKQogewot
ICAgIHJldHVybiB0b0ltcGwoY2VydGlmaWNhdGVJbmZvUmVmKS0+cGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgcmV0dXJuIHRvSW1wbChjZXJ0aWZpY2F0
ZUluZm9SZWYpLT5jZXJ0aWZpY2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDdmN2RjYTJkZDJlNDI4MjVmYTU4MTdiMWQyY2Yw
ZmNlOTFiM2ZiNzguLmUyZjQ1MzIyOWNiN2RiZGZkMzNjM2Q2YzZiNjJiYTAyNmZiNzE2YzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCkBAIC05OCwyMCArOTgsMjAgQEAgdm9pZCBBdXRo
ZW50aWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3du
bG9hZCogZG93bmxvYWQKIAogLy8gQ3VycmVudGx5LCBvbmx5IE1hYyBrbm93cyBob3cgdG8gcmVz
cG9uZCB0byBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2VzIHdpdGggY2VydGlmaWNhdGUgaW5mby4K
ICNpZiAhVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2Vy
Ojp0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JikKK2Jvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JD
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mKQogewogICAgIHJldHVybiBmYWxzZTsKIH0KICNlbmRpZgogCi12b2lk
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgQXV0aGVudGljYXRpb25N
YW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBj
b25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlID0gbV9jaGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdl
SUQpOwogICAgIEFTU0VSVCghY2hhbGxlbmdlLmlzTnVsbCgpKTsKICAgICAKLSAgICBpZiAodHJ5
VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY2hhbGxlbmdlLCBjZXJ0aWZp
Y2F0ZUluZm8pKQorICAgIGlmICh0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY2hh
bGxlbmdlLCBjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgQXV0
aGVudGljYXRpb25DbGllbnQqIGNvcmVDbGllbnQgPSBjaGFsbGVuZ2UuYXV0aGVudGljYXRpb25D
bGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0YzZmODFlOTUzOTBmZjcwZDM4
MTgyYmRjOWI0MjZiYTZlMDFhNTkxLi5kZmUxZTYxYmJkNGYzZGZiY2Y5ZDEzMDBiYTU4Mjk3NjUw
NDc0ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAg
ICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNzIENlcnRpZmljYXRlSW5mbzsKIH0KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwot
Y2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGcmFtZTsKIAogY2xhc3Mg
QXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwdWJs
aWMgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2Vp
dmVyIHsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxv
YWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25z
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYs
IGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRo
b3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9p
ZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyAr
NjksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5
VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1
aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCmluZGV4IGJiMWNjMzBjYTZiYzU5MWJkZWRlZDQxZjBmNTE5NWVjNzZjOTYx
ZGQuLjM0ZGI5YjIwOGJmMWZkMTczZDgxYTQ2Yzc2ZjhmODY0NmRmM2Q1ZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZv
aWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29y
ZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0
X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91dENy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgQ2Fu
Y2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBjMGI5MmYxMmI0ZWYyZDQ4NDI1ZGQyYjdmZTM0
MWU3NjljMjc2MDEzLi44YjZkNzEzNDk3OGIwNTUxYTBkNDEwMmNjZGU2NjJmNzQwMDM2ODU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCwxNSArMjgs
MTUgQEAKIAogI2lmIFVTRShTRUNVUklUWV9GUkFNRVdPUkspCiAKLSNpbmNsdWRlICJQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnRyeVVzZVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJiBjaGFsbGVuZ2UsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8pCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2Us
IGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIENGQXJyYXlS
ZWYgY2hhaW4gPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOwogICAgIGlmICgh
Y2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2Rl
cnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDAw
MjJmMzEwNTVlOTRjNjg1ODBmYmFjZDQ0ZGUzNmIwZjdkMDRlOGIuLmQ5YjE0MDlkODZmODEyOTI5
ZTkxNWU1MGRhOGRmMDAwMmZhNGUyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVz
c2FnZUNvZGVycy5oCkBAIC0yMTUsNyArMjE1LDcgQEAgcHVibGljOgogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvOiB7CiAgICAgICAgICAgICBX
ZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbyA9IHN0YXRpY19jYXN0PFdlYkNlcnRp
ZmljYXRlSW5mbyo+KG1fcm9vdCk7Ci0gICAgICAgICAgICBlbmNvZGVyIDw8IGNlcnRpZmljYXRl
SW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgICAgIGVuY29kZXIgPDwg
Y2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlRXJyb3I6IHsKQEAg
LTUwNCwxMCArNTA0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAg
ICAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKLSAg
ICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pKQor
ICAgICAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAg
ICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0
aWZpY2F0ZUluZm86OmNyZWF0ZShwbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk7CisgICAgICAgICAg
ICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShjZXJ0aWZpY2F0ZUlu
Zm8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmpl
Y3Q6OlR5cGVFcnJvcjogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNl
cnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5m
by5oCmluZGV4IDA2MTgyZmNlMmZjNmQ1OTdlOWY1ZjhjMDM5NTc3MTlhMmFhNjJhZjUuLmM4ZmJh
Y2NkNGJmNTllNDZhNzc1NzYxOGUxNTFkNTQ2NWM3NjM5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBX
ZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm8gOiBwdWJsaWMgVHlwZWRBUElPYmplY3Q8QVBJ
T2JqZWN0OjpUeXBlQ2VydGlmaWNhdGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBj
cmVhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0K
IAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBwbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2Vi
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQotICAg
ICAgICA6IG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oaW5mbykKKyAgICBleHBsaWNpdCBXZWJD
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAg
ICAgICA6IG1fY2VydGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAgIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIG1fcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCmluZGV4IGM5ODdkMjhmYzZmNmU1NWU5NmNhYzdlMGUwODA1YjA5MDYyYjdhOGUuLmY3
OTQ3MmJlYTEwNTUyMDYwODU0MzVmNjc4MjA4Njk5M2I5NGNlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVu
dGlhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC0zOSwxMyArNDAsMTMgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
R3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2UuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVy
cm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2Vy
Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Vz
ZXJTY3JpcHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTdHlsZVNoZWV0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgpAQCAtNTQ3LDYgKzU0OCwyMiBAQCBib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIFJlc291cmNlUgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50
Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxh
dGZvcm1EYXRhKGVuY29kZXIsIGNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRD
b2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGU7CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0
aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mbyA9
IGNlcnRpZmljYXRlOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8
UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgaWYgKGtTaG91bGRTZXJpYWxpemVX
ZWJDb3JlRGF0YSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5oCmluZGV4IGE5NjVkZTg1NTIyN2IxZjE0MzIzZGY4MTc3ZjJiOTk5NTk5OTNkODAuLjc3
MzM2MTYyNzNiOGVjODRlMThkMzE2YTQzNGFiZGQ2MWE0ODM3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1lVmFsdWVMaXN0OwogICAgIGNsYXNz
IFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CisgICAgY2xhc3MgQ2VydGlmaWNhdGVJbmZv
OwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwog
ICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTE3MCw2ICsxNzEsMTMgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiB7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVy
JiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBjb25zdCBib29sIGtT
aG91bGRTZXJpYWxpemVXZWJDb3JlRGF0YSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNjY2Q2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBA
IC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotCi1u
YW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOwotICAgIGNsYXNz
IEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
bygpOwotICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZp
Y2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0K
LSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBjb25zdDsK
LSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmlj
YXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNGE3MzU0NWM1YmQxNjhmNmFhOTI2ZDk3NDYzMThlNGE2Y2E4ZTAyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0
ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLVBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0
aWZpY2F0ZUNoYWluKCkpCi17Ci19Ci0KLVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBlbmNvZGVy
IDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVl
OwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkp
OwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAg
ICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXND
ZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQ
Qzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12b2lkIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25lZCBlbnRy
aWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlmaWNhdGVD
aGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb1xu
Iik7Ci0gICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0cjxDRlN0
cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVjdFN1bW1h
cnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0
ZUNoYWluLmdldCgpLCBpKSkpOwotICAgICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilz
dW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENv
ZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzTWFjLm1tCmluZGV4IGMxMjYwMDAzZWExNGY1NjUyNTBmZTBlYzBhMjgzMDE1YTM4ZjZlNDUu
LjkwMjY2MDlmZjhmZjM2MTkzOWM0MTMxMTMwMmUzZmU0YjhjN2UxZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBA
IC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
NywxNCArMjgsMTQgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiAjaW1w
b3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxXZWJDb3Jl
L0tleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXF1ZXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KIAogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3Bh
Y2UgQ29yZUlQQyB7CiAKQEAgLTEzMiw2ICsxMzMsMzcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJl
c291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNv
ZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNh
dGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29u
c3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJlZiBj
ZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAg
ICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBD
OjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1lbnRD
b2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29s
IGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZp
Y2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZp
Y2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFycmF5
UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIs
IGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZp
Y2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0IFN0
cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5nIHN0
cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0cmlu
Zy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpAQCAtMTY4LDcg
KzIwMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwKIAogICAgIGlkIHBlZXJDZXJ0aWZpY2F0
ZUNoYWluID0gW3VzZXJJbmZvIG9iamVjdEZvcktleTpAIk5TRXJyb3JQZWVyQ2VydGlmaWNhdGVD
aGFpbktleSJdOwogICAgIEFTU0VSVCghcGVlckNlcnRpZmljYXRlQ2hhaW4gfHwgW3BlZXJDZXJ0
aWZpY2F0ZUNoYWluIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSk7Ci0gICAgZW5jb2Rl
ciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlmaWNhdGVD
aGFpbik7CisgICAgZW5jb2RlciA8PCBDZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYpcGVlckNl
cnRpZmljYXRlQ2hhaW4pOwogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46
OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJy
b3ImIHJlc291cmNlRXJyb3IpCkBAIC0xOTQsNyArMjI2LDcgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNv
ZGVyLAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RyaW5nVXNlckluZm9NYXApKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZTsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShjZXJ0aWZpY2F0ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjkwNGI0YWU2ZTViNTMyYjAzOWRkNWNmZGE2
ZTdlZWJhNjcxNGViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVy
LmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rsc0Vycm9y
cyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLVBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGUocmVzcG9uc2Uuc291cE1lc3Nh
Z2VDZXJ0aWZpY2F0ZSgpKQotICAgICwgbV90bHNFcnJvcnMocmVzcG9uc2Uuc291cE1lc3NhZ2VU
TFNFcnJvcnMoKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi0gICAgOiBt
X2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vy
cm9ycygpKSkKLXsKLX0KLQotUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86On5QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29k
ZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFt
X2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAgIGdf
b2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRlIiwg
JmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKLSAg
ICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRv
cHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0
aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0
aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90
bHNFcnJvcnMpOwotfQotCi1ib29sIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmlj
YXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
LnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0
aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNr
ZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5t
X2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3
KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0KCksIE5VTEwp
KSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0
bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1f
dGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycyk7
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyMzFmMzZkYjMyZjhkOGI0MDI2N2I2ZGI0
NWMxNDdmNjFjMDU1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNs
dWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNz
IEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7
Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
byB7Ci1wdWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNp
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
Jik7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYpOwotICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOwotCi0gICAg
R1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNh
dGUuZ2V0KCk7IH0KLSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25zdCB7
IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAg
R1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2Vu
ZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggZGM0
ZTExOTE3NTdlY2UxNzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0Ni4uNzYxN2IzNmViNjQwMjk3OGNh
ZTMwY2Y0MWU2NDViNTMwMzY3YmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OCwxOSArNjksNjkgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGUKIH0KIAogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6
ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKKyAgICBn
X29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAiY2Vy
dGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBpZiAoIWNlcnRpZmljYXRl
RGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBlbmNvZGVyLmVuY29kZVZh
cmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUt
PmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVp
bnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQorCitib29sIEFyZ3VtZW50
Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2Rl
ciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9v
bCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRl
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhC
eXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVk
X25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0aWZpY2F0ZURh
dGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAg
R1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNlcnRpZmlj
YXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0
X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNhdGUgPSBh
ZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2VuZF9n
ZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKKyAgICAgICAgImNlcnRpZmljYXRl
IiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0
Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3Jz
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0Nl
cnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKKwog
dm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9y
KQogewotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzb3VyY2VFcnJv
cik7CisgICAgZW5jb2RlciA8PCByZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlSW5mbygpOwogfQog
CiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShB
cmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7
Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgIENlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjZXJ0
aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJjZUVycm9y
LnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKLSAgICByZXNv
dXJjZUVycm9yLnNldFRMU0Vycm9ycyhjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworICAg
IHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNmNTgzMTYx
OTU2N2FkOTUxNS4uOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMwMmYzODJhYzIyMjViNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNpbmNs
dWRlICJJbWFnZU9wdGlvbnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRN
ZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAgLTU5LDYg
KzU4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldl
YktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcsNyBAQCBn
Ym9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVy
biBGQUxTRTsKIAotICAgIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCk7CiAg
ICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDlmNjQ4ODVhZTg4NDg0ZGM3NDE1MTU3Mjlm
NTU0YjlmNTI2YTVkZDUuLmQ1NTczZGFjYTgzMmRkZWVlNDYxY2YxYjMxMWYyMTdmYzMyODA2ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2
LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50
aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAg
V2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZp
Y2F0ZUluZm8oKTsKLSAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZv
ID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5wbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRl
SW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29y
ZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAppbmRleCBjNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1NGM5N2Q0
MjhiLi45NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1ZDIxZmEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBAQCB2b2lk
IFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBX
ZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAgICBp
ZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAgICAgICBt
X25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5wbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbygpLCBob3N0KSwgMCk7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoY2VydGlmaWNhdGUtPmNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuY3BwCmluZGV4IGE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQyZjMuLmMy
OWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFdl
YkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFjaGFibGVV
UkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1p
dExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRlID09IExv
YWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNvbW1pdHRl
ZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDBiZWU2NjZm
ZmZkNGFmMmQxMWI1ZmM3ZGFkMjc0OGEyNjk2YjZhZDUuLjQ5NWYzNDY3MjE1MWVlOTY5YmM4OWNl
YWQ3ZjcxYjUxNGUzZDA0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuaApAQCAtNDAsMTAgKzQwLDE0IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFzcyBD
b25uZWN0aW9uOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUlu
Zm87Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKLWNs
YXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOworCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDYsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJs
KTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1p
dExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5pc2hM
b2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3VtZW50
TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBzZXNz
aW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKaW5kZXggYTc0M2VjNjk1NzY0YjM4NTlhZTVkZTJhNWRiNDkzNzQ5NzQ2ZmY1Ny4uMmYyMGNj
NTNmNmU1NTMzZGJmOWI5Yzc4NjIwMTkwNmFhYzBkYjdkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIxOTAsNyArMjE5MCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAotdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3Bh
cXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8s
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxBUElPYmpl
Y3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURl
Y29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggZmM2NmMxNzY5MzE1YzM2OTcwMTc3MzQ5MzBlMWQxZjk0NjM4
ZGM2Yy4uZTgyYWExNmEwZDM0NDcyOWM2MTZmY2JiZjBhMjE5NjgyZTA4NTI5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNzTGF5
ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiAgICAg
Y2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBzdHJ1
Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNSw3ICsxMjYsNiBAQCBjbGFzcyBOYXRpdmVX
ZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIE5hdGl2
ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwotY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRM
aXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc4NCw3ICs3ODQsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVS
TCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
dWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mLCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1l
TG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmlu
aXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggYTk4NTM4YmUxMjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZC4uMWFmZGYwMTJkOGEy
OTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRfdCBm
cmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBs
b2FkVHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8s
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlh
ZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3Ry
aW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJy
b3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBkNGQ0NWQ4NmUzNzI4YmJmMGJjNTIwMzQzZDVkMTY5YjY5NDc2NjFi
Li4wZGVkMTM0MzE4ZTMzYzA5MWQyNGI2YmNlOTQ4Zjk4NDUwOThiOWY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDMyLDgg
KzEwMzIsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2
N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRC
RDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAv
KiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAw
Qzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29u
dGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJ
CUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYw
MDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2
RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0
b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYzLDggKzI0NjEsNiBAQAogCQlCQ0YxODYzNzE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0
U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0
U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMw
NDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
IAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhp
c3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
SGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTU5LDgg
KzQxNTUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlw
ZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMu
aCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAq
LywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5m
b01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyogUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTE5LDcgKzUxMTMsNiBAQAogCQkJ
CUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMwNDdC
MDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nl
c3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEz
NzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyODAsNyArNjI3Myw2IEBACiAJCQkJ
MkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2lu
UGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5
N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJD
RjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVw
TWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIxMzcx
IC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JB
NjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcAppbmRleCBkNTc1MTczMjFmMjZjMDgzNTcwZjgyZGFlMjBlMGVlOWI5YmZlOGJmLi5iMTZh
MDE1ZTZhMTQ1NDE3N2Y2YzRiNWI5MTAzY2E1NTkxMzM4OWFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNz
YWdlcy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KQEAgLTk5
LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxvYWRlci0+
ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12b2lkIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0
aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2Vzcykg
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8g
Zm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLnV0Zjgo
KS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdlYlJlc291
cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFpbihj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXNwb25zZUNvcHkuc2V0
Q2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbyk7CiAgICAgbV9jb3JlTG9hZGVyLT5kaWRS
ZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRlciBi
ZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFj
aywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCAwODEy
Yzk5YWY1OGQ4ZDVhNjkyNDQ1YTk5Y2RiM2ZiZjBlNGJjOTljLi5mNzQ1MjE5NWM0ODNhMzNjMGMy
OTljNjM3ZDgyMTU5YTVmODBmZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFz
cyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsK
IGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xhc3Mg
V2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4s
IHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2Up
OwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3Rh
bEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNz
YWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0
X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRv
dWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4
IDdiNDA0NWU2NjlhNGY5ZWZkZDU2MmRlMWEyOTg3NDJhOGFlZjI2YWYuLjRhNjIwNDJjNTVkNTQ0
MjBlODA2NTYwZjJjMGJhMzNkM2JhOTg0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMu
aW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5
UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVj
aCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJl
cXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRl
c1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2Us
IFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5l
ZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNw
b25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25z
ZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0Nv
bnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShDb3Jl
SVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAg
RGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNv
dXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKaW5kZXggM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5YzgxOWZkYjhk
M2FmZC4uNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJmMGE5ZTJjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1lc3Nh
Z2VDb2RlcnMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1
ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgog
I2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1
ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkgdGhlIFVJ
UHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
Q29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUo
KSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKHJlc3BvbnNlKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIo
dXNlckRhdGEuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWRDb21taXRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCByZXNwb25zZS5t
aW1lVHlwZSgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkubG9hZFR5cGUoKSwgcmVz
cG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
KHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2ZyYW1l
KTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214160</attachid>
            <date>2013-10-14 10:10:04 -0700</date>
            <delta_ts>2013-10-15 03:18:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118520-20131014191001.patch</filename>
            <type>text/plain</type>
            <size>102355</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI5NWZkNmVlOWIzNGVk
MmRjNzVhNTUwYzQ1NjQxZWM4ZWYwYTIwYi4uZDg5N2MyYjZjNzdlZGM1M2U0YmU1NWM3ODBkN2I5
ZWQwMDIxYTQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTE0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNl
IHByaW1pdGl2ZXMgd29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgIEFkZGVk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJy
b3JCYXNlCisgICAgICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcg
YW5kIHNldHRpbmcgY2VydGlmaWNhdGVzCisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0u
CisKKyAgICAgICAgQ2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlm
aWNhdGUgZ2V0dGVycyBhbmQgc2V0dGVycworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBS
ZXNvdXJjZVJlc3BvbnNlIHRvIHVzZSB0aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8gbWVtYmVyLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxz
a3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJl
IGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0
cyByZXNvbHZlZCBpbiBXZWJDb3JlLmV4cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwLAorICAgICAgICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYW5kIFBsYXRmb3JtRWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4
IGluIHRoZSBuZXcgQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAg
LSBzdHlsZSBmaXhlZCAoTlVMTCAtPiAwIGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwKQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1v
dmVkIGZyb20gTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5
cG8gcmVtb3ZlZCBmcm9tIFJlc291cmNlSGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0
aGUgaWYgZ3VhcmQgb2YgaW5jbHVkaW5nIFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggdG8gbWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mb0NGTmV0LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBk
ZXN0cnVjdG9yIHRvIG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZl
ZCBjb25mbGljdCBpbiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYWZ0ZXIgcjE1NjQ4OAorICAgICAgICAtIHJlbmFtZWQgS1VSTCB0byBVUkwgYWZ0ZXIg
cjE1NjU1MC4KKyAgICAgICAgLSByZW1vdmVkIG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAg
LSBhZGRlZCBiYWNrIGluaXRpYWxpemVycyBmb3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNs
dWRlZCBnaW8vZ2lvLmggaW5zdGVhZCBvZiBsaWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCisgICAgICAgIC0gcmVtb3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNs
YXJhdGlvbnMgYW5kIGluY2x1ZGVzCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgu
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmlj
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp0bHNFcnJv
cnMpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OnNldFRMU0Vy
cm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvckJhc2U6OnBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3JCYXNlOjpzZXRQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3Bv
bnNlQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpzZXRQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9NYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OnNldENlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm86OmNlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm86OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlUmVzcG9uc2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
OjpzZXRDZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OmNlcnRpZmljYXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb1NvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpSZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlRXJyb3I6OnRsc0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yOjpzZXRUTFNFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cjo6Y2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0Q2Vy
dGlmaWNhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9y
U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpwbGF0Zm9ybUNvcHkp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0U291cE1lc3NhZ2VDZXJ0
aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzb3VwTWVzc2Fn
ZVRMU0Vycm9ycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3Vw
TWVzc2FnZVRMU0Vycm9ycyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnRvU291cE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6dXBk
YXRlRnJvbVNvdXBNZXNzYWdlKToKKwogMjAxMy0xMC0xNCAgQXJ2aWQgTmlsc3NvbiAgPGFuaWxz
c29uQGJsYWNrYmVycnkuY29tPgogCiAgICAgICAgIERvbid0IGNyYXNoIGFmdGVyIE9wZW5HTCBy
b2J1c3RuZXNzIHJlc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjcyOWQzOTE4ZGVlNjc3YzE5Y2QzYjQxZGFi
ZGU1YjhmYTFkZjJiOC4uODdmZTM3M2UyMWVkODg5ODAzYjRlNGU4YWZiMDc2YTgzYzhkMDQyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEzLTEwLTE0ICBDc2FiYSBPc3p0cm9nb27D
oWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyB0byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2ZXMg
d29yayBpbiB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgIEFkZGVkIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIGdldHRlciBhbmQgc2V0dGVyIHRvIFJlc291cmNlRXJyb3JCYXNlCisgICAg
ICAgIGFuZCBSZXNvdXJjZVJlc3BvbnNlQmFzZSBzbyB0aGF0IGdldHRpbmcgYW5kIHNldHRpbmcg
Y2VydGlmaWNhdGVzCisgICAgICAgIGJlY29tZXMgY3Jvc3MgcGxhdGZvcm0uCisKKyAgICAgICAg
Q2hhbmdlZCB0aGUgZXhpc3RpbmcgcGxhdGZvcm0gc3BlY2lmaWMgY2VydGlmaWNhdGUgZ2V0dGVy
cyBhbmQgc2V0dGVycworICAgICAgICBvZiBSZXNvdXJjZUVycm9yIGFuZCBSZXNvdXJjZVJlc3Bv
bnNlIHRvIHVzZSB0aGUKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbWVtYmVyLgor
CisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55
MTAwLm5ldD4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENz
YWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSB0cml2aWFsIGNvbmZsaWN0cyByZXNvbHZlZCBp
biBXZWJDb3JlLmV4cC5pbiwgcHJvamVjdC5wYnhwcm9qLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwLAorICAgICAgICAgIFdlYlBhZ2VQcm94eS5oLCBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAg
YW5kIFBsYXRmb3JtRWZsLmNtYWtlLgorICAgICAgICAtIHRyaXZpYWwgZml4IGluIHRoZSBuZXcg
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKyAgICAgICAgLSBzdHlsZSBmaXhl
ZCAoTlVMTCAtPiAwIGFuZCBzbWFsbGVyIGluZGVudGF0aW9uIGluIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwKQorICAgICAgICAtIG9ic29sZXRlIGNoYW5nZSByZW1vdmVkIGZyb20gTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAorICAgICAgICAtIHVubmVlZGVkIHR5cG8gcmVtb3ZlZCBm
cm9tIFJlc291cmNlSGFuZGxlU291cC5jcHAKKyAgICAgICAgLSBGaXhlZCB0aGUgaWYgZ3VhcmQg
b2YgaW5jbHVkaW5nIFJldGFpblB0ci5oIGluIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggdG8g
bWFrZSBXaW5kb3dzIGJ1aWxkIGhhcHB5LgorICAgICAgICAtIGFkZCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb0NGTmV0LmNwcCB3aXRoIGVtcHR5IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIHRv
IG1ha2UgV2luZG93cyBidWlsZCBoYXBweS4KKyAgICAgICAgLSByZXNvbHZlIGNvbmZsaWN0IGlu
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBhZnRlciBy
MTU2NDg4CisgICAgICAgIC0gcmVuYW1lIEtVUkwgdG8gVVJMIGFmdGVyIHIxNTY1NTAuCisgICAg
ICAgIC0gcmVtb3ZlIG9ic29sZXRlIFF0IGNoYW5nZXMKKyAgICAgICAgLSBhZGRlZCBiYWNrIGlu
aXRpYWxpemVycyBmb3IgbV9zb3VwRmxhZ3MKKyAgICAgICAgLSBpbmNsdWRlZCBnaW8vZ2lvLmgg
aW5zdGVhZCBvZiBsaWJzb3VwL3NvdXAuaCBpbiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCisg
ICAgICAgIC0gcmVtb3ZlZCB1bnVzZWQgY2xhc3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgYW5kIGlu
Y2x1ZGVzCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9u
c2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNh
dGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICog
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgor
ICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0
aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
OgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJ
UEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6Cisg
ICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVGFyZ2V0
LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToK
KwogMjAxMy0xMC0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
RGVwcmVjYXRlIG9yIHJlbW92ZSBkZWxldGVBbGxWYWx1ZXMgZnVuY3Rpb25zOyB0aGVyZSBhcmUg
b25seSBhIGZldyBjYWxsIHNpdGVzIGxlZnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDdjOTMxOTk3Y2FhODk4NTFmMzdhNTA5YzE1N2JiNDYyNjk1Zjk0ZmMuLmNlODE2Mjk4ZmFi
Yjg3Y2MxNWQ3N2VjN2YyNDM1YjQzNWIzOGQyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNTQwOSw2ICs1NDA5LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ0Myw2ICs1
NDQ0LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlU291cC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0
aWZpY2F0ZUluZm9Tb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5k
ZXggYzk4YjdhM2IyNDlkMzdjYmNmY2MwMzMyMmM5NThkY2NjOThmZWJkMy4uZWNhYTc3ODU3YTIy
NmNlMGE5MTUxZGQwMDUyMzkzYjk5MjgzMDAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE0OCw2ICsxNDgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50
aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE2YWRjOWIwYWIyNjVl
ZjhlMzkzNDRiMGYwMDg4YzU2MjFlZGRmZWQuLjE0NjZiZGQwMzQxMjk3ZDJkY2U0N2VhNjM0MmU4
MTA0OWYyYzk3ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsNiArNzYyLDExIEBAIF9f
Wk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xp
ZW50RVBOU18yMEF1dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQzFFUktOU18xNVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJl
c291cmNlUmVzcG9uc2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFi
bGVTdHlsZVByb3BlcnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2Vi
Q29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CitfX1pON1dlYkNvcmUxNUNlcnRpZmlj
YXRlSW5mbzE5c2V0Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRl
SW5mb0MxRXYKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgorX19aTks3V2ViQ29y
ZTE1Q2VydGlmaWNhdGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dl
YkNvcmUyM2RhdGFGb3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2Rl
Y29kZUhvc3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGJjM2Q0MTA2NGQ5NjFm
ZWJlODliYWU0YWE2NDllNDhiYzA0YzcyZTIuLmE5YWI3NDVmNjE1NjRkZDEzOWZmYmJhOTI2ZDAy
YWQyZDM5M2ZlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagpAQCAtNzk3Myw2ICs3OTczLDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21w
aWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0
aWZpY2F0ZUluZm9DRk5ldC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9X
aW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFy
Q0ZOZXQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5MDQzLDYgKzE5MDQ5LDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5k
bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxv
YlN0b3JhZ2VEYXRhLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXENlcnRpZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cbmV0d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCBmYzZhNmE3YThiYjQ5ODVlNmU3NDIzNDU5ZGQ2NzUzNzNmODI4ZWE0Li44
YzllNmE3ZTJjNjlhODU5OWRlZDExZjJhMTY4ZGZmMmZlZDM3ZGExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC04NTI5LDYgKzg1MjksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
bmV0d29ya1xCbG9iU3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdv
cms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgorICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxuZXR3b3JrPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8Rmls
dGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NjE3
ZTI4ZmUwZGQ4MDg2MGMwNDIzYmM2ZTJmNzA4MWRhZDZiMGMzLi4zYTg1ZDIyZjIxODlhMjE3MzI1
MzI1YjFjNjhlYjMwNTI4MDE2MjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODYwLDcgKzE4NjAsMTAgQEAKIAkJNURGN0Y1
QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRl
ZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlE
MTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQx
NjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNj
aGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBT
Y2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsg
fTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4
RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENB
MTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUy
NTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFG
MzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3Bw
ICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBE
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250
ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTg0MjgsNyArODQzMSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVt
VmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5
c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4
MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJj
ZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUz
MzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUg
LyogSlNFdmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNF
dmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZE
MUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1
cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNw
YXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRp
YWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIx
MzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTMyMTIsNiArMTMyMTgsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJ
CQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAv
KiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZE
MkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCkBAIC0xMzU0Nyw2ICsxMzU1NCw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJB
QUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8s
CiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5
ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMw
OUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTAyMiw2ICsx
NTAzMCw3IEBACiAJCQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhh
bmRsZS5jcHAgKi8sCiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJj
ZUhhbmRsZS5oICovLAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFn
ZURhdGEuaCAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvLmggKi8sCiAJCQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2Uu
aCAqLywKIAkJCQk1MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8s
CiAJCQkJNTE0Qzc2NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1
MDgyLDYgKzE1MDkxLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUw
MDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUw
MDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJE
MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2
MEIwMEYzMkQ0MCAvKiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAw
REZCQTcxIC8qIENvb2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1MjcsNiArMjM1Mzcs
NyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3Jt
Q0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8q
IFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhF
NjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdD
NTlCNTQxN0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZl
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2MTYsNiArMjc2MjcsNyBAQAogCQkJCTk3N0UyRTBF
MTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyog
VXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZB
OCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVF
MDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
Yzk5MzBlODc2MWRiOTFiMTk0NTgwMzA0MWI3ZjIyNTBhMzUzNjIyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApAQCAt
MCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gK
KworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKKyNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CisjZWxpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8o
KTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKKyNlbmRpZgorCisgICAgfkNlcnRpZmljYXRlSW5m
bygpOworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIHZvaWQgc2V0
Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVmKTsKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRl
Q2hhaW4oKSBjb25zdDsKKyNpZm5kZWYgTkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7Cisj
ZW5kaWYKKworI2VsaWYgVVNFKFNPVVApCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENl
cnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9
IGNlcnRpZmljYXRlOyB9CisKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQor
I2VuZGlmCisKK3ByaXZhdGU6CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQor
ICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNw
b25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQg
cmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2NlcnRpZmlj
YXRlQ2hhaW47CisjZWxpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4g
bV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKKyNl
bmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNh
dGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VFcnJvckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VFcnJvckJhc2UuaAppbmRleCA1Yjc5MDlmZGIxZGUwMWQ2NTMzMWM3NTk5NGY5MzhjMzczZjI3
MDVjLi5mZmRjYWI2MDVlNzdlZWZiYmYxODYxOGM1ZjllNzBiNDQ2ODc2N2EzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFJlc291cmNlRXJyb3JCYXNlX2gKICNkZWZpbmUgUmVz
b3VyY2VFcnJvckJhc2VfaAogCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUyLDYg
KzUzLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNUaW1lb3V0KGJvb2wgaXNUaW1lb3V0KSB7
IG1faXNUaW1lb3V0ID0gaXNUaW1lb3V0OyB9CiAgICAgYm9vbCBpc1RpbWVvdXQoKSBjb25zdCB7
IHJldHVybiBtX2lzVGltZW91dDsgfQogCisgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIHZv
aWQgc2V0Q2VydGlmaWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKSB7IG1fY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGVJbmZvOyB9CisKICAgICBzdGF0
aWMgYm9vbCBjb21wYXJlKGNvbnN0IFJlc291cmNlRXJyb3ImLCBjb25zdCBSZXNvdXJjZUVycm9y
Jik7CiAKIHByb3RlY3RlZDoKQEAgLTg5LDYgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgIGludCBt
X2Vycm9yQ29kZTsKICAgICBTdHJpbmcgbV9mYWlsaW5nVVJMOwogICAgIFN0cmluZyBtX2xvY2Fs
aXplZERlc2NyaXB0aW9uOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsK
ICAgICBib29sIG1faXNOdWxsOwogICAgIGJvb2wgbV9pc0NhbmNlbGxhdGlvbjsKICAgICBib29s
IG1faXNUaW1lb3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDJjZmI1M2E5MzdmYjRhYjdmYTZiODZiNDc5
NmJiODZlMjRlYjdlYjMuLmQzMGM4YTQyM2QxZmE1OTQwMzg5OTI3NGI0MGE3MmM1NDY3NzBmNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTI3LDkgKzI3LDEwIEBACiAjaWZuZGVmIFJlc291cmNlUmVzcG9u
c2VCYXNlX2gKICNkZWZpbmUgUmVzb3VyY2VSZXNwb25zZUJhc2VfaAogCisjaW5jbHVkZSAiQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgotI2luY2x1ZGUgIlVS
TC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgog
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC0xMTIsNiArMTEzLDkgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3Vy
Y2VMb2FkVGltaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRUaW1pbmcoUGFz
c1JlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+KTsKIAorICAgIGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0K
KyAgICB2b2lkIHNldENlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykgeyBtX2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQorCiAg
ICAgLy8gVGhlIFJlc291cmNlUmVzcG9uc2Ugc3ViY2xhc3MgbWF5ICJzaGFkb3ciIHRoaXMgbWV0
aG9kIHRvIHByb3ZpZGUgcGxhdGZvcm0tc3BlY2lmaWMgbWVtb3J5IHVzYWdlIGluZm9ybWF0aW9u
CiAgICAgdW5zaWduZWQgbWVtb3J5VXNhZ2UoKSBjb25zdAogICAgIHsKQEAgLTE1Miw2ICsxNTYs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jb25uZWN0aW9uSUQ7CiAgICAgYm9vbCBt
X2Nvbm5lY3Rpb25SZXVzZWQgOiAxOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1f
cmVzb3VyY2VMb2FkVGltaW5nOworICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5m
bzsKIAogICAgIGJvb2wgbV9pc051bGwgOiAxOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRlSW5mb0NGTmV0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45YTQ2MTlkMDA1NzE1Y2IyMzhhNDViODRmYTE5NTY1ZGViNjg2MmQyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZp
Y2F0ZUluZm9DRk5ldC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0
aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6
fkNlcnRpZmljYXRlSW5mbygpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNl
LmgKaW5kZXggMTNhNTgxMTgwZWE2ODhkZGUzNzZlMzVmMDdlMmVlMzE2MzhhZDM1ZS4uNWEzNmEw
ZTk0NjIxZjFkNGM2OWUyM2NkMmRiZDQ3NWVhMDcyMWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTExNywx
MCArMTE3LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0YWJsZSBSZXRh
aW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQotICAgIC8vIENlcnRpZmljYXRlIGNoYWluIGlzIG5vcm1h
bGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdheSB0byByZS1h
ZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgotICAgIFJldGFpblB0
cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKLSNlbmRpZgogICAgIElu
aXRMZXZlbCBtX2luaXRMZXZlbDsKICAgICBib29sIG1fcGxhdGZvcm1SZXNwb25zZUlzVXBUb0Rh
dGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
Q2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDNhYjNlYWEzYTIzMTAyNDIx
M2Q3NDI3YmY3OGU5YTM0M2YxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw3MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRpZmlj
YXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6Q2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKworCitDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5m
byhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4o
Y2VydGlmaWNhdGVDaGFpbikKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJ
bmZvKCkKK3sKK30KKwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENlcnRpZmljYXRlQ2hhaW4o
Q0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQoreworICAgIG1fY2VydGlmaWNhdGVDaGFpbiA9
IGNlcnRpZmljYXRlQ2hhaW47Cit9CisKK0NGQXJyYXlSZWYgQ2VydGlmaWNhdGVJbmZvOjpjZXJ0
aWZpY2F0ZUNoYWluKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdl
dCgpOworfQorCisjaWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBj
b25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFy
cmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhA
IkNlcnRpZmljYXRlSW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBlbnRy
aWVzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAg
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlmaWNh
dGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhAIiAg
JUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5kZXggNTQyNWUxZmQ0YTU5
YTAyZDE2MjFlODNmMTgxODk0NmJiZjhkMzRhNy4uMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNi
YmU4OWE2NGMwMDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0xODEsMTMgKzE4MSwxMyBA
QCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpzZXRDZXJ0
aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKICAgICBBU1NFUlQo
IXdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwot
ICAgIG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBt
X2NlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4pOwog
fQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25zZTo6Y2VydGlmaWNhdGVD
aGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluKQotICAg
ICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKG1fY2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9j
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKIAogICAgIHJldHVybiBhZG9wdENG
KHdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJMUmVzcG9uc2UoKSkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRp
ZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MmE3NzgxYWQxZjdjMDQ0NTE2
ZThmOGYwNWI2MTY2MmNkZTUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvU291cC5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICogQ29weXJpZ2h0
IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJ
bmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
RXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVy
cm9yLmgKaW5kZXggMWE3MDVmMTVlZDdmMzhmOGQzYWZlZDcwMTFhMzBjMDRiY2M3OGYxOC4uYTEw
YzZjYjg3YTNlYzJmNmQ0MmNkNWMzZmQyNzE0MTRjODlhNGUxMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCkBAIC00MCwx
MiArNDAsMTAgQEAgY2xhc3MgUmVzb3VyY2VFcnJvciA6IHB1YmxpYyBSZXNvdXJjZUVycm9yQmFz
ZQogcHVibGljOgogICAgIFJlc291cmNlRXJyb3IoY29uc3QgU3RyaW5nJiBkb21haW4sIGludCBl
cnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZmFpbGluZ1VSTCwgY29uc3QgU3RyaW5nJiBsb2NhbGl6
ZWREZXNjcmlwdGlvbikKICAgICAgICAgOiBSZXNvdXJjZUVycm9yQmFzZShkb21haW4sIGVycm9y
Q29kZSwgZmFpbGluZ1VSTCwgbG9jYWxpemVkRGVzY3JpcHRpb24pCi0gICAgICAgICwgbV90bHNF
cnJvcnMoMCkKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VFcnJvcigpCi0gICAgICAgIDog
bV90bHNFcnJvcnMoMCkKICAgICB7CiAgICAgfQogCkBAIC01NiwxNyArNTQsMTQgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcihjb25zdCBTdHJpbmcmIGZh
aWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1dGhlbnRpY2F0aW9uRXJyb3Io
U291cE1lc3NhZ2UqKTsKIAotICAgIHVuc2lnbmVkIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJu
IG1fdGxzRXJyb3JzOyB9Ci0gICAgdm9pZCBzZXRUTFNFcnJvcnModW5zaWduZWQgdGxzRXJyb3Jz
KSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0
aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KLSAgICB2b2lk
IHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZp
Y2F0ZSA9IGNlcnRpZmljYXRlOyB9CisgICAgdW5zaWduZWQgdGxzRXJyb3JzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFRMU0Vy
cm9ycyh1bnNpZ25lZCB0bHNFcnJvcnMpIHsgbV9jZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3Jz
KHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsgfQorICAgIEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRl
SW5mby5jZXJ0aWZpY2F0ZSgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlm
aWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNl
cnRpZmljYXRlKTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db3B5KFJlc291cmNl
RXJyb3ImKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVz
b3VyY2VFcnJvciYgYSwgY29uc3QgUmVzb3VyY2VFcnJvciYgYik7Ci0KLSAgICB1bnNpZ25lZCBt
X3Rsc0Vycm9yczsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUVycm9yU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCmluZGV4IGJhODY1N2I1MDUwOTA1MjU3YzFkYTRj
YTc5OWY3Mzc2YWRjZGRjNTIuLjFiODljZTJjMWNhOTFkYTc0MzA5NWUyYzY1MTAxYjJhMTYzNjJi
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUVycm9yU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEw
MCBJbmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk4LDggKzk5LDcgQEAg
UmVzb3VyY2VFcnJvciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBm
YWlsaW5nVVJMKQogCiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVy
cm9yJiBlcnJvckNvcHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBt
X2NlcnRpZmljYXRlOwotICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOwor
ICAgIGVycm9yQ29weS5zZXRDZXJ0aWZpY2F0ZUluZm8obV9jZXJ0aWZpY2F0ZUluZm8pOwogfQog
CiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9y
JiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggNDg5MWY5MzVm
Y2JjN2Y3NzIzYTY2MTU3ZWUyZWQ5MzNjZjUzZTBmNy4uMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3
YzhhM2UwM2FlNmZmMzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwyMSArMzgsMTggQEAgcHVi
bGljOgogICAgIFJlc291cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VC
YXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
PigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwg
Y29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQog
ICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVu
Z3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhz
dGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhz
dGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAg
IFJlc291cmNlUmVzcG9uc2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJl
c291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKLSAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1l
c3NhZ2Uoc291cE1lc3NhZ2UpOwogICAgIH0KQEAgLTY3LDExICs2NCwxMSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgU3RyaW5nJiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Nu
aWZmZWRDb250ZW50VHlwZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0
IFN0cmluZyYgdmFsdWUpIHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAg
R1Rsc0NlcnRpZmljYXRlKiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4g
bV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0
ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7IH0KKyAgICB2b2lk
IHNldFNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkg
eyBtX2NlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSk7IH0KIAotICAg
IEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1
cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQor
ICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7IH0KKyAgICB2b2lkIHNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRp
ZmljYXRlSW5mby5zZXRUTFNFcnJvcnModGxzRXJyb3JzKTsgfQogCiAgICAgYm9vbCBwbGF0Zm9y
bVJlc3BvbnNlSXNVcFRvRGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgwLDgg
Kzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAg
ICAgU3RyaW5nIG1fc25pZmZlZENvbnRlbnRUeXBlOwotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmlj
YXRlPiBtX2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3Jz
OwogCiAgICAgdm9pZCBkb1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VT
b3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJl
c3BvbnNlU291cC5jcHAKaW5kZXggOWMzYjBlZGJkOWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVk
MjZmMC4uOThkMThjZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJj
ZVJlc3BvbnNlOjp0b1NvdXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRf
ZmxhZ3Moc291cE1lc3NhZ2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09C
SkVDVChzb3VwTWVzc2FnZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlLmdldCgp
LCAidGxzLWVycm9ycyIsIG1fdGxzRXJyb3JzLCBOVUxMKTsKKyAgICBnX29iamVjdF9zZXQoR19P
QkpFQ1Qoc291cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9jZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKSwgInRscy1lcnJvcnMiLCBtX2NlcnRpZmljYXRlSW5mby50bHNFcnJvcnMo
KSwgTlVMTCk7CiAKICAgICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAg
IHJldHVybiBzb3VwTWVzc2FnZTsKQEAgLTY4LDggKzY4LDEwIEBAIHZvaWQgUmVzb3VyY2VSZXNw
b25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAg
ICBtX3NvdXBGbGFncyA9IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAg
ICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgc291cF9tZXNzYWdlX2dl
dF9odHRwc19zdGF0dXMoc291cE1lc3NhZ2UsICZjZXJ0aWZpY2F0ZSwgJm1fdGxzRXJyb3JzKTsK
LSAgICBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRpZmljYXRlRmxh
Z3MgdGxzRXJyb3JzOworICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNz
YWdlLCAmY2VydGlmaWNhdGUsICZ0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNl
dFRMU0Vycm9ycyh0bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmlj
YXRlKGNlcnRpZmljYXRlKTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291
cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggMWUzMjBjOWU5Y2MwMzViYWFiMmMwZGRjZjQ0ZDY4NzhkMjU0ZThlNC4uNzA2ZmU5
OTBlYTFkNGU5NTc2Yzc2MWMyODcyYTA4NjE2YzYzNjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC00ODEsOCArNDgxLDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNz
RGF0YS5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0
ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tl
clN0YXRlLmggXApAQCAtMTM1Myw4ICsxMzUxLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxl
UGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJv
LmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NM
YXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9B
c3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFiYWY1
YjE5YWIyMDAzZTU0OGQwM2JjMmU2NTgyYjIyYTQzZWI3YTcuLjQ5NmQwNzVlZGUxMjhmYmZkOTli
NDE2MDkxODdhYTY0MGYxMzJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3Bw
CkBAIC0yOCwxMCArMjgsMTEgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUg
IldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmlj
YXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVm
ZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTYzLDcgKzY0LDcgQEAg
dm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2Fp
bnN0UHJvdGVjdGlvblNwYWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVy
Q2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFi
b3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJl
c3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8ocmVzcG9uc2UpLCBsb2FkZXItPmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSk7CisgICAgbG9h
ZGVyLT5zZW5kQWJvcnRpbmdPbkZhaWx1cmUoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpE
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlLCByZXNwb25zZS5j
ZXJ0aWZpY2F0ZUluZm8oKSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQog
CiB2b2lkIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIo
TmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQg
ZW5jb2RlZERhdGFMZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaAppbmRleCAwMTI4MTc0YTM2ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQx
MTAwLi5kNmYwZTBkZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDcgKzM2
LDggQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0g
ICAgY2xhc3MgUnVuTG9vcDsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFJ1bkxvb3A7
CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OwotY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2Vzcywg
cHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVp
bnQ2NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0g
ICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0
YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxs
T3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBh
NWZjYmM3YmU5NDAyODA3YzFlNTU2MmEzZWU2OWZmNjA2OTg1ZGQ3Li4zMmJjZTA1YjhjYjUwZTBl
NjIwN2E5YThhYzBkYzE3MDI0YzQ0NTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzks
NyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0
UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNh
dGUsIFdURjo6U3RyaW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0
aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAxNjMwYTJi
NDdhMTNmY2FmZjgxNzlhN2M0MGI0YjA5NWM2MzI2MzhhLi4yZjhhNDlmODgzYTE5ODNkMjczMDBh
NWE0Y2EyMDRhZmIwMzUxMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNp
bmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBlMTk3ZmYzOTZmNzBhNzdh
OTU2MmQzNWFiNTNkMmM0NDUzNWNjMDJlLi5mNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0
YjFkM2U3NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
TmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAi
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNv
dXJjZUxvYWRlci5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBv
cnQgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5o
IgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAi
U3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8
bWFjaC9ob3N0X2luZm8uaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVs
IGNhY2hlTW9kZWwpCiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVu
c2lnbmVkIGxvbmc+KHVybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNp
dHldKV07IC8vIERvbid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxk
IGNhdXNlIGNodXJuLgogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVz
dCBzZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZjZWEyZTE1M2RjYzA4MjlkM2ExMGIwMDViMjA1
NTRkYTRjOTQxOTkuLjAwOGE4NTZmNTFjN2U0MmY5ZGZmMzViYjljMTgzMmY1OGE4NzljZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00Niw3ICs0Niw2IEBAIGxpc3QoQVBQRU5EIFdl
YktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNw
cAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0g
ICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0
VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0
NGYxNDk5N2IxMzU4ODcxNDdkNGY0OTFkZTc1MDkxMzUuLjQxZTU5NzFmN2VmMDE4ZTBjOTY5M2Zi
YTM0OTI4NjYxMzA2YTRhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2
MSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNj
b21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAog
ICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRl
eCAzNGRkNDMxNTE5YTM5OWEzZGQ4M2UwZTgyM2Y0MzQ3NWMyZTNiZmFiLi4zMmZhMjFmZTJlYmZm
MzZiMGEyMWE2OThhMDFhMGQzZmVlNmQxODM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTI5LDE1ICsy
OSwxNiBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0
ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAgIFJlZlB0cjxX
ZWJDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6
Y3JlYXRlKFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlQ2hhaW4pKTsKKyAgICBS
ZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZShDZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJl
dHVybiB0b0FQSShjZXJ0aWZpY2F0ZUluZm8ucmVsZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENG
QXJyYXlSZWYgV0tDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNh
dGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRp
ZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFp
bigpOworICAgIHJldHVybiB0b0ltcGwoY2VydGlmaWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNhdGVJ
bmZvKCkuY2VydGlmaWNhdGVDaGFpbigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApp
bmRleCA3ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFkMmNmMGZjZTkxYjNmYjc4Li5lMmY0NTMyMjlj
YjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcApAQCAtOTgsMjAgKzk4LDIwIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1
cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRvIHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24g
Y2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGluZm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFN
RVdPUkspCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpCitib29sIEF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6
OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJikKIHsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAjZW5kaWYKIAotdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENy
ZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZv
ckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVu
dGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxs
ZW5nZSA9IG1fY2hhbGxlbmdlcy50YWtlKGNoYWxsZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxs
ZW5nZS5pc051bGwoKSk7CiAgICAgCi0gICAgaWYgKHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKKyAgICBpZiAodHJ5
VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZv
KSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3Jl
Q2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmgKaW5kZXggNGM2ZjgxZTk1MzkwZmY3MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MS4u
ZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5NzY1MDQ3NGQ2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAg
ICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6
IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBA
IHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhl
IE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwog
Ci0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
LCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxl
bmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAv
LyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZF
UlJJREU7CiAKLSAgICBib29sIHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxl
bmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNo
YWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRp
ZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBiYjFj
YzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2Yzk2MWRkLi4zNGRiOWIyMDhiZjFmZDE3M2Q4
MWE0NmM3NmY4Zjg2NDZkZjNkNWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
bWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMg
LT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlh
bCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9p
ZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3Jl
OjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0K
aW5kZXggYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3ZmUzNDFlNzY5YzI3NjAxMy4uOGI2ZDcxMzQ5
NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsMTUgKzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJ
VFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNp
bmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJv
b2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0Zv
ckNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25z
dCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQorYm9vbCBBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OnRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBDRkFycmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJ
bmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKICAgICBpZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCAwMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0
NGRlMzZiMGY3ZDA0ZThiLi5kOWIxNDA5ZDg2ZjgxMjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcg
KzIxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlw
ZUNlcnRpZmljYXRlSW5mbzogewogICAgICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0
aWZpY2F0ZUluZm8gPSBzdGF0aWNfY2FzdDxXZWJDZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwot
ICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCk7CisgICAgICAgICAgICBlbmNvZGVyIDw8IGNlcnRpZmljYXRlSW5mby0+Y2VydGlm
aWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVj
dDo6VHlwZUNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAgICAgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8gcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOworICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2Vy
dGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNhdGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCAwNjE4MmZjZTJmYzZk
NTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1Li5jOGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUx
ZDU0NjVjNzYzOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlm
aWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5m
by5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAog
I2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNh
dGVJbmZvIDogcHVibGljIFR5cGVkQVBJT2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRl
SW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
V2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYgcGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBt
X3BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOyB9CisgICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5m
bzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgaW5mbykKLSAgICAgICAgOiBtX3BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKGluZm8pCisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5m
byhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBtX3Bs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2Nl
cnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBjOTg3ZDI4ZmM2
ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThlLi5mNzk0NzJiZWExMDU1MjA2MDg1NDM1ZjY3
ODIwODY5OTNiOTRjZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxl
Qml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9D
b29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0N1cnNvci5oPgpAQCAtMzksMTMgKzQwLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0ltYWdlLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFj
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1
bWVudHMuaD4KQEAgLTU0Nyw2ICs1NDgsMjIgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNl
UmVzcG9uc2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46
OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0
aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOworCisgICAgaWYg
KCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2VydGlmaWNhdGUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVy
cm9yKQogewogICAgIGlmIChrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBhOTY1ZGU4NTUy
MjdiMWYxNDMyM2RmODE3N2YyYjk5OTU5OTkzZDgwLi43NzMzNjE2MjczYjhlYzg0ZTE4ZDMxNmE0
MzRhYmRkNjFhNDgzNzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCkBAIC00NSw2ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBLZXlmcmFtZVZhbHVlTGlzdDsKICAgICBjbGFzcyBVUkw7CiAgICAgY2xhc3MgTm90aWZp
Y2F0aW9uOworICAgIGNsYXNzIENlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9u
U3BhY2U7CiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CkBAIC0xNzAsNiArMTcxLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiB9
OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBzdGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURh
dGEgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVhMWEyZjMz
MTc5ZjJkMTU0MGQ0OTFhZDA2ODNiOTUyNDBjY2NkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotICAg
IGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7Ci1w
dWJsaWM6Ci0gICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0g
ICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKTsKLQotICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0
dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5k
ZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAg
ICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhNzM1NDVjNWJkMTY4ZjZhYTky
NmQ5NzQ2MzE4ZTRhNmNhOGUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2lt
cG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0j
aW1wb3J0ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQot
Ci1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJh
eVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmlj
YXRlQ2hhaW4pCi17Ci19Ci0KLXZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2Nl
cnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUo
ZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2Rlciwg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNo
YWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjLm1f
Y2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0
cnVlOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6
ZHVtcCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFp
biA/IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAg
IE5TTG9nKEAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAgIE5TTG9nKEAiICBFbnRy
aWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJp
ZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9w
dENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilD
RkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKLSAg
ICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5nZXQoKSk7Ci0gICAgfQot
fQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBjMTI2MDAw
M2VhMTRmNTY1MjUwZmUwZWMwYTI4MzAxNWEzOGY2ZTQ1Li45MDI2NjA5ZmY4ZmYzNjE5MzljNDEz
MTEzMDJlM2ZlNGI4YzdlMWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTQgKzI4LDE0IEBACiAjaW1wb3J0
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5o
IgotI2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5
c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzIs
NiArMTMzLDM3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKKwordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKQoreworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUNoYWlu
KSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIGNlcnRp
ZmljYXRlQ2hhaW4pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJ
bmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsK
KyAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRl
Q2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
c3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICBy
ZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWlu
dGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6
c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKQEAgLTE2OCw3ICsyMDAsNyBAQCB2b2lkIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXIm
IGVuY29kZXIsCiAKICAgICBpZCBwZWVyQ2VydGlmaWNhdGVDaGFpbiA9IFt1c2VySW5mbyBvYmpl
Y3RGb3JLZXk6QCJOU0Vycm9yUGVlckNlcnRpZmljYXRlQ2hhaW5LZXkiXTsKICAgICBBU1NFUlQo
IXBlZXJDZXJ0aWZpY2F0ZUNoYWluIHx8IFtwZWVyQ2VydGlmaWNhdGVDaGFpbiBpc0tpbmRPZkNs
YXNzOltOU0FycmF5IGNsYXNzXV0pOwotICAgIGVuY29kZXIgPDwgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oKENGQXJyYXlSZWYpcGVlckNlcnRpZmljYXRlQ2hhaW4pOworICAgIGVuY29kZXIgPDwg
Q2VydGlmaWNhdGVJbmZvKChDRkFycmF5UmVmKXBlZXJDZXJ0aWZpY2F0ZUNoYWluKTsKIH0KIAog
Ym9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQpAQCAt
MTk0LDcgKzIyNiw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHN0cmluZ1VzZXJJbmZvTWFwKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CisgICAgQ2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGUpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3MTRlYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwx
MTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50
RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
LSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oKQotICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRp
ZmljYXRlRmxhZ3M+KDApKQotewotfQotCi1QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAg
OiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKLSAgICAs
IG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCi17Ci19Ci0KLVBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVy
cm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2Vy
dGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLVBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi12
b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAg
ICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVB
cnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9j
ZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwp
OwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1Jl
ZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEp
OwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVu
Y29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAg
ICBib29sIGhhc0NlcnRpZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlm
aWNhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRl
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2Vy
dGlmaWNhdGVEYXRhUmVmZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxl
bmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlf
c2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmlj
YXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsK
LSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmlj
YXRlRGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0
X2RlZmF1bHQoKTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1Jl
ZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0
aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0
aWZpY2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBOVUxMKSkpOwotCi0gICAgdWludDMyX3QgdGxz
RXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDhjMjMxZjM2ZGIzMmY4ZDhiNDAyNjdiNmRiNDVjMTQ3ZjYxYzA1NTAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAot
Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0
ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFz
cyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291
cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLQotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgotICAgIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICB+
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlm
aWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0Nl
cnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0K
LQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAg
IHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyYpOwotCi1wcml2YXRlOgotICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRl
PiBtX2NlcnRpZmljYXRlOwotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IGRjNGUxMTkxNzU3ZWNlMTc1YWQ0ODVhN2Fh
NzIyNTJmYWZhZTg4NDYuLjc2MTdiMzZlYjY0MDI5NzhjYWUzMGNmNDFlNjQ1YjUzMDM2N2JmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiAr
MjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3Bv
bnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
IApAQCAtNjgsMTkgKzY5LDY5IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNl
Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiB9CiAKIAordm9p
ZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQoreworICAgIGlmICghY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAg
ICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRl
QXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKGNl
cnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRl
RGF0YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAgICAgZW5jb2Rl
ciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1
ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRp
ZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVu
KSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY2VydGlmaWNhdGVJbmZv
LnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46
OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVm
ZXJlbmNlLnNpemUoKSk7CisgICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVu
ZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGVCeXRlcyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0Jh
Y2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0
cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklD
QVRFKGdfaW5pdGFibGVfbmV3KGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFj
a2VuZCksIDAsIDAsCisgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlQnl0ZXMuZ2V0
KCksIDApKSk7CisgICAgY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRl
LmdldCgpKTsKKworICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHRsc0Vycm9ycykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjZXJ0aWZpY2F0ZUlu
Zm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJv
cnMpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCisKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNv
dXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKLSAgICBlbmNvZGVyIDw8IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOworICAgIGVuY29kZXIgPDwgcmVz
b3VyY2VFcnJvci5jZXJ0aWZpY2F0ZUluZm8oKTsKIH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFJl
c291cmNlRXJyb3I+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewotICAgIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJ
bmZvOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgcmVzb3VyY2VFcnJvci5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7Ci0gICAgcmVzb3VyY2VFcnJvci5zZXRUTFNFcnJvcnMo
Y2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKKyAgICByZXNvdXJjZUVycm9yLnNldENlcnRp
ZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmlu
ZGV4IDQ0NjI5ZWNmZmRhNjI1MzZkODhhZjFjZjU4MzE2MTk1NjdhZDk1MTUuLjkwMjAxMmZkMjFj
MTY3MGMwMDE5OTE5ZGRjMDJmMzgyYWMyMjI1YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCiAjaW5jbHVkZSAiSW1hZ2VPcHRpb25zLmgiCi0j
aW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCkBAIC01OSw2ICs1OCw3IEBACiAjaW5jbHVkZSAiV2Vi
S2l0V2ViVmlld1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzUHJp
dmF0ZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0d0a1V0
aWxpdGllcy5oPgpAQCAtMjk4Nyw3ICsyOTg3LDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3
X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNhdGUqKgog
ICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBjb25zdCBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0
aWZpY2F0ZUluZm8oKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlm
aWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAg
ICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAg
aWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNw
cAppbmRleCA5ZjY0ODg1YWU4ODQ4NGRjNzQxNTE1NzI5ZjU1NGI5ZjUyNmE1ZGQ1Li5kNTU3M2Rh
Y2E4MzJkZGVlZTQ2MWNmMWIzMTFmMjE3ZmMzMjgwNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVk
ZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxs
ZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2Vy
dGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNl
cnRpZmljYXRlSW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSA6IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUlu
Zm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygp
IDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggYzY4
MWI5MDNlNDI1ZTQ0OTYxODkxMGUyZjM4YTI5NTRjOTdkNDI4Yi4uOTVkM2JjN2U4YzJlM2MyYjJi
NGZmOTNhZWE4OTdmYzU2NWQyMWZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcApAQCAtMTA2Nyw3ICsxMDY3LDcgQEAgdm9pZCBXZWJDb250ZXh0OjphbGxvd1NwZWNp
ZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKgogewog
I2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgaWYgKG1fdXNlc05ldHdvcmtQcm9jZXNz
ICYmIG1fbmV0d29ya1Byb2Nlc3MpIHsKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChjZXJ0aWZpY2F0ZS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKSwgaG9zdCksIDApOwor
ICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6
QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5jZXJ0aWZp
Y2F0ZUluZm8oKSwgaG9zdCksIDApOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCBhNTcwODdjMWZk
NGM4ZGFjMjAyMjMwN2FkNDViNmExNTg5ZWFkMmYzLi5jMjllMDM1ZWUzNzliODAxZjU3NDM2NmYx
OGY2ZTUxZWYzNzQxODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkKCkKICAgICBtX3VucmVhY2hhYmxlVVJMID0gbV9sYXN0VW5yZWFjaGFibGVV
Ukw7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
KQogewogICAgIEFTU0VSVChtX2xvYWRTdGF0ZSA9PSBMb2FkU3RhdGVQcm92aXNpb25hbCk7CiAg
ICAgbV9sb2FkU3RhdGUgPSBMb2FkU3RhdGVDb21taXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCAwYmVlNjY2ZmZmZDRhZjJkMTFiNWZjN2RhZDI3NDhh
MjY5NmI2YWQ1Li40OTVmMzQ2NzIxNTFlZTk2OWJjODljZWFkN2Y3MWI1MTRlM2QwNGJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDEwICs0MCwxNCBA
QCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAorbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQorCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzsKKwogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OwpAQCAt
MTA2LDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZv
clByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBkaWRD
b21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZvaWQgZGlkRmFp
bExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29uc3QgU3RyaW5n
Jik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGE3NDNlYzY5NTc2NGIz
ODU5YWU1ZGUyYTVkYjQ5Mzc0OTc0NmZmNTcuLjJmMjBjYzUzZjZlNTUzM2RiZjliOWM3ODYyMDE5
MDZhYWMwZGI3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0yMTkwLDcgKzIxOTAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJMb2FkRGVwZW5k
ZW50Q2FsbGJhY2tzKCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWlu
dDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0
IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYgZGVjb2RlcikKIHsKICAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKICAgICBXZWJD
b250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKHVzZXJEYXRhLCBtX3Byb2Nl
c3MuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGZj
NjZjMTc2OTMxNWMzNjk3MDE3NzM0OTMwZTFkMWY5NDYzOGRjNmMuLmU4MmFhMTZhMGQzNDQ3Mjlj
NjE2ZmNiYmYwYTIxOTY4MmUwODUyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTk4LDYgKzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEZsb2F0UmVjdDsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNsYXNzIEludFNpemU7
CisgICAgY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsK
ICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAgICAgc3RydWN0IEZpbGVDaG9vc2VyU2V0dGluZ3M7
CkBAIC0xMjUsNyArMTI2LDYgQEAgY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKIGNsYXNz
IE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3Mg
UGFnZUNsaWVudDsKLWNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5n
UGFpclZlY3RvcjsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW07CkBAIC03ODQsNyArNzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90
IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUs
IGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGE5ODUzOGJlMTI0MzljZTcyMmNl
NDljM2Q3NTU4NDI2YzQ2N2I3Y2QuLjFhZmRmMDEyZDhhMjk3ZDFiNDA4NWM1NDFmNWEwZmQwYmMw
M2Y0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtMTExLDcgKzExMSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7
CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUg
bG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3Qg
bG9hZFR5cGUsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAg
ICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVz
ZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZp
bmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDRkNDVk
ODZlMzcyOGJiZjBiYzUyMDM0M2Q1ZDE2OWI2OTQ3NjYxYi4uMGRlZDEzNDMxOGUzM2MwOTFkMjRi
NmJjZTk0OGY5ODQ1MDk4YjlmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAzMiw4ICsxMDMyLDYgQEAKIAkJQkNGMTg2Mzgx
NjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hl
TW9kZWwuY3BwICovOyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50LmggKi87IH07CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3Vw
cGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07
Ci0JCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJD
RjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0
N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3
MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFB
NTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNs
aWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAt
MjQ2Myw4ICsyNDYxLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9k
ZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFG
QyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0
REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUw
NUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1
QUUgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFt
ZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDE1OSw4ICs0MTU1LDYgQEAKIAkJCQlDNTc0QTU4
MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQy
MTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTND
QzA1MzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3
QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYx
MjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUx
Q0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMUFGMUFD
NkExNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi8sCiAJ
CQkJMUFGMUFDNjkxNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Lm1tICovLApAQCAtNTExOSw3ICs1MTEzLDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZF
OTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NC
RkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQ0Ix
ODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdG
MTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg3ODBG
QzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUE2RkI3RDMxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC02MjgwLDcgKzYyNzMsNiBAQAogCQkJCTJEMkFERjEwMTYzNjREODIwMDE5N0U0
NyAvKiBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0
MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmllbGQubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAxOTdFNDcgLyogUERGUGx1Z2luVGV4dEFu
bm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUg
LyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FC
QTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDU3NTE3MzIxZjI2
YzA4MzU3MGY4MmRhZTIwZTBlZTliOWJmZThiZi4uYjE2YTAxNWU2YTE0NTQxNzdmNmM0YjViOTEw
M2NhNTU5MTMzODlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMiwxMCArMzIsMTAgQEAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1l
bnRMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC05OSwxNCArOTksMTQgQEAgdm9pZCBXZWJS
ZXNvdXJjZUxvYWRlcjo6ZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0
b3RhbEJ5dGVzVG9CZVMKICAgICBtX2NvcmVMb2FkZXItPmRpZFNlbmREYXRhKGJ5dGVzU2VudCwg
dG90YWxCeXRlc1RvQmVTZW50KTsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Ym9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKK3ZvaWQgV2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQog
ewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpkaWRS
ZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvIGZvciAnJXMnLiBTdGF0dXMgJWQuIiwg
bV9jb3JlTG9hZGVyLT51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCByZXNwb25zZS5odHRw
U3RhdHVzQ29kZSgpKTsKIAogICAgIFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgqdGhp
cyk7CiAKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlQ29weShyZXNwb25zZSk7Ci0gICAg
cmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRpZmlj
YXRlQ2hhaW4oKSk7CisgICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlSW5mbyhjZXJ0aWZp
Y2F0ZUluZm8pOwogICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNl
Q29weSk7CiAKICAgICAvLyBJZiBtX2NvcmVMb2FkZXIgYmVjb21lcyBudWxsIGFzIGEgcmVzdWx0
IG9mIHRoZSBkaWRSZWNlaXZlUmVzcG9uc2UgY2FsbGJhY2ssIHdlIGNhbid0IHVzZSB0aGUgc2Vu
ZCBmdW5jdGlvbigpLiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggMDgxMmM5OWFmNThkOGQ1YTY5MjQ0NWE5OWNk
YjNmYmYwZTRiYzk5Yy4uZjc0NTIxOTVjNDgzYTMzYzBjMjk5YzYzN2Q4MjE1OWE1ZjgwZmZhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVj
dGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpA
QCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90
IFJlc291cmNlTG9hZElkZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2Fn
ZVNlbmRlciB7CkBAIC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5k
UmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRh
KHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNl
aXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGlu
dWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNv
bnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsK
ICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAg
dm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA3YjQwNDVlNjY5YTRmOWVmZGQ1NjJk
ZTFhMjk4NzQyYThhZWYyNmFmLi40YTYyMDQyYzU1ZDU0NDIwZTgwNjU2MGYyYzBiYTMzZDNiYTk4
NDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICAvLyBGSVhN
RSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0eSBmb3Ig
cmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlZGlyZWN0UmVzcG9u
c2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5
dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJl
c3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
LCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChk
b3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDNj
ZTNlMDc5OGRiMDlkNmMwYWJhYTlkOGRlOWM4MTlmZGI4ZDNhZmQuLjc1M2Q1YTE4Y2M0MGZlZjMz
N2RmOWVjOGMwN2EyYzgyZjBhOWUyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVET01XaW5kb3dF
eHRlbnNpb24uaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCIK
ICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiCi0jaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVz
c2FnZXMuaCIKQEAgLTUxLDYgKzUwLDcgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNz
YWdlcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RP
TVdyYXBwZXJXb3JsZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KQEAg
LTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENv
bW1pdExvYWQoKQogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAKLSAgICB3ZWJQYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2Zy
YW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVUeXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgp
LT5sb2FkZXIoKS5sb2FkVHlwZSgpLCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSks
IEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworICAg
IHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tbWl0TG9hZEZvckZy
YW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5cGUoKSwgbV9mcmFtZS0+Y29y
ZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIHJlc3BvbnNlLmNlcnRpZmljYXRlSW5mbygp
LCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKIAog
ICAgIHdlYlBhZ2UtPmRpZENvbW1pdExvYWQobV9mcmFtZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>