<?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>80911</bug_id>
          
          <creation_ts>2012-03-12 17:29:30 -0700</creation_ts>
          <short_desc>Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf</short_desc>
          <delta_ts>2012-03-21 09:26:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80680</dependson>
    
    <dependson>81281</dependson>
          <blocked>75673</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jberlin</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576780</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:29:30 -0700</bug_when>
    <thetext>Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576785</commentid>
    <comment_count>1</comment_count>
      <attachid>131469</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:32:14 -0700</bug_when>
    <thetext>Created attachment 131469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576787</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:33:31 -0700</bug_when>
    <thetext>The goal of this patch is to test and see how badly I break the variou EWSes.  Once I get Platform.h moved and successfully building, I will try moving a .h and .cpp pair.  Once I get all the builds successfully linking with that, then I will announce on webkit-dev and do the final move.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576792</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:35:22 -0700</bug_when>
    <thetext>Qt&apos;s current setup is very nice, and will make the final full move very easy.  It&apos;s not clear to me how I can do a partial move (just one header) with Qt&apos;s current VPATH setup.  I suspect I may have to use something like:

../../WTF/wtf/Platform.h in their file list. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576803</commentid>
    <comment_count>4</comment_count>
      <attachid>131472</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:45:06 -0700</bug_when>
    <thetext>Created attachment 131472
Blind stab at making Qt/EFL build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576807</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:45:59 -0700</bug_when>
    <thetext>It&apos;s actually more likely that I&apos;ll have to fix header include paths for Gtk/Qt/EFL/Chromium to include Source/WTF in WebCore, WebKit, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576890</commentid>
    <comment_count>6</comment_count>
      <attachid>131472</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 18:57:36 -0700</bug_when>
    <thetext>Comment on attachment 131472
Blind stab at making Qt/EFL build

Attachment 131472 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11949159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576898</commentid>
    <comment_count>7</comment_count>
      <attachid>131472</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-12 19:12:20 -0700</bug_when>
    <thetext>Comment on attachment 131472
Blind stab at making Qt/EFL build

Attachment 131472 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11947258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576980</commentid>
    <comment_count>8</comment_count>
      <attachid>131472</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-12 20:53:59 -0700</bug_when>
    <thetext>Comment on attachment 131472
Blind stab at making Qt/EFL build

Attachment 131472 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11942298</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577109</commentid>
    <comment_count>9</comment_count>
      <attachid>131472</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-12 23:55:58 -0700</bug_when>
    <thetext>Comment on attachment 131472
Blind stab at making Qt/EFL build

Attachment 131472 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11947363</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579953</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-15 17:35:45 -0700</bug_when>
    <thetext>The cr-linux ews bubble will be fixed once bug 81281 lands.  I&apos;ll look at what&apos;s needed to fix qt, win, efl shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582378</commentid>
    <comment_count>11</comment_count>
      <attachid>132695</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 16:02:33 -0700</bug_when>
    <thetext>Created attachment 132695
Should fix chromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582386</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 16:08:00 -0700</bug_when>
    <thetext>I&apos;m not going to try and fix Win until bug 80680 lands, as it would involve changing WTF/WTF.vcproj to install into JavaScriptCore/private, which seems wrong...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582395</commentid>
    <comment_count>13</comment_count>
      <attachid>132700</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 16:11:27 -0700</bug_when>
    <thetext>Created attachment 132700
might fix Qt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582418</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 16:26:10 -0700</bug_when>
    <thetext>If someone from the EFL port could help me understand how to fix EFL before landing, that would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582440</commentid>
    <comment_count>15</comment_count>
      <attachid>132714</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-19 16:40:57 -0700</bug_when>
    <thetext>Created attachment 132714
Should fix EFL and CMake in general</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582447</commentid>
    <comment_count>16</comment_count>
      <attachid>132714</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 16:45:25 -0700</bug_when>
    <thetext>Comment on attachment 132714
Should fix EFL and CMake in general

Thanks!  (removing review flag for now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582533</commentid>
    <comment_count>17</comment_count>
      <attachid>132714</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-19 17:45:25 -0700</bug_when>
    <thetext>Comment on attachment 132714
Should fix EFL and CMake in general

Attachment 132714 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11991117</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582544</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 17:54:53 -0700</bug_when>
    <thetext>Odd.  Somehow we broke qt-wk2 in all this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582548</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 17:56:36 -0700</bug_when>
    <thetext>Or Qt&apos;s dependency tracking could just be broken. :)  Thus meaning the previous &quot;pass&quot; was likely bogus:

===== BUILD FAILED ======

The build failed with exit code 2. This may have been because you

  - added an #include to a source/header
  - added a Q_OBJECT macro to a class
  - added a new resource to a qrc file

as dependencies are not automatically re-computed for local developer builds.
You may try computing dependencies manually by running &apos;make qmake&apos; in:

  /storage/WebKit-qt-wk2-ews/WebKitBuild/Release

or passing --makeargs=&quot;qmake&quot; to build-webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582556</commentid>
    <comment_count>20</comment_count>
      <attachid>132714</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-19 18:10:42 -0700</bug_when>
    <thetext>Comment on attachment 132714
Should fix EFL and CMake in general

Attachment 132714 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11989489</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582572</commentid>
    <comment_count>21</comment_count>
      <attachid>132714</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-19 18:26:00 -0700</bug_when>
    <thetext>Comment on attachment 132714
Should fix EFL and CMake in general

Attachment 132714 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11986595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582594</commentid>
    <comment_count>22</comment_count>
      <attachid>132742</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 18:51:17 -0700</bug_when>
    <thetext>Created attachment 132742
fix Mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582761</commentid>
    <comment_count>23</comment_count>
      <attachid>132742</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-19 22:29:21 -0700</bug_when>
    <thetext>Comment on attachment 132742
fix Mac

Attachment 132742 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11999085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582766</commentid>
    <comment_count>24</comment_count>
      <attachid>132742</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-19 22:33:44 -0700</bug_when>
    <thetext>Comment on attachment 132742
fix Mac

Attachment 132742 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12002072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582769</commentid>
    <comment_count>25</comment_count>
      <attachid>132742</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-19 22:36:56 -0700</bug_when>
    <thetext>Comment on attachment 132742
fix Mac

Attachment 132742 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11994115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582776</commentid>
    <comment_count>26</comment_count>
      <attachid>132763</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 22:45:23 -0700</bug_when>
    <thetext>Created attachment 132763
attempt to fix Qt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582778</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 22:47:56 -0700</bug_when>
    <thetext>I&apos;m not even sure that my changes from &quot;Platform.h&quot; to &lt;wtf/Platform.h&gt; are even correct for Qt, since maybe it includes Platform.h in its API?  Also, it&apos;s not clear to me which .pri/.pro file I would need to edit to add Source/WTF to the header include path for QtWebKit.  Ossy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582787</commentid>
    <comment_count>28</comment_count>
      <attachid>132763</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-19 23:16:06 -0700</bug_when>
    <thetext>Comment on attachment 132763
attempt to fix Qt

Attachment 132763 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12002103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582804</commentid>
    <comment_count>29</comment_count>
      <attachid>132771</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-19 23:49:37 -0700</bug_when>
    <thetext>Created attachment 132771
attempt to fix qt-wk2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582814</commentid>
    <comment_count>30</comment_count>
      <attachid>132771</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 00:21:32 -0700</bug_when>
    <thetext>Comment on attachment 132771
attempt to fix qt-wk2

Attachment 132771 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11995134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582816</commentid>
    <comment_count>31</comment_count>
      <attachid>132771</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-20 00:37:30 -0700</bug_when>
    <thetext>Comment on attachment 132771
attempt to fix qt-wk2

Attachment 132771 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12000135</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582820</commentid>
    <comment_count>32</comment_count>
      <attachid>132775</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 00:43:12 -0700</bug_when>
    <thetext>Created attachment 132775
Another attempt to fix qt-wk2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582823</commentid>
    <comment_count>33</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-20 00:44:57 -0700</bug_when>
    <thetext>I&apos;m going to check the Qt WK2 build today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582825</commentid>
    <comment_count>34</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 00:51:23 -0700</bug_when>
    <thetext>I think I&apos;m pretty close. :)  The only build I haven&apos;t attempted yet is Win.  Theoretically EFL works after Raphael&apos;s patch update.  If you find qt* doesn&apos;t work, feel encouraged to upload an updated patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582841</commentid>
    <comment_count>35</comment_count>
      <attachid>132775</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 01:01:48 -0700</bug_when>
    <thetext>Comment on attachment 132775
Another attempt to fix qt-wk2

Attachment 132775 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12002153</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582845</commentid>
    <comment_count>36</comment_count>
      <attachid>132775</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-20 01:15:29 -0700</bug_when>
    <thetext>Comment on attachment 132775
Another attempt to fix qt-wk2

Attachment 132775 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12007138</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582860</commentid>
    <comment_count>37</comment_count>
      <attachid>132779</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-03-20 01:49:55 -0700</bug_when>
    <thetext>Created attachment 132779
FixEfl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582871</commentid>
    <comment_count>38</comment_count>
      <attachid>132779</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 02:14:33 -0700</bug_when>
    <thetext>Comment on attachment 132779
FixEfl

Attachment 132779 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12000165</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582878</commentid>
    <comment_count>39</comment_count>
      <attachid>132779</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-20 02:24:16 -0700</bug_when>
    <thetext>Comment on attachment 132779
FixEfl

Attachment 132779 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12000173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582905</commentid>
    <comment_count>40</comment_count>
      <attachid>132789</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-20 03:41:00 -0700</bug_when>
    <thetext>Created attachment 132789
Fix Qt build based on attachment-132779

It isn&apos;t the best fix, but it works at least. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582906</commentid>
    <comment_count>41</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-20 03:42:43 -0700</bug_when>
    <thetext>Tor Arne, could you review/optimize the Qt part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582915</commentid>
    <comment_count>42</comment_count>
      <attachid>132789</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 04:00:11 -0700</bug_when>
    <thetext>Comment on attachment 132789
Fix Qt build based on attachment-132779

Attachment 132789 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12005198</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582965</commentid>
    <comment_count>43</comment_count>
      <attachid>132789</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 05:06:15 -0700</bug_when>
    <thetext>Comment on attachment 132789
Fix Qt build based on attachment-132779

Attachment 132789 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11995225</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582992</commentid>
    <comment_count>44</comment_count>
      <attachid>132789</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 06:01:08 -0700</bug_when>
    <thetext>Comment on attachment 132789
Fix Qt build based on attachment-132779

Attachment 132789 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12007232</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582998</commentid>
    <comment_count>45</comment_count>
      <attachid>132779</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-20 06:15:39 -0700</bug_when>
    <thetext>Comment on attachment 132779
FixEfl

Clearing r? flag from the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583180</commentid>
    <comment_count>46</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 10:13:14 -0700</bug_when>
    <thetext>Sweet!  thank you both for your help!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583239</commentid>
    <comment_count>47</comment_count>
      <attachid>132854</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 11:03:23 -0700</bug_when>
    <thetext>Created attachment 132854
Attempt to fix Win-EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583278</commentid>
    <comment_count>48</comment_count>
      <attachid>132854</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 11:27:10 -0700</bug_when>
    <thetext>Comment on attachment 132854
Attempt to fix Win-EWS

Attachment 132854 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12022003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583299</commentid>
    <comment_count>49</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 11:41:19 -0700</bug_when>
    <thetext>win-ews hates me. :p  Just gonna wait for bug 	 80680 to land, or for someone with windows-fu to fix the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583504</commentid>
    <comment_count>50</comment_count>
      <attachid>132910</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 15:09:42 -0700</bug_when>
    <thetext>Created attachment 132910
Attempt to fix win-ews again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583514</commentid>
    <comment_count>51</comment_count>
      <attachid>132910</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 15:33:13 -0700</bug_when>
    <thetext>Comment on attachment 132910
Attempt to fix win-ews again

Attachment 132910 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12043019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583519</commentid>
    <comment_count>52</comment_count>
      <attachid>132912</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 15:39:37 -0700</bug_when>
    <thetext>Created attachment 132912
Attempt to fix win-ews again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583561</commentid>
    <comment_count>53</comment_count>
      <attachid>132912</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 16:09:12 -0700</bug_when>
    <thetext>Comment on attachment 132912
Attempt to fix win-ews again

Attachment 132912 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12070030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583571</commentid>
    <comment_count>54</comment_count>
      <attachid>132922</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 16:18:22 -0700</bug_when>
    <thetext>Created attachment 132922
another attempt to fix win-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583635</commentid>
    <comment_count>55</comment_count>
      <attachid>132934</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 17:07:36 -0700</bug_when>
    <thetext>Created attachment 132934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583636</commentid>
    <comment_count>56</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 17:08:25 -0700</bug_when>
    <thetext>A soon as the EWSes roll green, this is ready for landing.  (They should all be green now.)

Will send an announcement email to webkit-dev about the move.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583827</commentid>
    <comment_count>57</comment_count>
      <attachid>132934</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-20 22:44:01 -0700</bug_when>
    <thetext>Comment on attachment 132934
Patch

All green!!  They said it couldn&apos;t be done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583830</commentid>
    <comment_count>58</comment_count>
      <attachid>132934</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-20 22:48:55 -0700</bug_when>
    <thetext>Comment on attachment 132934
Patch

Rejecting attachment 132934 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
geLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/efl/CMakeLists.txt
patching file Tools/DumpRenderTree/qt/DumpRenderTree.pro
patching file Tools/QtTestBrowser/QtTestBrowser.pro
patching file Tools/Scripts/build-webkit
patching file CMakeLists.txt
patching file ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12072181</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583832</commentid>
    <comment_count>59</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 22:50:42 -0700</bug_when>
    <thetext>Committed r111504: &lt;http://trac.webkit.org/changeset/111504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584214</commentid>
    <comment_count>60</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-03-21 09:26:50 -0700</bug_when>
    <thetext>This broke the Windows build, which I fixed in http://trac.webkit.org/changeset/111550</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131469</attachid>
            <date>2012-03-12 17:32:14 -0700</date>
            <delta_ts>2012-03-12 17:45:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80911-20120312173212.patch</filename>
            <type>text/plain</type>
            <size>77906</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZGMzMWUzNjUxMTYwYjEyNmFlZDFmNjExMmY1YTQ5ZGE4ZWUwN2MwLi43NzRjN2I3MzUxMDA4NmRm
OTdhNTBjY2EyMmEzOWMyYTJjMWU1N2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xMiAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
MiAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAg
TWlub3IgRGF0YUxvZyBmaXhlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3NGJhYWNjOGJhNDFlNzNlYzgxZTBlYWEzZDlkNDA5
NjcxODIyNjhjLi4yNDA2ZDUwZDFlZTdkNTUyZjJmNDlkZjk3Yjk0ZGNlNjUxYWFlNTc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEyICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8g
U291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cuCisg
ICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQgdW50
aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAgIFF0
OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKyAgICAgICAg
RUZML0NNYWtlLCBldGM6IE5vIGNsdWUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFdURi5neXBpOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBSZW5hbWVkIGZyb20gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oLgorCiAyMDEyLTAzLTA3ICBNYXJrIFJvd2UgIDxt
cm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgVGVhY2ggbWFrZSB0byBidWlsZCBXVEYuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3MjA0NmUyYzhiMmE3OTNhYjA0NzEzMzgyMDI5
MzQyNjA2NzZjM2MuLmE5NmFkMTRmZWFjZGVjOTY3ZjIzMzljYWU4MGQ2MmM2ZWI3ODg0NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2
NDdCMzA5M0VGOEQ2MDAyMkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dy
YXBwZXJPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
V3JhcHBlck9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1QzdBMTcy
MEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTY1REZDOTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5j
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURG
QzkyQjA4RUExNzNBMDBGNzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBCIC8qIEhh
c2hTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSGFzaFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBA
IC0yMTQxLDcgKzIxNDAsNiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNz
T3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIu
aCAqLywKIAkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICovLAot
CQkJCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE3RDY0
OUE5MTAxNTIyNEUwMDlCMkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhGQTVCOTBF
Rjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVCQTBFRjc2
RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllZDFiODMyMjViZTQ4YWVj
MThmNmZmZjlkM2YxMWIyY2NhOTMyM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTIxNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAy
MDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gK
LQotLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYv
Q29tcGlsZXIuaD4KLQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52
aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBw
aGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9s
aWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09
ICovCi0jZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1f
IyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09
PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBv
ZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdl
dCBDUFUgYXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQg
V1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZF
KCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1p
bGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJF
KSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8q
IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3Ig
bWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90
IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVm
aW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQot
LyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2lj
ZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFy
dGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNk
ZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYm
IFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmlj
IGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmlu
ZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8q
ID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBU
aGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9y
IG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhh
ICovCi0jaWYgZGVmaW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2Vu
ZGlmCi0KLS8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19p
YTY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVt
ICovCi0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTog
T25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBu
b3cuICAqLwotI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmlu
ZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQot
I2RlZmluZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUg
V1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmlu
ZWQgX19QSUNfXykKLSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01J
UFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQot
I2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAm
JiBXVEZfTUlQU19BUkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19p
c2FfcmV2Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJD
SF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxF
X0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5n
bGVfZmxvYXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBf
X21pcHNfZnByID09IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGln
bmVkIG1lbW9yeSAqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRF
R0VSIDEKLSNlbmRpZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQg
Ki8KLSNpZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18p
ICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRlZmluZWQoX19w
b3dlcnBjKSAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5l
ZChfTV9QUEMpICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVf
UFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBD
NjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBX
VEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQg
Ki8KLSNpZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgot
Ci0vKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMp
ICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBX
VEZfQ1BVX1NQQVJDMzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0K
LS8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19f
KSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUg
V1RGX0NQVV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgot
Ci0vKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQ
VShTUEFSQzY0KSAqLwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUg
V1RGX0NQVV9TUEFSQyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICov
Ci0jaWYgZGVmaW5lZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzIt
Yml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNk
ZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYg
LyB4ODYgMzItYml0ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5l
ZChpMzg2KSAgICAgXAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVk
KF9YODZfKSAgICBcCi0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQ
VV9YODYgMQotI2VuZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2
XzY0IDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfTV9YNjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJN
KSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZp
bmVkKF9fYXJtX18pIFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FS
TV8pCi0jZGVmaW5lIFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAo
Q09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BV
X0JJR19FTkRJQU4gMQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAh
ZGVmaW5lZChfX0VBQklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAm
JiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZp
bmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9B
UkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQot
Ci0vKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJD
SF80X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19NQVJNX0FSTVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBX
VEZfQVJNX0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJN
X0FSTVY1X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5l
ZChfX0FSTV9BUkNIXzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBt
ZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
LQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wktf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1WNl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0j
ZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJD
SF9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VU
X0FSQ0hfNUUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwg
ZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9y
cyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FM
SUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiAwCi0KLSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwot
I2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZF
UlNJT04gMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18p
Ci0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJN
X0FSQ0hfNkpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpL
X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1C
X0FSQ0hfVkVSU0lPTiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
N0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0v
KiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdF
VF9BUkNIX1RIVU1CKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FS
Q0hfVEhVTUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5k
aWYKLQotCi0vKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBv
ciBlYXJsaWVyICovCi0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50
IGlzIHJlcXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBm
b3IgdjUgb3IgZWFybGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdU
Rl9BUk1fQVJDSF9BVF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEK
LSNlbmRpZgotCi0KLS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFp
bGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFS
TV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9u
bHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BV
X0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYg
ZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5l
ZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gPT0gNCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0
KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RG
X0NQVV9BUk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJN
IGFyY2hpdGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBD
UFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBi
b3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxh
dGZvcm1zIgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAh
ZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05f
XykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVP
TiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1J
UFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElH
TkVEX0FDQ0VTUyAxCi0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRp
bmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNl
cyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9
PT09ICovCi0KLS8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNk
ZWZpbmUgV1RGX09TX0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNp
ZmRlZiBfQUlYCi0jZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikg
LSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAq
LwotI2lmZGVmIF9fQVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUg
PEF2YWlsYWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1
ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8K
LS8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBP
UyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19F
TUJFRERFRCkgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9P
U19JUEhPTkUpICAgICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9O
RV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09T
X0lPUyAxCi0jZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFS
R0VUX09TX01BQwotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6IEJVSUxESU5H
X09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhl
IE9TKCkgc3lzdGVtICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVm
aW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lP
Tl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lP
Tl8xMF83Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5l
ZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQg
PCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5k
aWYKLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElO
R19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZp
bmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVS
U0lPTl8xMF84Ci0jZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8q
IE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRl
ZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVm
aW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICov
Ci0jaWZkZWYgX19HTlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1Mo
TElOVVgpIC0gTGludXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVY
IDEKLSNlbmRpZgotCi0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05l
dEJTRF9fKQotI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNE
KSAtIE9wZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJT
RCAxCi0jZW5kaWYKLQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9f
XykKLSNkZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xh
cmlzICovCi0jaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9P
U19TT0xBUklTIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRo
YXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYg
ZGVmaW5lZChfV0lOMzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8q
IE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lO
MzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYK
LQotI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4i
Ci0jZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMi
Ci0KLS8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkg
ICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0gICAgfHwgT1Mo
REFSV0lOKSAgICAgICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8
fCBPUyhIVVJEKSAgICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAot
ICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAg
ICBcCi0gICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAg
ICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChf
X3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5lIFdURl9PU19V
TklYIDEKLSNlbmRpZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1F
OiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBv
bGljeSBjaG9pY2VzLiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQTEFURk9STShR
VCkgKi8KLS8qIFBMQVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZP
Uk0oQkxBQ0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikg
Ki8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9DSFJPTUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9Q
TEFURk9STV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9Q
TEFURk9STV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZf
UExBVEZPUk1fR1RLIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5l
IFdURl9QTEFURk9STV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX1dJTiAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMg
aXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hl
ci1sZXZlbCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRB
UkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VU
X09TX0lQSE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExB
VEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxB
VE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9T
IDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZf
UExBVEZPUk1fSU9TKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBH
cmFwaGljcyBlbmdpbmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNl
bmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lO
KSAmJiBVU0UoQ0cpKQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJ
QSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQot
I2lmIE9TKERBUldJTikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdU
Rl9VU0VfU0tJQSAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmlu
ZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBX
VEZfVVNFX0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lB
IDEKLSNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RG
X1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBP
UlQgMAotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VO
TkVfVFdJU1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYg
T1MoV0lOQ0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5F
X1RXSVNURVJfMTk5MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZv
cm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RG
X1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWlu
IGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExX
QVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNE
TiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVz
cGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNw
MTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQg
ICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYg
IC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNp
Zm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEK
LSNlbmRpZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAx
Ci0jZWxpZiBQTEFURk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29u
ZmlndXJhYmxlICovCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lO
X0hPU1RfUFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9H
RVNUVVJFX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5l
IFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQgMQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhB
VkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFC
TEVfRlVMTFNDUkVFTl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0j
ZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQot
I2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQot
I2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2Rl
ZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRp
ZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQTEFURk9STShD
SFJPTUlVTSkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5l
IFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZp
bmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZP
Uk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZ
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9N
RU5VUyAwCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFC
TEVfR0VPTE9DQVRJT04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUg
RU5BQkxFX0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5l
IEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NB
TExCQUNLIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVB
RExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NG
IDEKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKLQotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xB
U1NJQ19JTlRFUlBSRVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5l
IEVOQUJMRV9ZQVJSX0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5U
RVJQUkVURVIgMAotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVf
TExJTlQgMQotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEK
LSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikg
JiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJ
Uk8pCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVU
V09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0Vf
Q0ZVUkxDQUNIRSAxCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9N
SVVNKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01J
VU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQ
VShQUEMpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEK
LSNlbmRpZgotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUg
RU5BQkxFX0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQot
I2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAx
Ci0jZW5kaWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENI
Uk9NSVVNKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyog
IWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUg
SEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQot
I2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdX
KSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYg
MQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhE
QVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBI
QVZFX1NUUk5TVFIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1Mo
U09MQVJJUykgXAotICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVm
aW5lIEhBVkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFW
RV9USU1FR00gMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJO
T19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNk
ZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZ
U19USU1FX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9B
Q0NFTEVSQVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVf
RElTUEFUQ0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lm
ICFQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUg
SEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5k
aWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVF
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9T
KFdJTkRPV1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNl
Ci0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9D
IDEKLSNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFW
RV9WSVJUVUFMQUxMT0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19I
IDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQot
I2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRS
T0lEKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAw
Ci0jZGVmaW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVf
U1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lT
X1RJTUVfSCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3Ig
ZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KLQotI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBI
QVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
Ci0jZW5kaWYKLQotLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShR
VCkKLS8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQg
ZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFM
TE9DX05FVyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNl
bmRpZgotI2VuZGlmCi0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9y
IHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwg
ZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQo
RU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNU
X01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0lDT05EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFU
QUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dF
UikKLSNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05U
RVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkK
LSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkK
LSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFf
QlJJREdFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9B
UEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUg
RU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxF
X01FTU9SWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJP
Q0VTUykKLSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09S
SUVOVEFUSU9OX0VWRU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVf
U1RBVFMpCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JS
RUFLUE9JTlQgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBF
TkFCTEVfU0FNUExJTkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAw
Ci0jZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJM
T0NLX1NBTVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxF
KE9QQ09ERV9TQU1QTElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9Q
Q09ERV9TQU1QTElORyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVO
QUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5l
IEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
R0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJM
RV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBF
TkFCTEVfVEVYVF9DQVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NB
UkVUKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5B
QkxFX1BPSU5URVJfTE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxV
RTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkg
JiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQ
VShJQTY0XzMyKSkgXAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBc
Ci0gICAgfHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNF
X0pTVkFMVUU2NCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5k
aWYKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RG
X1VTRV9KU1ZBTFVFMzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJP
VFRMSU5HKQotI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0v
KiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lm
ICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FU
X0xFQVNUKDQsIDEsIDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBp
cyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJ
VCAwCi0jZW5kaWYKLQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4
NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
SklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQ
VShNSVBTKSkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19W
RVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYg
IU9TKFFOWCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0
aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRo
ZSAKLSAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJ
TlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChD
UFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJM
RV9MTElOVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFC
TEUoSklUKQotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0
ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8IENQVShYODZf
NjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdf
SklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0
ZWQgb24gaU9TLiAqLwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVm
aW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0
eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwg
YnV0IHlvdQotICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlm
IHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0
IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJP
RklMRQotICAgYmVsb3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAm
JiBFTkFCTEUoREZHX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxF
KFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNk
ZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQotLyogQ291bnRz
IHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUg
dG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFk
ZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dS
SVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIg
dGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVm
aW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5l
IEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkg
fHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUg
YXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlm
Ci0KLSNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0j
ZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZp
bmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1Qo
NSkKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYK
LQotI2lmIENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVk
KEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZU
X01PRFVMTyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNW
QykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBD
T01QSUxFUihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3Rj
YWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1
cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9O
X0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZF
X0NPTVBVVEVEX0dPVE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFC
TEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xB
U1NJQ19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNp
bmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBh
dCBleGl0ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90
aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQg
cG9ydHMuICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJ
VCAwCi0KLSNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNk
ZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMg
SklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVf
WUFSUl9KSVRfREVCVUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFS
Ul9KSVQpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hp
Y2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9y
IGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEg
c2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4g
Ki8KLSNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElP
UykKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0j
ZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQot
I2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAw
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5B
QkxFX1dFQl9BUkNISVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIg
aW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxR
dWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFU
KQotI2lmICFVU0UoTElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZp
bmUgV1RGX1VTRV9RWE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1B
QykKLS8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVP
UEFSRAotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQg
MQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9U
RVhUIDAKLSNlbmRpZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFU
Rk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2Vu
ZGlmCi0KLS8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNp
ZiBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FV
VEhfQ0FMTEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
IHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZM
KSkpCi0jZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MSU9OKQotI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0v
KiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8g
Y2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNk
ZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3Vz
ZWRfd2l0aF9DRk5FVFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJs
ZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0j
aWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExB
VEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05U
RVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lC
SUxJVFkpCi0jZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNl
bmRpZgotCi0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5
IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24u
Ci0gICBDbGllbnQgYmFzZWQgaW1wbGVtZW50YXRpb25zIHdpbGwgaGF2ZSBvcHRpb24gdG8gY2hv
b3NlIGJldHdlZW4gcHJlLWVtcHRpdmUgYW5kIG5vbnByZS1lbXB0aXZlIHBlcm1pc3Npb24gcG9s
aWN5LgotICAgcHJlLWVtcHRpdmUgcGVybWlzc2lvbiBwb2xpY3kgaXMgZW5hYmxlZCBieSBkZWZh
dWx0IGZvciBhbGwgY2xpZW50LWJhc2VkIGltcGxlbWVudGF0aW9ucy4gKi8KLSNpZiBFTkFCTEUo
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQotI2RlZmluZSBXVEZfVVNFX1BSRUVNUFRfR0VPTE9D
QVRJT05fUEVSTUlTU0lPTiAxCi0jZW5kaWYKLQotI2lmIENQVShBUk1fVEhVTUIyKQotI2RlZmlu
ZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCi0jZGVmaW5lIEVO
QUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVB
RElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElO
R19PUEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCi0jZGVmaW5lIEVO
QUJMRV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShHTElCX1NVUFBP
UlQpCi0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotLyogRklY
TUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5k
ZWQuIEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJv
amVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwotICAgdG8gV1RGIGNhdXNlcyBt
YW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1
aWxkCi0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCi0jZWxz
ZQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oUVQpICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
LSNkZWZpbmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5BQkxFX0NP
TVBBUkVfQU5EX1NXQVAgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxf
R0MpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAm
JiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkKLSNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEK
LSNlbmRpZgotCi0jaWZuZGVmIE5ERUJVRwotI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgot
I2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xJT04pCi0jZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0j
ZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEhBVkVf
SU5WRVJURURfV0hFRUxfRVZFTlRTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2Rl
ZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCi0jZGVmaW5lIFdURl9VU0VfVjggMQotI2VuZGlm
Ci0jZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNF
X1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDAKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4
KSAqLwotCi0vKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBKU0MgYW5kIHZpY2UgdmVyc2Eg
Ki8KLSNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKLQotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEVOQUJMRV9URVhUX05PVElGSUNBVElP
TlNfT05MWSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfV1RGVVJMKQotI2RlZmlu
ZSBXVEZfVVNFX1dURlVSTCAwCi0jZW5kaWYKLQotI2lmICFQTEFURk9STShRVCkgJiYgIVBMQVRG
T1JNKEVGTCkKLSNkZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogV1RG
X1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2ZjRhMzdmMzc4NDYy
MmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5MWM2OGYzNzNiY2Vi
OWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEsNCBAQAogd3RmX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9XVEYvU3R1Yi5oCisJ
U291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGFl
ZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3NGM4NDQ5Y2U4YzI5
MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkK
KysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAgJ3Byb2pl
Y3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsKICAg
ICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAgICAg
ICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4YmU3M2RmNmExMTJi
ODVmMDA4MWRlYTQyZjgyNzYyZWQ4ODAyMjI0Li4zMzNhMmRkYTZhYzM5ZmM5NjFhZjU3ZjY5YWZj
MDE4MWMwYzIxM2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTksNiArOSw3IEBACiAvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCQk1RDI0
N0I3OTE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5j
cHAgKi87IH07CiAJCTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDI0N0I3ODE0Njg5RDg5MDBF
NzhCNzYgLyogU3R1Yi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJ
CUE4MUE3M0UzMTUwRUM4M0YwMDU4RTM0RSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgxQTczRTIxNTBFQzgzRjAwNThFMzRFIC8q
IFBsYXRmb3JtLmggKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCkBAIC0yMCw2ICsyMSw3IEBACiAJCTVE
MjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0dWIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHViLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3RUIx
MTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSGVhZGVyRGV0ZWN0aW9uLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
VEYvSGVhZGVyRGV0ZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCUE4MUE3M0UyMTUwRUM4M0YwMDU4RTM0RSAvKiBQbGF0Zm9ybS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC02NywxMCArNjksMTkgQEAKIAkJCQk1RDI0
N0VCMTE0NjhCMDE1MDBFNzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmggKi8sCiAJCQkJNUQyNDdC
NzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovLAogCQkJCTVEMjQ3Qjc4MTQ2ODlEODkw
MEU3OEI3NiAvKiBTdHViLmggKi8sCisJCQkJQTgxQTczRTExNTBFQzgzRjAwNThFMzRFIC8qIHd0
ZiAqLywKIAkJCSk7CiAJCQluYW1lID0gU291cmNlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKIAkJfTsKKwkJQTgxQTczRTExNTBFQzgzRjAwNThFMzRFIC8qIHd0ZiAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTgxQTczRTIxNTBFQzgzRjAwNThF
MzRFIC8qIFBsYXRmb3JtLmggKi8sCisJCQkpOworCQkJcGF0aCA9IHd0ZjsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC03OCw4ICs4OSw4IEBACiAJ
CQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk1RDI0N0VCMjE0NjhCMDE1MDBFNzhCNzYgLyogSGVh
ZGVyRGV0ZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RDI0N0I3QTE0Njg5RDg5MDBFNzhC
NzYgLyogU3R1Yi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTgxQTczRTMxNTBFQzgzRjAwNThFMzRF
IC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE0Myw3ICsxNTQsNyBAQAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtU
QVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNl
XG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRFX0hFQURF
UlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BB
VEh9XCJcbnJzeW5jIC1hdiAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0t
ZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwi
Ki9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L1wiIFwi
JHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwi
JHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVf
SEVBREVSU19QQVRIPVwiJHtUQVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZP
TERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1Ql
JS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7
UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAtLXBydW5lLWVtcHR5LWRpcnMgLS1l
eGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3Vy
Y2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIg
XCIke1NSQ1JPT1R9L3d0Zi9cIiBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbiI7CiAJCX07
CiAJCTVEMjQ3RTlEMTQ2OEFFRTIwMEU3OEI3NiAvKiBEZXRlY3QgQXZhaWxhYmxlIEhlYWRlcnMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZWQxYjgzMjI1YmU0OGFlYzE4ZjZmZmY5ZDNmMTFiMmNjYTkzMjNmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMCwwICsxLDEyMTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9i
aWxlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfUGxhdGZv
cm1faAorI2RlZmluZSBXVEZfUGxhdGZvcm1faAorCisvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNp
ZmljIG1hY3JvcyAqLworI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorCisvKiA9PT09IFBMQVRG
T1JNIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQK
KyAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZv
cm0gYWRhcHRhdGlvbgorICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9w
LWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuID09PT0gKi8KKyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZF
QVRVUkUpIChkZWZpbmVkIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZP
Uk1fIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9z
OiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09
PT0gKi8KKworLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZp
bmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdU
Rl9DUFVfIyNXVEZfRkVBVFVSRSkKKy8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJl
cyAoaGVhZGVycywgZnVuY3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90
ICovCisjZGVmaW5lIEhBVkUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVS
RSAgJiYgSEFWRV8jI1dURl9GRUFUVVJFKQorLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5n
IHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMg
bGlrZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8K
KyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAm
JiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNy
b3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09
PT0gKi8KKworLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkg
b3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLworI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZp
bmVkIFdURl9VU0VfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQorLyog
RU5BQkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZp
bmUgRU5BQkxFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYg
RU5BQkxFXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BV
IGFyY2hpdGVjdHVyZSA9PT09ICovCisKKy8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5E
SUFOKSBvciBDUFUoTUlERExFX0VORElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICov
CisKKy8qIENQVShBTFBIQSkgLSBERUMgQWxwaGEgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykK
KyNkZWZpbmUgV1RGX0NQVV9BTFBIQSAxCisjZW5kaWYKKworLyogQ1BVKElBNjQpIC0gSXRhbml1
bSAvIElBLTY0ICovCisjaWYgZGVmaW5lZChfX2lhNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0
IDEKKy8qIDMyLWJpdCBtb2RlIG9uIEl0YW5pdW0gKi8KKyNpZiAhZGVmaW5lZChfX0xQNjRfXykK
KyNkZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIENQVShNSVBT
KSAtIE1JUFMgMzItYml0ICovCisvKiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3
ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkgZm9yIG5vdy4gICovCisjaWYgKGRlZmluZWQobWlwcykg
fHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykp
IFwKKyAgICAmJiBkZWZpbmVkKF9BQklPMzIpCisjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaWYg
ZGVmaW5lZChfX01JUFNFQl9fKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlm
CisjZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVmaW5lZCBfX1BJQ19fKQorI2RlZmluZSBXVEZfTUlQ
U19BUkNIIF9fbWlwcworI2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNf
QVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFT
VCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZp
bmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNB
X1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9
PSB2KQorI2RlZmluZSBXVEZfTUlQU19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRf
ZmxvYXQgJiYgIWRlZmluZWQgX19taXBzX3NpbmdsZV9mbG9hdCkKKyNkZWZpbmUgV1RGX01JUFNf
RlA2NCAoZGVmaW5lZCBfX21pcHNfZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCisvKiBNSVBTIHJl
cXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCisjZGVmaW5lIFdURl9V
U0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmIC8qIE1JUFMgKi8KKwor
LyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwY19fKSAg
ICAgXAorICAgIHx8IGRlZmluZWQoX19QUENfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93
ZXJwY19fKSBcCisgICAgfHwgZGVmaW5lZChfX3Bvd2VycGMpICAgXAorICAgIHx8IGRlZmluZWQo
X19QT1dFUlBDX18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCisgICAgfHwgZGVm
aW5lZChfX1BQQykKKyNkZWZpbmUgV1RGX0NQVV9QUEMgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLworI2lm
ICAgZGVmaW5lZChfX3BwYzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZp
bmUgV1RGX0NQVV9QUEM2NCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYK
KworLyogQ1BVKFNINCkgLSBTdXBlckggU0gtNCAqLworI2lmIGRlZmluZWQoX19TSDRfXykKKyNk
ZWZpbmUgV1RGX0NQVV9TSDQgMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMy
LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwg
ZGVmaW5lZChfX3NwYXJjdjgpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCisjZGVmaW5lIFdU
Rl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQt
Yml0ICovCisjaWYgZGVmaW5lZChfX3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwg
ZGVmaW5lZCAoX19zcGFyY3Y5KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQorI2RlZmluZSBX
VEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMs
IHRydWUgZm9yIENQVShTUEFSQzMyKSBhbmQgQ1BVKFNQQVJDNjQpICovCisjaWYgQ1BVKFNQQVJD
MzIpIHx8IENQVShTUEFSQzY0KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKKyNlbmRpZgorCisv
KiBDUFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MHhfXykKKyNk
ZWZpbmUgV1RGX0NQVV9TMzkwWCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5k
aWYKKworLyogQ1BVKFMzOTApIC0gUzM5MCAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MF9f
KQorI2RlZmluZSBXVEZfQ1BVX1MzOTAgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQor
I2VuZGlmCisKKy8qIENQVShYODYpIC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmlu
ZWQoX19pMzg2X18pIFwKKyAgICB8fCBkZWZpbmVkKGkzODYpICAgICBcCisgICAgfHwgZGVmaW5l
ZChfTV9JWDg2KSAgXAorICAgIHx8IGRlZmluZWQoX1g4Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVk
KF9fVEhXX0lOVEVMKQorI2RlZmluZSBXVEZfQ1BVX1g4NiAxCisjZW5kaWYKKworLyogQ1BVKFg4
Nl82NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4ODZfNjQgNjQtYml0ICovCisjaWYgICBkZWZpbmVk
KF9feDg2XzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9Y
ODZfNjQgMQorI2VuZGlmCisKKy8qIENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCisjaWYg
ICBkZWZpbmVkKGFybSkgXAorICAgIHx8IGRlZmluZWQoX19hcm1fXykgXAorICAgIHx8IGRlZmlu
ZWQoQVJNKSBcCisgICAgfHwgZGVmaW5lZChfQVJNXykKKyNkZWZpbmUgV1RGX0NQVV9BUk0gMQor
CisjaWYgZGVmaW5lZChfX0FSTUVCX18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9f
QklHX0VORElBTikpCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisKKyNlbGlmICFkZWZp
bmVkKF9fQVJNX0VBQklfXykgXAorICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCisgICAgJiYg
IWRlZmluZWQoX19WRlBfRlBfXykgXAorICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAg
ICAmJiAhZGVmaW5lZChBTkRST0lEKQorI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQor
CisjZW5kaWYKKworI2RlZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYm
IFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4pCisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiAqLworI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQoX19B
Uk1fQVJDSF80VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAorICAgIHx8
IGRlZmluZWQoX0FSTVY0SV8pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKKworI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjVfXykKKyNkZWZpbmUgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gNQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAorICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VEVKX18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKy8qQVJNdjVURSByZXF1aXJl
cyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJF
TkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
Nl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVk
KF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisg
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1f
QVJDSF9WRVJTSU9OIDYKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04g
NworCisvKiBSVkNUIHNldHMgX1RBUkdFVF9BUkNIX0FSTSAqLworI2VsaWYgZGVmaW5lZChfX1RB
UkdFVF9BUkNIX0FSTSkKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJD
SF9BUk0KKworI2lmIGRlZmluZWQoX19UQVJHRVRfQVJDSF81RSkgXAorICAgIHx8IGRlZmluZWQo
X19UQVJHRVRfQVJDSF81VEUpIFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikK
Ky8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisj
ZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisK
KyNlbHNlCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDAKKworI2VuZGlmCisKKy8qIFNl
dCBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRf
XykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAxCisKKyNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAyCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82TV9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKKworI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykg
XAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzdSX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKKyNkZWZpbmUg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA0CisKKy8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RI
VU1CICovCisjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9U
SFVNQl9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBX
VEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKKyNlbmRpZgorCisKKy8qIENQVShBUk1WNV9PUl9MT1dF
UikgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFu
ZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAorICAgQW5kIHRoZXJl
IGFyZSBzb21lIG90aGVyIGRpZmZlcmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLworI2lmICFk
ZWZpbmVkKEFSTVY1X09SX0xPV0VSKSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCisjZGVm
aW5lIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIgMQorI2VuZGlmCisKKworLyogQ1BVKEFSTV9UUkFE
SVRJT05BTCkgLSBUaHVtYjIgaXMgbm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0g
KHY0IG9yIGdyZWF0ZXIpICovCisvKiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rp
b24gc2V0IGlzIGF2YWlsYWJsZSAqLworLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZp
bmVkLiAqLworI2lmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5l
ZChXVEZfQ1BVX0FSTV9USFVNQjIpCisjICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChf
X3RodW1iMl9fKSBcCisgICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVt
Yl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQ
VV9BUk1fVFJBRElUSU9OQUwgMAorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMg
IGVsaWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9U
UkFESVRJT05BTCAxCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAorIyAgZWxzZQor
IyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNl
bGlmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hl
Y2sgKi8KKyMgIGVycm9yICJDYW5ub3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwgYW5kIFdURl9DUFVfQVJNX1RIVU1CMiBwbGF0Zm9ybXMiCisjZW5kaWYgLyogIWRlZmluZWQo
V1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikg
Ki8KKworI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9O
RU9OKQorI2RlZmluZSBXVEZfQ1BVX0FSTV9ORU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJN
ICovCisKKyNpZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJD
KQorI2RlZmluZSBXVEZfQ1BVX05FRURTX0FMSUdORURfQUNDRVNTIDEKKyNlbmRpZgorCisvKiA9
PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBm
b3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwg
bm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ID09PT0gKi8KKworLyogT1MoQU5EUk9JRCkgLSBB
bmRyb2lkICovCisjaWZkZWYgQU5EUk9JRAorI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5k
aWYKKworLyogT1MoQUlYKSAtIEFJWCAqLworI2lmZGVmIF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJ
WCAxCisjZW5kaWYKKworLyogT1MoREFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1
ZGluZyBNYWMgT1MgWCBhbmQgaVBob25lIE9TICovCisjaWZkZWYgX19BUFBMRV9fCisjZGVmaW5l
IFdURl9PU19EQVJXSU4gMQorCisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8
QXZhaWxhYmlsaXR5TWFjcm9zLmg+CisjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Cisj
ZW5kaWYKKworLyogT1MoSU9TKSAtIGlPUyAqLworLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFgg
KG5vdCBpbmNsdWRpbmcgaU9TKSAqLworI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdF
VF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSBcCisgICAgfHwgKGRlZmluZWQo
VEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwK
KyAgICB8fCAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9O
RV9TSU1VTEFUT1IpKQorI2RlZmluZSBXVEZfT1NfSU9TIDEKKyNlbGlmIE9TKERBUldJTikgJiYg
ZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDCisjZGVmaW5lIFdURl9PU19N
QUNfT1NfWCAxCisvKiBGSVhNRTogQlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFj
cm9zIHNob3VsZCBiZSBmb2xkZWQgaW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5l
ZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQg
PCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCisj
ZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJTkdfT05f
U05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwg
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2Rl
ZmluZSBCVUlMRElOR19PTl9MSU9OIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZF
UlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzYKKyNkZWZpbmUgVEFSR0VUSU5HX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQo
TUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEK
KyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5H
X0xJT04gMQorI2VuZGlmCisjZW5kaWYKKworLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisj
aWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZp
bmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKKyNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlm
CisKKy8qIE9TKEhVUkQpIC0gR05VL0h1cmQgKi8KKyNpZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdU
Rl9PU19IVVJEIDEKKyNlbmRpZgorCisvKiBPUyhMSU5VWCkgLSBMaW51eCAqLworI2lmZGVmIF9f
bGludXhfXworI2RlZmluZSBXVEZfT1NfTElOVVggMQorI2VuZGlmCisKKy8qIE9TKE5FVEJTRCkg
LSBOZXRCU0QgKi8KKyNpZiBkZWZpbmVkKF9fTmV0QlNEX18pCisjZGVmaW5lIFdURl9PU19ORVRC
U0QgMQorI2VuZGlmCisKKy8qIE9TKE9QRU5CU0QpIC0gT3BlbkJTRCAqLworI2lmZGVmIF9fT3Bl
bkJTRF9fCisjZGVmaW5lIFdURl9PU19PUEVOQlNEIDEKKyNlbmRpZgorCisvKiBPUyhRTlgpIC0g
UU5YICovCisjaWYgZGVmaW5lZChfX1FOWE5UT19fKQorI2RlZmluZSBXVEZfT1NfUU5YIDEKKyNl
bmRpZgorCisvKiBPUyhTT0xBUklTKSAtIFNvbGFyaXMgKi8KKyNpZiBkZWZpbmVkKHN1bikgfHwg
ZGVmaW5lZChfX3N1bikKKyNkZWZpbmUgV1RGX09TX1NPTEFSSVMgMQorI2VuZGlmCisKKy8qIE9T
KFdJTkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5E
T1dTKSBpcyBhbHNvIGRlZmluZWQgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5l
IFdURl9PU19XSU5DRSAxCisjZW5kaWYKKworLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBv
ZiBXaW5kb3dzICovCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVm
aW5lIFdURl9PU19XSU5ET1dTIDEKKyNlbmRpZgorCisjZGVmaW5lIFdURl9PU19XSU4gRVJST1Ig
IlVTRSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJTiIKKyNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAi
VVNFIE1BQ19PU19YIFdJVEggT1MgTk9UIE1BQyIKKworLyogT1MoVU5JWCkgLSBBbnkgVW5peC1s
aWtlIHN5c3RlbSAqLworI2lmICAgT1MoQUlYKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKEFO
RFJPSUQpICAgICAgICAgIFwKKyAgICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCisgICAgfHwg
T1MoRlJFRUJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhMSU5VWCkgICAgICAgICAgICBcCisgICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAg
XAorICAgIHx8IE9TKE9QRU5CU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhRTlgpICAgICAgICAg
ICAgICBcCisgICAgfHwgT1MoU09MQVJJUykgICAgICAgICAgXAorICAgIHx8IGRlZmluZWQodW5p
eCkgICAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCisgICAgfHwgZGVmaW5l
ZChfX3VuaXhfXykKKyNkZWZpbmUgV1RGX09TX1VOSVggMQorI2VuZGlmCisKKy8qIE9wZXJhdGlu
ZyBlbnZpcm9ubWVudHMgKi8KKworLyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1Ms
IG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQgcG9saWN5IGNob2ljZXMuICovCisvKiBQTEFURk9S
TShDSFJPTUlVTSkgKi8KKy8qIFBMQVRGT1JNKFFUKSAqLworLyogUExBVEZPUk0oV1gpICovCisv
KiBQTEFURk9STShHVEspICovCisvKiBQTEFURk9STShCTEFDS0JFUlJZKSAqLworLyogUExBVEZP
Uk0oTUFDKSAqLworLyogUExBVEZPUk0oV0lOKSAqLworI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hS
T01JVU1fXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0NIUk9NSVVNIDEKKyNlbGlmIGRlZmluZWQo
QlVJTERJTkdfUVRfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1FUIDEKKyNlbGlmIGRlZmluZWQo
QlVJTERJTkdfV1hfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dYIDEKKyNlbGlmIGRlZmluZWQo
QlVJTERJTkdfR1RLX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9HVEsgMQorI2VsaWYgZGVmaW5l
ZChCVUlMRElOR19CTEFDS0JFUlJZX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZ
IDEKKyNlbGlmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCisjZWxpZiBP
UyhXSU5ET1dTKQorI2RlZmluZSBXVEZfUExBVEZPUk1fV0lOIDEKKyNlbmRpZgorCisvKiBQTEFU
Rk9STShJT1MpICovCisvKiBGSVhNRTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBz
d2l0Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLworI2lmIChkZWZp
bmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5l
ZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKQorI2RlZmluZSBXVEZfUExB
VEZPUk1fSU9TIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLworI2lm
IGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxB
VE9SCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9T
X1NJTVVMQVRPUiAxCisjZWxzZQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpCisjZGVmaW5lIFdURl9Q
TEFURk9STV9JT1MgMAorI2VuZGlmCisKKy8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KKworLyogVVNF
KENHKSBhbmQgUExBVEZPUk0oQ0kpICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJ
T1MpCisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IChQTEFURk9STShXSU4pICYmIFVTRShDRykpCisjZGVmaW5lIFdURl9V
U0VfQ0EgMQorI2VuZGlmCisKKy8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lk
ICovCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgT1MoREFSV0lOKQorI2lmIFVTRShTS0lB
X09OX01BQ19DSFJPTUlVTSkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbHNlCisjZGVmaW5l
IFdURl9VU0VfQ0cgMQorI2VuZGlmCisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBX
VEZfVVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCisjZWxpZiBPUyhB
TkRST0lEKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JF
TkRFUklORyAwCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNF
X0NIUk9NSVVNX05FVCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJS
WSkKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIFVTRV9TWVNURU1fTUFM
TE9DIDEKKyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUg
V1RGX1VTRV9TS0lBIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBXVEZf
VVNFX0NBSVJPIDEKKyNlbmRpZgorCisKKyNpZiBPUyhXSU5DRSkKKyNpbmNsdWRlIDxjZV90aW1l
Lmg+CisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCisjZW5kaWYKKwor
LyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8K
KyNpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5U
RVIgIDEKKyNlbmRpZgorCisjaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUg
Tk9NSU5NQVggICAgICAgLyogV2luZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5k
YXJkIG1hY3JvcyAqLworI2RlZmluZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2
YWlsYWJsZSBvbiBXaW5DZSAqLworCisvKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBm
dW5jdGlvbnMgYXJlIHByb3ZpZGVkIHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5k
IHRoaXMgZmlsZS4gKi8KKyNkZWZpbmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAu
aCIgKi8KKworI2RlZmluZSBfSU5DX0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8K
KyNkZWZpbmUgYXNzZXJ0KHgpCisKKyNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShR
VCkgKi8KKworI2lmIFBMQVRGT1JNKFFUKQorI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisj
ZGVmaW5lIFdURl9VU0VfUVQ0X1VOSUNPREUgMQorI2VuZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNk
ZWZpbmUgV1RGX1VTRV9XSU5DRV9VTklDT0RFIDEKKyNlbGlmIFBMQVRGT1JNKEdUSykKKy8qIFRo
ZSBHVEsrIFVuaWNvZGUgYmFja2VuZCBpcyBjb25maWd1cmFibGUgKi8KKyNlbHNlCisjZGVmaW5l
IFdURl9VU0VfSUNVX1VOSUNPREUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFQ
TEFURk9STShJT1MpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4
Nl82NCkKKyNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorI2lm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKKyNkZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5B
QkxFX1JVQkJFUl9CQU5ESU5HIDEKKyNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAx
CisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJM
RV9KQVZBX0JSSURHRSAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCisjZW5kaWYKKyNkZWZp
bmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZF
X1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVf
UlVOTE9PUF9USU1FUiAxCisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZGVmaW5l
IEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEK
KyNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAxCisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCisj
ZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElO
R19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9X
SU5ET1dfU0VSVkVSIDEKKyNlbmRpZgorI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKElPUykgKi8KKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCisjZGVm
aW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFW
RV9QVEhSRUFEX1JXTE9DSyAxCisKKyNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRF
UiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRE9OVF9GSU5BTElaRV9P
Tl9NQUlOX1RIUkVBRCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4p
CisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2VuZGlm
CisKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKKyNk
ZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJ
T1MpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdf
U1VQUE9SVCAwCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNkZWZpbmUg
RU5BQkxFX0ZUUERJUiAxCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCisjZGVmaW5lIEVO
QUJMRV9JQ09OREFUQUJBU0UgMAorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUg
RU5BQkxFX0pBVkFfQlJJREdFIDAKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkg
MAorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JF
UEFJTlRfVEhST1RUTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5l
IEhBVkVfTkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0sgMQorI2RlZmluZSBIQVZFX1BUSFJF
QURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9P
UF9USU1FUiAwCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09S
SyAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVM
QVRPUikKKyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyAgICAjZGVm
aW5lIEVOQUJMRV9KSVQgMAorICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKyNlbHNlCisg
ICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAwCisgICAgI2RlZmluZSBFTkFC
TEVfSklUIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisgICAgI2RlZmluZSBFTkFCTEVf
WUFSUl9KSVQgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShD
SFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdP
UksgMQorI2VuZGlmCisKKyNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYg
IU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAh
T1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykg
JiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShXWCkKKyNpZiAhQ1BVKFBQQykKKyNkZWZpbmUgRU5BQkxFX0FTU0VN
QkxFUiAxCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9C
QUxfRkFTVE1BTExPQ19ORVcgMAorI2RlZmluZSBFTkFCTEVfTExJTlQgMAorI2lmIE9TKERBUldJ
TikKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNk
ZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShHVEspCisjaWYgSEFWRShQVEhSRUFEX0gpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRpZgorI2VsaWYgUExBVEZPUk0oUVQp
ICYmIE9TKFVOSVgpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BU
SFJFQURfUldMT0NLIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZ
KQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEhBVkVfQUNDRVNT
SUJJTElUWSAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkp
ICovCisKKyNpZiBPUyhVTklYKQorI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoSEFWRV9WQVNQUklOVEYpCisjaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01Q
SUxFUihSVkNUKSAmJiAhQ09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhR
TlgpKQorI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoSEFWRV9TVFJOU1RSKQorI2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFk
ZWZpbmVkKF9fR0xJQkNfXykpCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKyNlbmRp
ZgorCisjaWYgIU9TKFdJTkRPV1MpICYmICFPUyhTT0xBUklTKSBcCisgICAgJiYgIU9TKFJWQ1Qp
IFwKKyAgICAmJiAhT1MoQU5EUk9JRCkKKyNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorI2RlZmlu
ZSBIQVZFX1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9T
KERBUldJTikKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZP
X0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCisjZGVm
aW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1RJTUVCX0ggMQorI2RlZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEUgMQorCisjaWZuZGVmIFRBUkdF
VElOR19MRU9QQVJECisKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9I
T1NURURfQ09SRV9BTklNQVRJT04gMQorCisjaWYgIVBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFW
RV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhB
VkVfUFRIUkVBRF9TRVROQU1FX05QIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VU
TkFNRV9OUCAxCisjZW5kaWYKKworI2VsaWYgT1MoV0lORE9XUykKKworI2lmIE9TKFdJTkNFKQor
I2RlZmluZSBIQVZFX0VSUk5PX0ggMAorI2Vsc2UKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAx
CisjZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxMT0MgMQorI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQ
UkVTRU5UIDEKKyNlbmRpZgorI2RlZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCisKKyNlbGlmIE9T
KFFOWCkKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2Rl
ZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNk
ZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZF
X1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgV1RGX1VT
RV9QVEhSRUFEUyAxCisKKyNlbGlmIE9TKEFORFJPSUQpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19I
IDEKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDAKKyNkZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZp
bmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZ
U19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKworI2Vsc2UKKworLyogRklY
TUU6IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUg
dGhlaXIgb3duIGNvbmZpZy5oPyAqLworCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5l
IEhBVkVfTEFOR0lORk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfU0JS
SyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
CisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbmRpZgorCisvKiBFTkFCTEUgbWFjcm8g
ZGVmYXVsdHMgKi8KKworI2lmIFBMQVRGT1JNKFFUKQorLyogV2UgbXVzdCBub3QgY3VzdG9taXpl
IHRoZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLwor
I2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNk
ZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQorI2VuZGlmCisjZW5kaWYKKworLyogZmFzdE1hbGxv
YyBtYXRjaCB2YWxpZGF0aW9uIGFsbG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAor
ICAgbmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFz
dEZyZWUsIGV0Yy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFM
SURBVElPTikKKyNkZWZpbmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQorI2RlZmluZSBFTkFC
TEVfSUNPTkRBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRB
QkFTRSkKKyNkZWZpbmUgRU5BQkxFX1NRTF9EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKQorI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCisjZGVm
aW5lIEVOQUJMRV9GVFBESVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVY
VF9NRU5VUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JU
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCisj
ZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQorI2RlZmlu
ZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFf
QlJJREdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBF
X1BMVUdJTl9BUEkgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExV
R0lOX01FVEFEQVRBX0NBQ0hFKQorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFE
QVRBX0NBQ0hFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1P
UlkpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTKQorI2RlZmluZSBXVEZfVVNFX1BMVUdJ
Tl9IT1NUX1BST0NFU1MgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTKQorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX09QQ09ERV9TVEFUUykKKyNkZWZpbmUgRU5BQkxFX09QQ09E
RV9TVEFUUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExP
Q19ORVcpCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQorI2VuZGlmCisK
KyNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhfQlJFQUtQT0lOVCAwCisjZGVmaW5lIEVOQUJMRV9T
QU1QTElOR19DT1VOVEVSUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCisjZGVm
aW5lIEVOQUJMRV9TQU1QTElOR19SRUdJT05TIDAKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1Q
TElORyAwCisjZGVmaW5lIEVOQUJMRV9DT0RFQkxPQ0tfU0FNUExJTkcgMAorI2lmIEVOQUJMRShD
T0RFQkxPQ0tfU0FNUExJTkcpICYmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQorI2Vycm9yICJD
T0RFQkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMgT1BDT0RFX1NBTVBMSU5HIgorI2VuZGlmCisjaWYg
RU5BQkxFKE9QQ09ERV9TQU1QTElORykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFC
TEUoU0FNUExJTkdfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxF
X0dFT0xPQ0FUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQor
I2RlZmluZSBFTkFCTEVfVklFV1BPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykKKyNkZWZpbmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAorI2VuZGlmCisK
KyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NB
UkVUIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQorI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfUE9JTlRFUl9MT0NLKQorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNW
QUxVRTMyXzY0KQorI2lmIChDUFUoWDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykp
KSBcCisgICAgfHwgKENQVShJQTY0KSAmJiAhQ1BVKElBNjRfMzIpKSBcCisgICAgfHwgQ1BVKEFM
UEhBKSBcCisgICAgfHwgQ1BVKFNQQVJDNjQpIFwKKyAgICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8
fCBDUFUoUFBDNjQpCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5l
IFdURl9VU0VfSlNWQUxVRTMyXzY0IDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9V
U0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcpCisjZGVmaW5lIEVOQUJMRV9SRVBB
SU5UX1RIUk9UVExJTkcgMAorI2VuZGlmCisKKy8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9u
cyBvZiBHQ0MgcHJpb3IgdG8gNC4xICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09N
UElMRVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5B
QkxFX0pJVCAwCisjZW5kaWYKKworLyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93
cyA2NC1iaXQgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBD
UFUoWDg2XzY0KQorI2RlZmluZSBFTkFCTEVfSklUIDAKKyNlbmRpZgorCisvKiBUaGUgSklUIGlz
IGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZv
cm1zLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwg
Q1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSBcCisgICAgJiYgKE9TKERBUldJ
TikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwK
KyAgICAmJiAhT1MoV0lOQ0UpIFwKKyAgICAmJiAhT1MoUU5YKQorI2RlZmluZSBFTkFCTEVfSklU
IDEKKyNlbmRpZgorCisvKiBPbiBzb21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBh
IEpJVCwgd2Ugd2FudCB0byBhbHNvIGhhdmUgdGhlIAorICAgbG93LWxldmVsIGludGVycHJldGVy
LiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERB
UldJTikgJiYgIVBMQVRGT1JNKFFUKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVOQUJMRShKSVQpCisvKiBFbmFibGUgdGhlIERGRyBK
SVQgb24gWDg2IGFuZCBYODZfNjQuICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4g
Ki8KKyNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9T
KExJTlVYKSkKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhl
IERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MuICovCisjaWYgQ1BVKEFSTV9U
SFVNQjIpICYmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlm
CisjZW5kaWYKKworLyogUHJvZmlsaW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQg
Y29kZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0LCBidXQgeW91CisgICBjYW4gZW5hYmxlIGl0IG1h
bnVhbGx5IHdpdGggREZHIHR1cm5lZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3Rh
bmRhbG9uZQorICAgcHJvZmlsZXIuIEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8g
YWxzbyBlbmFibGUgVkVSQk9TRV9WQUxVRV9QUk9GSUxFCisgICBiZWxvdy4gKi8KKyNpZiAhZGVm
aW5lZChFTkFCTEVfVkFMVUVfUFJPRklMRVIpICYmIEVOQUJMRShERkdfSklUKQorI2RlZmluZSBF
TkFCTEVfVkFMVUVfUFJPRklMRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVkVS
Qk9TRV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCisjZGVmaW5lIEVO
QUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfU0lNUExFX0hFQVBfUFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJP
RklMSU5HIDAKKyNlbmRpZgorCisvKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2lu
ZyBzYW1wbGluZyBjb3VudGVycy4gQmUgc3VyZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBM
SU5HX0NPVU5URVJTIHRvIDEuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJf
UFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2Vu
ZGlmCisKKy8qIEVuc3VyZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBo
YXMgYmVlbiBlbmFibGVkLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJF
VEVSKSAmJiAhRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIg
MQorI2VuZGlmCisjaWYgIShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRF
UikpCisjZXJyb3IgWW91IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVs
IGVuYWJsZWQgdG8gYnVpbGQgSlNDCisjZW5kaWYKKworI2lmIENQVShTSDQpICYmIFBMQVRGT1JN
KFFUKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIEpJ
VCAqLworI2lmIENQVShBUk0pCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RV
TE8pICYmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg1KQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9T
T0ZUX01PRFVMTyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82
NCkgfHwgQ1BVKE1JUFMpCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8p
CisjZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisK
KyNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9f
ZmFzdGNhbGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTAorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBD
T01QSUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVm
aW5lZChfX0dOVUNfXykpCisjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCisjZW5kaWYKKyNp
ZiBIQVZFKENPTVBVVEVEX0dPVE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2Rl
ZmluZSBFTkFCTEVfQ09NUFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgor
CisvKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4
cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JF
R0VYUF9UUkFDSU5HIDAKKworLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBv
biBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KKyNpZiBQTEFURk9STShDSFJP
TUlVTSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKworI2VsaWYgRU5BQkxFKEpJVCkgJiYg
IWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorCisv
KiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVy
IHJlc3VsdHMuICovCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCisjZW5kaWYKKwor
I2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VN
QkxFUiAxCisjZW5kaWYKKworLyogUGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5
IG5lZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxl
ZCBpbi4KKyAgIE9uIHg4Ni02NCB3ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIg
cGxhdGZvcm1zIHdlIG1tYXAgb24gZGVtYW5kLiAqLworI2lmIEVOQUJMRShBU1NFTUJMRVIpCisj
aWYgQ1BVKFg4Nl82NCkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJM
RV9BTExPQ0FUT1JfRklYRUQgMQorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxM
T0NBVE9SX0RFTUFORCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BB
Tl9TQ1JPTExJTkcpICYmIE9TKFdJTkRPV1MpCisjZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5H
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCisjZGVm
aW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX1dFQl9BUkNISVZFKQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAorI2VuZGlmCisK
Ky8qIFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1l
bnRQYXJzZXIgKi8KKy8qIFVzZSB0aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xU
UHJvY2Vzc29yICovCisjaWYgUExBVEZPUk0oUVQpCisjaWYgIVVTRShMSUJYTUwyKQorI2RlZmlu
ZSBXVEZfVVNFX1FYTUxTVFJFQU0gMQorI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorLyogQ29tcGxleCB0ZXh0IGZyYW1ld29y
ayAqLworI2lmbmRlZiBCVUlMRElOR19PTl9MRU9QQVJECisjZGVmaW5lIFdURl9VU0VfQVRTVUkg
MAorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0FU
U1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMAorI2VuZGlmCisjZW5kaWYKKworLyog
QWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYg
IVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9B
Q0NFTEVSQVRFRF9DT01QT1NJVElORyAxCisjZW5kaWYKKworLyogQ29tcG9zaXRpbmcgb24gdGhl
IFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLworI2lmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZf
VVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmlu
ZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCisjZW5kaWYKKworI2lm
ICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKSAmJiAoKE9TKFVOSVgpICYmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKSkKKyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9Q
QUNLQUdFX1NJTVBMRV9IQVNIIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEVOQUJMRV9USFJF
QURFRF9TQ1JPTExJTkcgMQorI2VuZGlmCisKKy8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21t
b24gZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMg
dGhlIHNwYWNlIGFmdGVyIEVycm9yLiAqLworI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JL
IEVycm9yIFVTRV9tYWNyb19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSworCisvKiBGSVhN
RTogRXZlbnR1YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5k
IGdldCByaWQgb2YgdGhlIGRlZmluZS4gKi8KKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9Q
TEFURk9STV9TVFJBVEVHSUVTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKQorI2RlZmlu
ZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NF
U1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKy8qIEdlb2xvY2F0aW9uIHJlcXVl
c3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Np
b24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlvbi4KKyAgIENsaWVudCBiYXNlZCBpbXBsZW1lbnRh
dGlvbnMgd2lsbCBoYXZlIG9wdGlvbiB0byBjaG9vc2UgYmV0d2VlbiBwcmUtZW1wdGl2ZSBhbmQg
bm9ucHJlLWVtcHRpdmUgcGVybWlzc2lvbiBwb2xpY3kuCisgICBwcmUtZW1wdGl2ZSBwZXJtaXNz
aW9uIHBvbGljeSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGFsbCBjbGllbnQtYmFzZWQgaW1w
bGVtZW50YXRpb25zLiAqLworI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisj
ZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKyNlbmRpZgor
CisjaWYgQ1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYm
IEhBVkUoRElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAx
CisjZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BF
Tk1QKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCisjZWxpZiAhZGVmaW5lZChU
SFJFQURJTkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19HRU5FUklDIDEKKyNl
bmRpZgorCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
VHlwZWRlZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVl
ZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCisgICBzaW5jZSBtb3N0
IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5l
dyBoZWFkZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0
aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKKyAgIGJyZWFrYWdlcyBvbmUgcG9ydCBh
dCBhIHRpbWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkKKyNkZWZpbmUg
V1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01B
Q1JPUyAwCisjZW5kaWYKKworI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlO
X1NPQ0tFVFMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dB
UCkgJiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TV9USFVNQjIpKQorI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQor
I2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQorI2VuZGlmCisKKyNpZm5kZWYgTkRFQlVHCisj
aWZuZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9OCisjZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9O
IDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNk
ZWZpbmUgV1RGX1VTRV9BVkZPVU5EQVRJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFTUVESUEgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYm
ICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tC
RVJSWSkKKyNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgSEFWRV9JTlZFUlRFRF9XSEVFTF9FVkVOVFMgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFdURl9VU0VfQ09SRUFVRElPIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkK
KyNkZWZpbmUgV1RGX1VTRV9WOCAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShDSFJPTUlV
TSkgKi8KKworI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9VU0VfVjggMAor
I2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICovCisKKy8qIFVzaW5nIFY4IGltcGxpZXMg
bm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLworI2RlZmluZSBXVEZfVVNFX0pTQyAhV1RG
X1VTRV9WOAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpICYmIFBMQVRGT1JNKE1BQykKKyNk
ZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoV1RGX1VTRV9XVEZVUkwpCisjZGVmaW5lIFdURl9VU0VfV1RGVVJMIDAKKyNlbmRpZgor
CisjaWYgIVBMQVRGT1JNKFFUKSAmJiAhUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX1pM
SUIgMQorI2VuZGlmCisKKyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131472</attachid>
            <date>2012-03-12 17:45:06 -0700</date>
            <delta_ts>2012-03-19 16:02:28 -0700</delta_ts>
            <desc>Blind stab at making Qt/EFL build</desc>
            <filename>bug-80911-20120312174504.patch</filename>
            <type>text/plain</type>
            <size>78837</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZGMzMWUzNjUxMTYwYjEyNmFlZDFmNjExMmY1YTQ5ZGE4ZWUwN2MwLi43NzRjN2I3MzUxMDA4NmRm
OTdhNTBjY2EyMmEzOWMyYTJjMWU1N2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xMiAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
MiAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAg
TWlub3IgRGF0YUxvZyBmaXhlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3NGJhYWNjOGJhNDFlNzNlYzgxZTBlYWEzZDlkNDA5
NjcxODIyNjhjLi4yNDA2ZDUwZDFlZTdkNTUyZjJmNDlkZjk3Yjk0ZGNlNjUxYWFlNTc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEyICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8g
U291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cuCisg
ICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQgdW50
aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAgIFF0
OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKyAgICAgICAg
RUZML0NNYWtlLCBldGM6IE5vIGNsdWUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFdURi5neXBpOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBSZW5hbWVkIGZyb20gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oLgorCiAyMDEyLTAzLTA3ICBNYXJrIFJvd2UgIDxt
cm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgVGVhY2ggbWFrZSB0byBidWlsZCBXVEYuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3MjA0NmUyYzhiMmE3OTNhYjA0NzEzMzgyMDI5
MzQyNjA2NzZjM2MuLmE5NmFkMTRmZWFjZGVjOTY3ZjIzMzljYWU4MGQ2MmM2ZWI3ODg0NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2
NDdCMzA5M0VGOEQ2MDAyMkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dy
YXBwZXJPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
V3JhcHBlck9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1QzdBMTcy
MEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTY1REZDOTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5j
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURG
QzkyQjA4RUExNzNBMDBGNzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBCIC8qIEhh
c2hTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSGFzaFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBA
IC0yMTQxLDcgKzIxNDAsNiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNz
T3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIu
aCAqLywKIAkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICovLAot
CQkJCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE3RDY0
OUE5MTAxNTIyNEUwMDlCMkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhGQTVCOTBF
Rjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVCQTBFRjc2
RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIwZjU4NWVh
NjcyYjZhLi4zNmVlODdkMjI0ZjIxN2Q1NTU3YmJjODkzMDQwNTBhYzFhNzg0Mjc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcgQEAgU0VU
KFdURl9IRUFERVJTCiAgICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxsZWxKb2Jz
TGliZGlzcGF0Y2guaAogICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZvcm0uaAor
ICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0uaAogICAgIFBvc3NpYmx5TnVsbC5oCiAgICAgUmFu
ZG9tTnVtYmVyLmgKICAgICBSYW5kb21OdW1iZXJTZWVkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVkMWI4MzIyNWJlNDhh
ZWMxOGY2ZmZmOWQzZjExYjJjY2E5MzIzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwxMjE0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBXVEZfUGxhdGZvcm1faAotI2RlZmluZSBXVEZfUGxhdGZvcm1f
aAotCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUgPHd0
Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBl
bnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKLSAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJl
IHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgotICAgbWFjcm9zLCBw
b2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuID09
PT0gKi8KLSNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9QTEFURk9S
TV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSkKLQotCi0vKiA9
PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVz
IG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KLQotLyogQ1BVKCkgLSB0aGUgdGFy
Z2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNkZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVBVFVSRSkKLS8qIEhB
VkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVuY3Rpb25zIG9yIHNp
bWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCi0jZGVmaW5lIEhBVkUoV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dURl9GRUFUVVJFKQot
LyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZv
ciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZpcnR1YWwgbWVtb3J5LCBu
b3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KLSNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChk
ZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKLQot
Ci0vKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hv
aWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KLQotLyogVVNFKCkgLSB1c2UgYSBw
YXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLwot
I2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNXVEZfRkVBVFVSRSAg
JiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQotLyogRU5BQkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lm
aWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KLSNkZWZpbmUgRU5BQkxFKFdURl9GRUFUVVJFKSAoZGVm
aW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZFQVRVUkUpCi0KLQot
LyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9PT09ICovCi0KLS8q
IFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlERExFX0VORElBTikg
b3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCi0KLS8qIENQVShBTFBIQSkgLSBERUMgQWxw
aGEgKi8KLSNpZiBkZWZpbmVkKF9fYWxwaGFfXykKLSNkZWZpbmUgV1RGX0NQVV9BTFBIQSAxCi0j
ZW5kaWYKLQotLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCi0jaWYgZGVmaW5lZChf
X2lhNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKLS8qIDMyLWJpdCBtb2RlIG9uIEl0YW5p
dW0gKi8KLSNpZiAhZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEK
LSNlbmRpZgotI2VuZGlmCi0KLS8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCi0vKiBOb3Rl
OiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkgZm9y
IG5vdy4gICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVm
aW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKLSAgICAmJiBkZWZpbmVkKF9BQklPMzIp
Ci0jZGVmaW5lIFdURl9DUFVfTUlQUyAxCi0jaWYgZGVmaW5lZChfX01JUFNFQl9fKQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0jZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVm
aW5lZCBfX1BJQ19fKQotI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcwotI2RlZmluZSBXVEZf
TUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYp
Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNI
ICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKLSNkZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBz
X2lzYV9yZXYKLSNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19B
UkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19ET1VC
TEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmluZWQgX19taXBzX3Np
bmdsZV9mbG9hdCkKLSNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBfX21pcHNfZnByICYm
IF9fbWlwc19mcHIgPT0gNjQpCi0vKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFs
aWduZWQgbWVtb3J5ICovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lO
VEVHRVIgMQotI2VuZGlmIC8qIE1JUFMgKi8KLQotLyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJp
dCAqLwotI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUENf
XykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCi0gICAgfHwgZGVmaW5lZChf
X3Bvd2VycGMpICAgXAotICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9NX1BQQykgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQykKLSNkZWZpbmUgV1RGX0NQ
VV9QUEMgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShQ
UEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3BwYzY0X18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCi0jZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNINCkgLSBTdXBlckggU0gt
NCAqLwotI2lmIGRlZmluZWQoX19TSDRfXykKLSNkZWZpbmUgV1RGX0NQVV9TSDQgMQotI2VuZGlm
Ci0KLS8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFy
YykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjdjgpCi0jZGVmaW5l
IFdURl9DUFVfU1BBUkMzMiAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYK
LQotLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3NwYXJj
X18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFyY3Y5KQotI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlm
Ci0KLS8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShTUEFSQzMyKSBhbmQg
Q1BVKFNQQVJDNjQpICovCi0jaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFSQzY0KQotI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQg
Ki8KLSNpZiBkZWZpbmVkKF9fczM5MHhfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwWCAxCi0jZGVm
aW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTApIC0gUzM5MCAz
Mi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MF9fKQotI2RlZmluZSBXVEZfQ1BVX1MzOTAgMQot
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShYODYpIC0gaTM4
NiAvIHg4NiAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwKLSAgICB8fCBkZWZp
bmVkKGkzODYpICAgICBcCi0gICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAotICAgIHx8IGRlZmlu
ZWQoX1g4Nl8pICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQotI2RlZmluZSBXVEZf
Q1BVX1g4NiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4
ODZfNjQgNjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwKLSAgICB8fCBkZWZp
bmVkKF9NX1g2NCkKLSNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQotI2VuZGlmCi0KLS8qIENQVShB
Uk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCi0jaWYgICBkZWZpbmVkKGFybSkgXAotICAgIHx8IGRl
ZmluZWQoX19hcm1fXykgXAotICAgIHx8IGRlZmluZWQoQVJNKSBcCi0gICAgfHwgZGVmaW5lZChf
QVJNXykKLSNkZWZpbmUgV1RGX0NQVV9BUk0gMQotCi0jaWYgZGVmaW5lZChfX0FSTUVCX18pIHx8
IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCi0jZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCi0KLSNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgXAotICAgICYm
ICFkZWZpbmVkKF9fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19WRlBfRlBfXykgXAotICAg
ICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKLSAgICAmJiAhZGVmaW5lZChBTkRST0lEKQotI2Rl
ZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQotCi0jZW5kaWYKLQotI2RlZmluZSBXVEZfQVJN
X0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4p
Ci0KLS8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9B
UkNIXzRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCi0gICAgfHwgZGVm
aW5lZChfX01BUk1fQVJNVjRfXykgXAotICAgIHx8IGRlZmluZWQoX0FSTVY0SV8pCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwgZGVmaW5lZChfX01B
Uk1fQVJNVjVfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotCi0jZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDUKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVk
IG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZa
S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTVY2X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYKLQotI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykK
LSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNwotCi0vKiBSVkNUIHNldHMgX1RBUkdFVF9B
UkNIX0FSTSAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkKLSNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KLQotI2lmIGRlZmluZWQoX19UQVJH
RVRfQVJDSF81RSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEUpIFwKLSAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0
b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLSNlbHNlCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDAKLQotI2VuZGlmCi0KLS8qIFNldCBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OICov
Ci0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiAxCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwgZGVm
aW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpf
XykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCi0KLSNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82
WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQotI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIDMKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0g
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfN01fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA0Ci0K
LS8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCi0jZWxpZiBkZWZpbmVkKF9fVEFS
R0VUX0FSQ0hfVEhVTUIpCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19UQVJHRVRf
QVJDSF9USFVNQgotCi0jZWxzZQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKLSNl
bmRpZgotCi0KLS8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1
IG9yIGVhcmxpZXIgKi8KLS8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1l
bnQgaXMgcmVxdWlyZWQuIAotICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVyIGRpZmZlcmVuY2Vz
IGZvciB2NSBvciBlYXJsaWVyLiAqLwotI2lmICFkZWZpbmVkKEFSTVY1X09SX0xPV0VSKSAmJiAh
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCi0jZGVmaW5lIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIg
MQotI2VuZGlmCi0KLQotLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVtYjIgaXMgbm90IGF2
YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIpICovCi0vKiBDUFUo
QVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWlsYWJsZSAqLwotLyog
T25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLwotI2lmICFkZWZpbmVkKFdURl9D
UFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpCi0jICBp
ZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCi0gICAgfHwgKChkZWZp
bmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiA9PSA0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMAotIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKLSMgIGVsaWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KDQpCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCi0jICAgIGRlZmluZSBX
VEZfQ1BVX0FSTV9USFVNQjIgMAotIyAgZWxzZQotIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBB
Uk0gYXJjaGl0ZWN0dXJlIgotIyAgZW5kaWYKLSNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpICYm
IENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KLSMgIGVycm9yICJDYW5ub3QgdXNl
IGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVfQVJNX1RIVU1CMiBw
bGF0Zm9ybXMiCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYm
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KLQotI2lmIGRlZmluZWQoX19BUk1fTkVP
Tl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQotI2RlZmluZSBXVEZfQ1BVX0FSTV9O
RU9OIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogQVJNICovCi0KLSNpZiBDUFUoQVJNKSB8fCBDUFUo
TUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQotI2RlZmluZSBXVEZfQ1BVX05FRURTX0FM
SUdORURfQUNDRVNTIDEKLSNlbmRpZgotCi0vKiA9PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJh
dGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZp
Y2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0
ID09PT0gKi8KLQotLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCi0jaWZkZWYgQU5EUk9JRAot
I2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCi0jZW5kaWYKLQotLyogT1MoQUlYKSAtIEFJWCAqLwot
I2lmZGVmIF9BSVgKLSNkZWZpbmUgV1RGX09TX0FJWCAxCi0jZW5kaWYKLQotLyogT1MoREFSV0lO
KSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgaVBob25lIE9T
ICovCi0jaWZkZWYgX19BUFBMRV9fCi0jZGVmaW5lIFdURl9PU19EQVJXSU4gMQotCi0jaW5jbHVk
ZSA8QXZhaWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+Ci0jaW5j
bHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jZW5kaWYKLQotLyogT1MoSU9TKSAtIGlPUyAq
LwotLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcgaU9TKSAqLwotI2lm
IE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09T
X0VNQkVEREVEKSBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VU
X09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKLSAgICB8fCAoZGVmaW5lZChUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQotI2RlZmluZSBXVEZf
T1NfSU9TIDEKLSNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBU
QVJHRVRfT1NfTUFDCi0jZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCi0vKiBGSVhNRTogQlVJTERJ
TkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBmb2xkZWQgaW50byB0
aGUgT1MoKSBzeXN0ZW0gKi8KLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNk
ZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzcKLSNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZp
bmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2RlZmluZSBCVUlMRElOR19PTl9MSU9OIDEKLSNl
bmRpZgotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNkZWZpbmUgVEFSR0VU
SU5HX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNwotI2Rl
ZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZF
UlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKLSNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQotI2VuZGlmCi0jZW5kaWYKLQot
LyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCi0jaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwg
ZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKLSNk
ZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQotI2VuZGlmCi0KLS8qIE9TKEhVUkQpIC0gR05VL0h1cmQg
Ki8KLSNpZmRlZiBfX0dOVV9fCi0jZGVmaW5lIFdURl9PU19IVVJEIDEKLSNlbmRpZgotCi0vKiBP
UyhMSU5VWCkgLSBMaW51eCAqLwotI2lmZGVmIF9fbGludXhfXwotI2RlZmluZSBXVEZfT1NfTElO
VVggMQotI2VuZGlmCi0KLS8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KLSNpZiBkZWZpbmVkKF9f
TmV0QlNEX18pCi0jZGVmaW5lIFdURl9PU19ORVRCU0QgMQotI2VuZGlmCi0KLS8qIE9TKE9QRU5C
U0QpIC0gT3BlbkJTRCAqLwotI2lmZGVmIF9fT3BlbkJTRF9fCi0jZGVmaW5lIFdURl9PU19PUEVO
QlNEIDEKLSNlbmRpZgotCi0vKiBPUyhRTlgpIC0gUU5YICovCi0jaWYgZGVmaW5lZChfX1FOWE5U
T19fKQotI2RlZmluZSBXVEZfT1NfUU5YIDEKLSNlbmRpZgotCi0vKiBPUyhTT0xBUklTKSAtIFNv
bGFyaXMgKi8KLSNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikKLSNkZWZpbmUgV1RG
X09TX1NPTEFSSVMgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUg
dGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRlZmluZWQgKi8KLSNp
ZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCi0jZGVmaW5lIFdURl9PU19XSU5DRSAxCi0jZW5kaWYKLQot
LyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCi0jaWYgZGVmaW5lZChX
SU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCi0jZGVmaW5lIFdURl9PU19XSU5ET1dTIDEKLSNlbmRp
ZgotCi0jZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJ
TiIKLSNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJVEggT1MgTk9UIE1B
QyIKLQotLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLwotI2lmICAgT1MoQUlY
KSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAgIFwKLSAgICB8fCBP
UyhEQVJXSU4pICAgICAgICAgICBcCi0gICAgfHwgT1MoRlJFRUJTRCkgICAgICAgICAgXAotICAg
IHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhMSU5VWCkgICAgICAgICAgICBc
Ci0gICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAotICAgIHx8IE9TKE9QRU5CU0QpICAgICAg
ICAgIFwKLSAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCi0gICAgfHwgT1MoU09MQVJJUykg
ICAgICAgICAgXAotICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKLSAgICB8fCBkZWZpbmVk
KF9fdW5peCkgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXhfXykKLSNkZWZpbmUgV1RGX09T
X1VOSVggMQotI2VuZGlmCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KLQotLyogRklY
TUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQg
cG9saWN5IGNob2ljZXMuICovCi0vKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLS8qIFBMQVRGT1JN
KFFUKSAqLwotLyogUExBVEZPUk0oV1gpICovCi0vKiBQTEFURk9STShHVEspICovCi0vKiBQTEFU
Rk9STShCTEFDS0JFUlJZKSAqLwotLyogUExBVEZPUk0oTUFDKSAqLwotLyogUExBVEZPUk0oV0lO
KSAqLwotI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NIUk9NSVVNIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX1FUIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX1dYIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9HVEsgMQotI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFDS0JFUlJZX18pCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKLSNlbGlmIE9TKERBUldJTikKLSNkZWZp
bmUgV1RGX1BMQVRGT1JNX01BQyAxCi0jZWxpZiBPUyhXSU5ET1dTKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fV0lOIDEKLSNlbmRpZgotCi0vKiBQTEFURk9STShJT1MpICovCi0vKiBGSVhNRTogdGhp
cyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGln
aGVyLWxldmVsIHRoaW5ncyAqLwotI2lmIChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYg
VEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJH
RVRfT1NfSVBIT05FKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNlbmRpZgotCi0vKiBQ
TEFURk9STShJT1NfU0lNVUxBVE9SKSAqLwotI2lmIGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1V
TEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCi0jZGVmaW5lIFdURl9QTEFURk9STV9J
T1MgMQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCi0jZWxzZQotI2RlZmlu
ZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdU
Rl9QTEFURk9STV9JT1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAotI2VuZGlmCi0KLS8q
IEdyYXBoaWNzIGVuZ2luZXMgKi8KLQotLyogVVNFKENHKSBhbmQgUExBVEZPUk0oQ0kpICovCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQot
I2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShX
SU4pICYmIFVTRShDRykpCi0jZGVmaW5lIFdURl9VU0VfQ0EgMQotI2VuZGlmCi0KLS8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0p
Ci0jaWYgT1MoREFSV0lOKQotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKLSNkZWZpbmUg
V1RGX1VTRV9TS0lBIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQotI2VuZGlmCi0jZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5l
IFdURl9VU0VfSUNDSlBFRyAxCi0jZWxpZiBPUyhBTkRST0lEKQotI2RlZmluZSBXVEZfVVNFX1NL
SUEgMQotI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQ
UE9SVCAwCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNkZWZpbmUgV1RGX1VTRV9NRVJT
RU5ORV9UV0lTVEVSXzE5OTM3IDEKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oR1RLKQotI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKLSNlbmRpZgotCi0KLSNp
ZiBPUyhXSU5DRSkKLSNpbmNsdWRlIDxjZV90aW1lLmg+Ci0jZGVmaW5lIFdURl9VU0VfTUVSU0VO
TkVfVFdJU1RFUl8xOTkzNyAxCi0jZW5kaWYKLQotLyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVy
Zm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KLSNpZiBPUyhXSU5ET1dTKQotI2RlZmluZSBX
VEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKLSNlbmRpZgotCi0jaWYgT1MoV0lO
Q0UpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgTk9NSU5NQVggICAgICAgLyogV2luZG93cyBt
aW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLwotI2RlZmluZSBOT1NI
TFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5DZSAqLwotCi0vKiBN
U0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHByb3ZpZGVkIHdpdGgg
dXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8KLSNkZWZpbmUgX191
c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KLQotI2RlZmluZSBfSU5DX0FTU0VS
VCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KLSNkZWZpbmUgYXNzZXJ0KHgpCi0KLSNlbmRp
ZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KLQotI2lmIFBMQVRGT1JNKFFUKQot
I2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCi0jZGVmaW5lIFdURl9VU0VfUVQ0X1VOSUNPREUg
MQotI2VuZGlmCi0jZWxpZiBPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9XSU5DRV9VTklDT0RF
IDEKLSNlbGlmIFBMQVRGT1JNKEdUSykKLS8qIFRoZSBHVEsrIFVuaWNvZGUgYmFja2VuZCBpcyBj
b25maWd1cmFibGUgKi8KLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSUNVX1VOSUNPREUgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCi0jaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgV1RGX1VTRV9QTFVH
SU5fSE9TVF9QUk9DRVNTIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgRU5BQkxF
X0dFU1RVUkVfRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5ESU5HIDEKLSNkZWZp
bmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChFTkFC
TEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAxCi0jZW5kaWYKLSNp
ZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNkZWZpbmUg
SEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCi0jZGVmaW5lIEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSAxCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEK
LSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAx
Ci0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCi0jZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAx
Ci0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCi0j
ZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEKLSNlbmRpZgotI2Vu
ZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KLQotI2lmIFBMQVRGT1JN
KENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0KLSNkZWZp
bmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KElPUykKLSNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBIQVZFX0RJU1BBVENIX0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pICYmICFQTEFU
Rk9STShHVEspICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1P
UlkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhU
X01FTlVTIDAKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVmaW5lIEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TIDAKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZGVmaW5lIEVO
QUJMRV9HRU9MT0NBVElPTiAxCi0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMAotI2RlZmlu
ZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNkZWZp
bmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAotI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAxCi0jZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEhBVkVfTkVUV09SS19DRkRBVEFfQVJSQVlf
Q0FMTEJBQ0sgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNkZWZpbmUgSEFWRV9S
RUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCi0jZGVmaW5lIFdURl9VU0Vf
Q0YgMQotI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVB
RFMgMQotCi0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLSAgICAjZGVmaW5lIEVOQUJMRV9D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKLSAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAotICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDAKLSNlbHNlCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19J
TlRFUlBSRVRFUiAwCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDEKLSAgICAjZGVmaW5lIEVOQUJM
RV9MTElOVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotI2VuZGlmCi0KLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfQ0Yg
MQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2VuZGlmCi0KLSNpZiBVU0UoQ0ZO
RVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VT
RV9DRlVSTENBQ0hFIDEKLSNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hS
T01JVU0pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJP
TUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFUKQotI2RlZmluZSBF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXWCkKLSNpZiAh
Q1BVKFBQQykKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZGVmaW5lIEVOQUJMRV9KSVQg
MQotI2VuZGlmCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAotI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMAotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0j
ZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEK
LSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0jaWYgSEFWRShQVEhSRUFEX0gp
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKLSNlbmRpZgotI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCi0jZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQotI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
Q0hST01JVU0pCi0jZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCi0jZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCi0KLSNpZiBPUyhVTklYKQotI2RlZmlu
ZSBIQVZFX1NJR05BTF9IIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9WQVNQUklOVEYp
Ci0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAhQ09NUElMRVIoTUlO
R1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQotI2RlZmluZSBIQVZFX1ZBU1BSSU5U
RiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9TVFJOU1RSKQotI2lmIE9T
KERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCi0jZGVmaW5l
IEhBVkVfU1RSTlNUUiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIU9TKFdJTkRPV1MpICYmICFP
UyhTT0xBUklTKSBcCi0gICAgJiYgIU9TKFJWQ1QpIFwKLSAgICAmJiAhT1MoQU5EUk9JRCkKLSNk
ZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQotI2RlZmluZSBIQVZFX1RNX1pPTkUgMQotI2RlZmluZSBI
QVZFX1RJTUVHTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQot
I2RlZmluZSBIQVZFX01FUkdFU09SVCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBXVEZfVVNF
X0FDQ0VMRVJBVEUgMQotCi0jaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECi0KLSNkZWZpbmUgSEFW
RV9ESVNQQVRDSF9IIDEKLSNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04gMQotCi0j
aWYgIVBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKLSNl
bmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VsaWYg
T1MoV0lORE9XUykKLQotI2lmIE9TKFdJTkNFKQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMAotI2Vs
c2UKLSNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxM
T0MgMQotI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKLSNlbmRpZgotI2RlZmluZSBI
QVZFX1ZJUlRVQUxBTExPQyAxCi0KLSNlbGlmIE9TKFFOWCkKLQotI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAx
Ci0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFW
RV9TWVNfVElNRV9IIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0KLSNlbGlmIE9TKEFO
RFJPSUQpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19I
IDAKLSNkZWZpbmUgSEFWRV9OTUFQIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKLQotI2Vsc2UKLQotLyogRklYTUU6IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBv
ciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZpZy5oPyAqLwotCi0j
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCi0jZGVmaW5l
IEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
Ci0KLSNlbmRpZgotCi0vKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KLQotI2lmIFBMQVRGT1JN
KFFUKQotLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFu
ZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLwotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RN
QUxMT0NfTkVXIDAKLSNpZiAhT1MoVU5JWCkKLSNkZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQot
I2VuZGlmCi0jZW5kaWYKLQotLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0aW9uIGFsbG93cyBm
b3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAotICAgbmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRl
LCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKLSNkZWZpbmUgRU5BQkxFX0ZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfSUNPTkRBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX1NRTF9E
QVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKQotI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKLSNkZWZpbmUgRU5BQkxFX0NP
TlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JU
KQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFW
QV9CUklER0UgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSkKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQotI2RlZmlu
ZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9Q
Uk9DRVNTKQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQotI2RlZmluZSBFTkFCTEVf
T1JJRU5UQVRJT05fRVZFTlRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09QQ09E
RV9TVEFUUykKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCi0jZGVmaW5lIEVOQUJMRV9HTE9C
QUxfRkFTVE1BTExPQ19ORVcgMQotI2VuZGlmCi0KLSNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhf
QlJFQUtQT0lOVCAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCi0jZGVmaW5l
IEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19SRUdJT05T
IDAKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCi0jZGVmaW5lIEVOQUJMRV9DT0RF
QkxPQ0tfU0FNUExJTkcgMAotI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpICYmICFFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQotI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMg
T1BDT0RFX1NBTVBMSU5HIgotI2VuZGlmCi0jaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykgfHwg
RU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVHSU9OUykKLSNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9HRU9MT0NBVElPTikKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQotI2RlZmluZSBFTkFCTEVfVklFV1BPUlQgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5B
QkxFX05PVElGSUNBVElPTlMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5l
IEVOQUJMRV9URVhUX0NBUkVUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRf
Q0FSRVQpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NLKQotI2RlZmluZSBF
TkFCTEVfUE9JTlRFUl9MT0NLIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQotI2lmIChDUFUoWDg2XzY0
KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCi0gICAgfHwgKENQVShJQTY0KSAmJiAh
Q1BVKElBNjRfMzIpKSBcCi0gICAgfHwgQ1BVKEFMUEhBKSBcCi0gICAgfHwgQ1BVKFNQQVJDNjQp
IFwKLSAgICB8fCBDUFUoUzM5MFgpIFwKLSAgICB8fCBDUFUoUFBDNjQpCi0jZGVmaW5lIFdURl9V
U0VfSlNWQUxVRTY0IDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyXzY0IDEKLSNl
bmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KLQotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RI
Uk9UVExJTkcpCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMAotI2VuZGlmCi0K
LS8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3IgdG8gNC4xICovCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05f
QVRfTEVBU1QoNCwgMSwgMCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogSklU
IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQotI2RlZmluZSBFTkFCTEVf
SklUIDAKLSNlbmRpZgotCi0vKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwg
eDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVQpIFwKLSAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwg
Q1BVKE1JUFMpKSBcCi0gICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0ND
X1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKLSAgICAmJiAhT1MoV0lOQ0UpIFwKLSAgICAm
JiAhT1MoUU5YKQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotCi0vKiBPbiBzb21lIG9m
IHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0byBhbHNvIGhhdmUg
dGhlIAotICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9M
TElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKFFUKSkgJiYg
KENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5B
QkxFX0xMSU5UIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVO
QUJMRShKSVQpCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQuICBPbmx5
IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KLSNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKLSNkZWZpbmUgRU5BQkxFX0RG
R19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRl
c3RlZCBvbiBpT1MuICovCi0jaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPUykKLSNk
ZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogUHJvZmlsaW5nIG9m
IHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0
LCBidXQgeW91Ci0gICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZHIHR1cm5lZCBvZmYg
aWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQotICAgcHJvZmlsZXIuIEluIHRo
YXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFCi0gICBiZWxvdy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkFMVUVfUFJPRklMRVIp
ICYmIEVOQUJMRShERkdfSklUKQotI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJPRklMRVIgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFC
TEUoVkFMVUVfUFJPRklMRVIpCi0jZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HKQot
I2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBDb3Vu
dHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4gQmUgc3Vy
ZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICovCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQotI2RlZmluZSBFTkFCTEVf
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIEVuc3VyZSB0aGF0IGVpdGhl
ciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVkLiAqLwotI2lmICFk
ZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxFKEpJVCkKLSNkZWZp
bmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQotI2VuZGlmCi0jaWYgIShFTkFCTEUoSklU
KSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCi0jZXJyb3IgWW91IGhhdmUgdG8gaGF2
ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlNDCi0jZW5k
aWYKLQotI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBFTkFCTEVfSklUIDEK
LSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIEpJVCAqLwotI2lmIENQVShBUk0pCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1fQVJDSF9BVF9MRUFT
VCg1KQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMpCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCi0jZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihN
U1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlmIENQVShYODYpICYm
IENPTVBJTEVSKEdDQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFz
dGNhbGwpKQotI2Vsc2UKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTAotI2VuZGlmCi0KLS8qIENvbmZp
Z3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01QSUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJ
T05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCi0jZGVmaW5lIEhB
VkVfQ09NUFVURURfR09UTyAxCi0jZW5kaWYKLSNpZiBIQVZFKENPTVBVVEVEX0dPVE8pICYmIEVO
QUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQotI2RlZmluZSBFTkFCTEVfQ09NUFVURURfR09UT19D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotCi0vKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJh
Y2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVk
IGF0IGV4aXQgKi8KLSNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAKLQotLyogWWV0IEFu
b3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxl
ZCBwb3J0cy4gKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDAKLQotI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQot
I2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotCi0vKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJl
cyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCi0jZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVF9ERUJVRyAwCi0jZW5kaWYKLQotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZ
QVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYKLQotLyogUGljayB3
aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0
b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KLSAgIE9uIHg4Ni02NCB3ZSB1c2Ug
YSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1tYXAgb24gZGVtYW5k
LiAqLwotI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgQ1BVKFg4Nl82NCkgfHwgUExBVEZPUk0o
SU9TKQotI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQgMQotI2Vsc2UK
LSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYmIE9TKFdJTkRPV1Mp
Ci0jZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5H
IDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQotI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMAotI2VuZGlmCi0KLS8qIFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRl
ciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KLS8qIFVzZSB0aGUgUVht
bFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCi0jaWYgUExBVEZPUk0o
UVQpCi0jaWYgIVVTRShMSUJYTUwyKQotI2RlZmluZSBXVEZfVVNFX1FYTUxTVFJFQU0gMQotI2Rl
ZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKQotLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLwotI2lmbmRlZiBCVUlMRElOR19PTl9M
RU9QQVJECi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMAotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVY
VCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JF
X1RFWFQgMAotI2VuZGlmCi0jZW5kaWYKLQotLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8K
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBM
QVRGT1JNKEVGTCkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAxCi0j
ZW5kaWYKLQotLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLwot
I2lmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQot
I2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSkgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0Vf
QVVUSF9DQUxMQkFDSyAxCi0jZW5kaWYKLQotI2lmICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVOSVgpICYmIChQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKSkKLSNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9IQVNIIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCi0jZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQotI2VuZGlmCi0K
LS8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0
byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVyIEVycm9yLiAqLwot
I2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNyb19zaG91bGRfYmVf
dXNlZF93aXRoX0NGTkVUV09SSwotCi0vKiBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgZW5h
YmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhlIGRlZmluZS4gKi8K
LSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQ
TEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVHSUVTIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oV0lOKQotI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NP
TlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNT
SUJJTElUWSkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQot
I2VuZGlmCi0KLS8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xp
Y3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlv
bi4KLSAgIENsaWVudCBiYXNlZCBpbXBsZW1lbnRhdGlvbnMgd2lsbCBoYXZlIG9wdGlvbiB0byBj
aG9vc2UgYmV0d2VlbiBwcmUtZW1wdGl2ZSBhbmQgbm9ucHJlLWVtcHRpdmUgcGVybWlzc2lvbiBw
b2xpY3kuCi0gICBwcmUtZW1wdGl2ZSBwZXJtaXNzaW9uIHBvbGljeSBpcyBlbmFibGVkIGJ5IGRl
ZmF1bHQgZm9yIGFsbCBjbGllbnQtYmFzZWQgaW1wbGVtZW50YXRpb25zLiAqLwotI2lmIEVOQUJM
RShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCi0jZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9M
T0NBVElPTl9QRVJNSVNTSU9OIDEKLSNlbmRpZgotCi0jaWYgQ1BVKEFSTV9USFVNQjIpCi0jZGVm
aW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAxCi0jZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhS
RUFESU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BFTk1QKQotI2RlZmluZSBFTkFCTEVfVEhSRUFE
SU5HX09QRU5NUCAxCi0jZWxpZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBRElOR19HRU5FUklDIDEKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEdMSUJfU1VQ
UE9SVCkKLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HVHlwZWRlZnMuaD4KLSNlbmRpZgotCi0vKiBG
SVhNRTogVGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxh
bmRlZC4gSG93ZXZlciwgCi0gICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1w
cm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFkZXJzCi0gICB0byBXVEYgY2F1c2Vz
IG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUg
YnVpbGQKLSAgIGJyZWFrYWdlcyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKLSNl
bHNlCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAwCi0jZW5kaWYKLQotI2lmIChQTEFU
Rk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZM
KQotI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlOX1NPQ0tFVFMgMQotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BV
KFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVf
Q09NUEFSRV9BTkRfU1dBUCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExF
TF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkp
ICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQotI2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0Mg
MQotI2VuZGlmCi0KLSNpZm5kZWYgTkRFQlVHCi0jaWZuZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9O
Ci0jZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgV1RGX1VTRV9BVkZPVU5EQVRJT04g
MQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgV1RGX1VTRV9DT1JFTUVESUEgMQotI2VuZGlmCi0K
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCAo
UExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUgV1RGX1VTRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykK
LSNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ig
MQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgSEFW
RV9JTlZFUlRFRF9XSEVFTF9FVkVOVFMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0j
ZGVmaW5lIFdURl9VU0VfQ09SRUFVRElPIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ0hST01J
VU0pCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAxCi0jZW5k
aWYKLSNlbmRpZiAvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLQotI2lmICFkZWZpbmVkKFdURl9V
U0VfVjgpCi0jZGVmaW5lIFdURl9VU0VfVjggMAotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0Vf
VjgpICovCi0KLS8qIFVzaW5nIFY4IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJz
YSAqLwotI2RlZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VTRV9WOAotCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FU
SU9OU19PTkxZIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCi0jZGVm
aW5lIFdURl9VU0VfV1RGVVJMIDAKLSNlbmRpZgotCi0jaWYgIVBMQVRGT1JNKFFUKSAmJiAhUExB
VEZPUk0oRUZMKQotI2RlZmluZSBXVEZfVVNFX1pMSUIgMQotI2VuZGlmCi0KLSNlbmRpZiAvKiBX
VEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGE1MjZmNGEzN2YzNzg0
NjIyZDBjNTEwMzU4ZTNhNDVkZDczY2M1ZjkuLmM5Zjc2MTI1MzFmM2ZiZTRjMTkxYzY4ZjM3M2Jj
ZWI5YjAzNDE0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTEsMyArMSw0IEBACiB3dGZf
c291cmNlcyArPSBcCiAJU291cmNlL1dURi9TdHViLmNwcCBcCi0JU291cmNlL1dURi9TdHViLmgK
KwlTb3VyY2UvV1RGL1N0dWIuaCBcCisgICAgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9XVEYuZ3lwaSBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKaW5kZXgg
YWVkMTc2MmJhMTYxYzIyMDY2MmYzNmQ1MDEzOWNkMjYxZWFjNWJkMC4uNzFjNjc0Yzg0NDljZThj
MjkwYTA5OTg0M2ZjNjUzMTU3Y2UyNmVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYuZ3lw
aQorKysgYi9Tb3VyY2UvV1RGL1dURi5neXBpCkBAIC0zLDYgKzMsNyBAQAogICAgICAgICAncHJv
amVjdF9kaXInOiBbJy4nXSwKICAgICAgICAgJ3d0Zl9wcml2YXRlaGVhZGVyX2ZpbGVzJzogWwog
ICAgICAgICAgICAgJ1N0dWIuaCcsCisgICAgICAgICAgICAnd3RmL1BsYXRmb3JtLmgnLAogICAg
ICAgICBdLAogICAgICAgICAnd3RmX2ZpbGVzJzogWwogICAgICAgICAgICAgJ1N0dWIuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnBybyBiL1NvdXJjZS9XVEYvV1RGLnBybwppbmRl
eCBiMTE3YjBkMmQ3NGZjOGZhYTVkNTQyZTI5MmM4NjFkNmMwYzM1Nzc4Li5jNGUwZTkwY2U1YzM3
NDJlMjFhMzRkZmZlNWZlYTEwNWI3YjIxMzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5w
cm8KKysrIGIvU291cmNlL1dURi9XVEYucHJvCkBAIC0xMDIsNyArMTAyLDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgUGFzc093blB0ci5oIFwKICAgICBQYXNzUmVmUHRyLmggXAogICAgIFBhc3NUcmFp
dHMuaCBcCi0gICAgUGxhdGZvcm0uaCBcCisgICAgLi4vLi4vV1RGL3d0Zi9QbGF0Zm9ybS5oUGxh
dGZvcm0uaCBcCiAgICAgUG9zc2libHlOdWxsLmggXAogICAgIHF0L1V0aWxzUXQuaCBcCiAgICAg
UmFuZG9tTnVtYmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggOGJlNzNkZjZhMTEyYjg1ZjAwODFkZWE0MmY4Mjc2MmVkODgwMjIyNC4uMzMzYTJkZGE2
YWMzOWZjOTYxYWY1N2Y2OWFmYzAxODFjMGMyMTNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC05LDYgKzksNyBAQAogLyogQmVnaW4gUEJYQnVpbGRGaWxl
IHNlY3Rpb24gKi8KIAkJNUQyNDdCNzkxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQyNDdCNzcxNDY4OUQ4
OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovOyB9OwogCQk1RDI0N0I3QTE0Njg5RDg5MDBFNzhCNzYg
LyogU3R1Yi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9ICgpOyB9OyB9OworCQlBODFBNzNFMzE1MEVDODNGMDA1OEUzNEUgLyogUGxhdGZvcm0u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MUE3M0Uy
MTUwRUM4M0YwMDU4RTM0RSAvKiBQbGF0Zm9ybS5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmls
ZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwpAQCAt
MjAsNiArMjEsNyBAQAogCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHViLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R1Yi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1RDI0N0VCMTE0NjhCMDE1MDBFNzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhlYWRlckRldGVjdGlvbi5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV1RGL0hlYWRlckRldGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQlBODFBNzNFMjE1MEVDODNGMDA1OEUzNEUgLyogUGxhdGZv
cm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNjcsMTAg
KzY5LDE5IEBACiAJCQkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlv
bi5oICovLAogCQkJCTVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLywKIAkJ
CQk1RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oICovLAorCQkJCUE4MUE3M0UxMTUw
RUM4M0YwMDU4RTM0RSAvKiB3dGYgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFNvdXJjZTsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE4MUE3M0UxMTUwRUM4M0YwMDU4RTM0RSAv
KiB3dGYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE4
MUE3M0UyMTUwRUM4M0YwMDU4RTM0RSAvKiBQbGF0Zm9ybS5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSB3dGY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBCWEdyb3Vw
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpA
QCAtNzgsOCArODksOCBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJNUQyNDdFQjIxNDY4
QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQy
NDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4MUE3
M0UzMTUwRUM4M0YwMDU4RTM0RSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNDMs
NyArMTU0LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyBc
IiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07IHRoZW5cbiAgICBQUklWQVRF
X0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30ke1BSSVZBVEVfSEVBREVSU19G
T0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtEU1RST09U
JSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maTtcblxubWtkaXIgLXAgXCIk
e1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1wcnVuZS1lbXB0eS1kaXJzIC0t
ZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291
cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwi
IFwiJHtTUkNST09UfS9cIiBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbiI7CisJCQlzaGVs
bFNjcmlwdCA9ICJpZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07
IHRoZW5cbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30k
e1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVS
U19QQVRIPVwiJHtEU1RST09UJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5m
aTtcblxubWtkaXIgLXAgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1w
cnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4
Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5o
XCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNST09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVS
U19QQVRIfVwiXG4iOwogCQl9OwogCQk1RDI0N0U5RDE0NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0
IEF2YWlsYWJsZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVkMWI4MzIyNWJlNDhhZWMxOGY2ZmZmOWQzZjEx
YjJjY2E5MzIzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTAsMCArMSwxMjE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4
LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5j
bHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIu
aD4KKworLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQs
IGdyYXBoaWNzIEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0
IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lz
aW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVm
aW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVB
VFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9y
bSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFy
Z2V0IGVudmlyb25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJj
aGl0ZWN0dXJlICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8j
I1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVj
aWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0
IGFyZSBwcmVzZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1
bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQg
bG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29z
ZSBhIEdVSSB0b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
T1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQ
b2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEg
cGFydGljdWxhciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0
aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNF
KFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0Vf
IyNXVEZfRkVBVFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUg
b2YgV2ViS2l0ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxF
XyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BV
KCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28g
ZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIs
IGFzIGFwcHJvcHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYg
ZGVmaW5lZChfX2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8q
IENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisj
ZGVmaW5lIFdURl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYg
IWRlZmluZWQoX19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNl
bmRpZgorCisvKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIg
QUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwor
I2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykg
fHwgZGVmaW5lZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBX
VEZfQ1BVX01JUFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9C
SUdfRU5ESUFOIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNf
XykKKyNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYp
IChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBX
VEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQ
U19BUkNIID49IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Cisj
ZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYg
V1RGX01JUFNfQVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChk
ZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQp
CisjZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnBy
ID09IDY0KQorLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9y
eSAqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNl
bmRpZiAvKiBNSVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAg
IGRlZmluZWQoX19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisg
ICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAg
IFwKKyAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMp
ICAgICAgXAorICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNk
ZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93
ZXJQQyA2NC1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX1BQQzY0X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBk
ZWZpbmVkKF9fU0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUo
U1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZp
bmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQ
QVJDMzIgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShT
UEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZp
bmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9T
UEFSQzY0IDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUo
U1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0
KSAqLworI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9T
UEFSQyAxCisjZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVm
aW5lZChfX3MzOTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BV
X0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisj
aWYgZGVmaW5lZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzIt
Yml0ICovCisjaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAg
ICAgXAorICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAg
ICBcCisgICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQor
I2VuZGlmCisKKy8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJp
dCAqLworI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQp
CisjZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwg
YW55IHZlcnNpb24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJt
X18pIFwKKyAgICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVm
aW5lIFdURl9DUFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIo
UlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorCisjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChf
X0VBQklfXykgXAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5l
ZChfV0lOMzJfV0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQ
VV9NSURETEVfRU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xF
QVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJN
X0FSTVY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FS
Q0hfVkVSU0lPTiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18p
CisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9B
UkNIXzVFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1
CisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwor
I2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYg
ZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9f
KQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1f
QVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdU
Rl9BUk1fQVJDSF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8K
KyNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9W
RVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUp
IFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChf
X1RBUkdFVF9BUkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKKyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAw
CisKKyNlbmRpZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVm
aW5lZChfX0FSTV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQor
CisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF81VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5l
IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAzCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzdNX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNl
dHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RI
VU1CKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIK
KworI2Vsc2UKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisv
KiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVy
ICovCisvKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVp
cmVkLiAKKyAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3Ig
ZWFybGllci4gKi8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJD
SF9BVF9MRUFTVCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgor
CisKKy8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9u
bHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIp
IC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9m
IHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFE
SVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0
aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1i
KSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkK
KyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9D
UFVfQVJNX1RIVU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1f
VEhVTUIyIDAKKyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVj
dHVyZSIKKyMgIGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RI
VU1CMikgLyogU2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdU
Rl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgor
I2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChX
VEZfQ1BVX0FSTV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRl
ZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5k
aWYKKworI2VuZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQ
VShTSDQpIHx8IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VT
UyAxCisjZW5kaWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVt
OyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAor
ICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisK
Ky8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RG
X09TX0FORFJPSUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlY
CisjZGVmaW5lIFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFy
d2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVm
IF9fQVBQTEVfXworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJp
bGl0eS5oPgorI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdl
dENvbmRpdGlvbmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1B
Q19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4p
ICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
XAorICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUp
ICAgICAgICAgICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFU
T1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisj
ZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01B
QworI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBh
bmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lz
dGVtICovCisjaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxE
SU5HX09OX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8
fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Cisj
ZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1Nf
WF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1Nf
WF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAh
ZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJE
IDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VU
SU5HX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgp
IHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84
CisjZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVC
U0QpIC0gRnJlZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19E
cmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9P
U19GUkVFQlNEIDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYg
X19HTlVfXworI2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0g
TGludXggKi8KKyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRp
ZgorCisvKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQor
I2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5C
U0QgKi8KKyNpZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5k
aWYKKworLyogT1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZp
bmUgV1RGX09TX1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisj
aWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklT
IDEKKyNlbmRpZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRo
aXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChf
V0lOMzJfV0NFKQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRP
V1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRl
ZmluZWQoX1dJTjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmlu
ZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5l
IFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9T
KFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAg
ICAgIFwKKyAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAg
ICAgICAgICAgXAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJE
KSAgICAgICAgICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9T
KE5FVEJTRCkgICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAg
fHwgT1MoUU5YKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwK
KyAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAg
ICAgXAorICAgIHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNl
bmRpZgorCisvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBh
cmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9p
Y2VzLiAqLworLyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8q
IFBMQVRGT1JNKFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tC
RVJSWSkgKi8KKy8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBk
ZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlV
TSAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9R
VCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9X
WCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
R1RLIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZf
UExBVEZPUk1fQkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9NQUMgMQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAx
CisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRp
bWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0
aGluZ3MgKi8KKyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19F
TUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9O
RSkKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBU
QVJHRVRfSVBIT05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX0lPU19TSU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1f
SU9TKQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBl
bmdpbmVzICovCisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0Uo
Q0cpKQorI2RlZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdp
bi9MaW51eC9NYWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERB
UldJTikKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJ
QSAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNF
X0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lD
Q0pQRUcgMQorI2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lB
IDEKKyNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2Rl
ZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RF
Ul8xOTkzNyAxCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEdUSykKKyNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0Up
CisjaW5jbHVkZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJf
MTk5MzcgMQorI2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291
bnRlciBieSBkZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVS
WV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExB
VEZPUk0oUVQpCisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXgg
Y29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAg
Lyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVu
dGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4g
IEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAg
IC8qIGRpc2FibGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlz
YWJsZSAiYXNzZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RG
X1VTRV9JQ1VfVU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgor
I2VsaWYgT1MoV0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQ
TEFURk9STShHVEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxl
ICovCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJP
Q0VTUyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VW
RU5UUyAxCisjZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0Vf
U0NST0xMQkFSX1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJ
REdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQgMQorI2VuZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJF
QURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJ
TkUgMQorI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFND
UkVFTl9BUEkgMQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVO
QUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmlu
ZWQoRU5BQkxFX1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisj
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05f
U05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZF
X0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkg
JiYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhS
RUFEUyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0Vf
V0tfU0NST0xMQkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVm
aW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShRVCkgJiYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9E
SVNQQVRDSF9IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAm
JiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisj
ZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUyAwCisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9D
QVRJT04gMQorI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lO
U1BFQ1RPUiAxCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9O
RVRTQ0FQRV9QTFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAx
CisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VC
X0FSQ0hJVkUgMQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEK
KyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQor
I2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZp
bmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lm
IFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRF
UlBSRVRFUiAxCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAwCisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIg
MAorICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQor
ICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUg
V1RGX1VTRV9QVEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVm
aW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNI
RSAxCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAh
UExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQ
TEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisj
ZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgor
I2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xM
SU5UIDAKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZf
VVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYK
KyNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEhBVkVfQUNDRVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQor
I2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQo
SEFWRV9BQ0NFU1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdO
QUxfSCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01Q
SUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENP
TVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlm
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8
IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5T
VFIgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykg
XAorICAgICYmICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVf
VE1fR01UT0ZGIDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00g
MQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNk
ZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFW
RV9NRVJHRVNPUlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0gg
MQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRF
IDEKKworI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hf
SCAxCisjZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9S
TShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURW
X0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1Mp
CisKKyNpZiBPUyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5l
IEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZp
bmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFM
QUxMT0MgMQorCisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZp
bmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBI
QVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVf
SCAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisj
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5l
IEhBVkVfTk1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
CisKKyNlbHNlCisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIg
cGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAg
MQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5l
IEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYK
KworLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdl
IG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZv
ciB0aGUgUXQgcG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAw
CisjaWYgIU9TKFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUg
dmVyaWZpY2F0aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxv
YyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19N
QVRDSF9WQUxJREFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRB
QkFTRSkKKyNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZp
bmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfRlRQRElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVT
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX0RSQUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0lOU1BFQ1RPUikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVm
aW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9QVVJHRUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNk
ZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisj
ZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxM
T0NfTkVXIDEKKyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQg
MAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FN
UExJTkdfRkxBR1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5l
IEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBM
SU5HIDAKKyNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9T
QU1QTElORykKKyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1Q
TElORyIKKyNlbmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1Q
TElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9T
QU1QTElOR19USFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJ
T04pCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9WSUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklD
QVRJT05TIDAKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVY
VF9DQVJFVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2Rl
ZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5U
RVJfTE9DSyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAh
ZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVO
SVgpIHx8IE9TKFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMy
KSkgXAorICAgIHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwg
Q1BVKFMzOTBYKSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2
NCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFMzJfNjQpICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQor
I2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxl
IHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApCisjZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1w
bGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkg
JiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5k
aWYKKworLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0
LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisg
ICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkg
XAorICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FU
X0xFQVNUKDQsIDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkK
KyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZv
cm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxv
dy1sZXZlbCBpbnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVO
QUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQor
LyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24g
TWFjIGFuZCBHTlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAo
UExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNl
bmRpZgorLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9T
LiAqLworI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJM
RV9ERkdfSklUIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQg
dmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQor
ICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50
IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlv
dSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAg
YmVsb3cuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUo
REZHX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BS
T0ZJTEVSKQorI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5B
QkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Yg
d3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwor
ICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVO
QUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJ
RVJfUFJPRklMSU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBv
ciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFC
TEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxF
KENMQVNTSUNfSU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qg
b25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBD
UFUoU0g0KSAmJiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKwor
LyogQ29uZmlndXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZp
bmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVRfVVNFX1NPRlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAx
CisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZp
bmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihH
Q0MpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNl
bHNlCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGlu
dGVycHJldGVyICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNU
KDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVE
X0dPVE8gMQorI2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJ
Q19JTlRFUlBSRVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRF
UlBSRVRFUiAxCisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQg
dG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICov
CisjZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4
IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICov
CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNl
bGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5B
QkxFX1lBUlJfSklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3Vs
dHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRf
REVCVUcgMAorI2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisj
ZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2Nh
dG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBh
c3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZp
eGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBF
TkFCTEUoQVNTRU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZp
bmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVO
QUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBF
TkFCTEVfUEFOX1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9B
UkNISVZFIDAKKyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50
YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBs
ZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFV
U0UoTElCWE1MMikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VT
RV9RWE1MUVVFUlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENv
bXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2Rl
ZmluZSBXVEZfVVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UK
KyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNl
bmRpZgorI2VuZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwp
CisjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8q
IENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9S
TShRVCkKKyNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBM
QVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJB
Q0sgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVm
aW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQor
I2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAg
YSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBi
dWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9D
Rk5FVFdPUksKKworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZv
ciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQp
CisjZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKFdJTikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVT
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisj
ZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisv
KiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFj
cXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uCisgICBDbGll
bnQgYmFzZWQgaW1wbGVtZW50YXRpb25zIHdpbGwgaGF2ZSBvcHRpb24gdG8gY2hvb3NlIGJldHdl
ZW4gcHJlLWVtcHRpdmUgYW5kIG5vbnByZS1lbXB0aXZlIHBlcm1pc3Npb24gcG9saWN5LgorICAg
cHJlLWVtcHRpdmUgcGVybWlzc2lvbiBwb2xpY3kgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBh
bGwgY2xpZW50LWJhc2VkIGltcGxlbWVudGF0aW9ucy4gKi8KKyNpZiBFTkFCTEUoQ0xJRU5UX0JB
U0VEX0dFT0xPQ0FUSU9OKQorI2RlZmluZSBXVEZfVVNFX1BSRUVNUFRfR0VPTE9DQVRJT05fUEVS
TUlTU0lPTiAxCisjZW5kaWYKKworI2lmIENQVShBUk1fVEhVTUIyKQorI2RlZmluZSBFTkFCTEVf
QlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFE
SU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVO
TVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAg
MQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCisjaW5j
bHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYKKworLyogRklYTUU6IFRoaXMg
ZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2
ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRl
cGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRz
IHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCisgICBi
cmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oUVQpCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCisjZWxzZQorI2RlZmlu
ZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oUVQpICYm
ICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUg
V1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShYODYpIHx8IENQ
VShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0NPTVBBUkVfQU5E
X1NXQVAgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYmIChQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAmJiBFTkFCTEUo
Q09NUEFSRV9BTkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEKKyNlbmRpZgor
CisjaWZuZGVmIE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgorI2RlZmluZSBF
TkFCTEVfR0NfVkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFD
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xJT04pCisjZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBMQVRGT1JNKFdJ
TikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFdU
Rl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEhBVkVfSU5WRVJURURf
V0hFRUxfRVZFTlRTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBXVEZf
VVNFX0NPUkVBVURJTyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmICFk
ZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9VU0VfVjggMQorI2VuZGlmCisjZW5kaWYg
LyogUExBVEZPUk0oQ0hST01JVU0pICovCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQorI2Rl
ZmluZSBXVEZfVVNFX1Y4IDAKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4KSAqLworCisv
KiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBKU0MgYW5kIHZpY2UgdmVyc2EgKi8KKyNkZWZp
bmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAm
JiBQTEFURk9STShNQUMpCisjZGVmaW5lIEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfV1RGVVJMKQorI2RlZmluZSBXVEZfVVNF
X1dURlVSTCAwCisjZW5kaWYKKworI2lmICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKEVGTCkK
KyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RGX1BsYXRmb3Jt
X2ggKi8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132695</attachid>
            <date>2012-03-19 16:02:33 -0700</date>
            <delta_ts>2012-03-19 16:11:23 -0700</delta_ts>
            <desc>Should fix chromium</desc>
            <filename>bug-80911-20120319160232.patch</filename>
            <type>text/plain</type>
            <size>74773</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MmYyOWI2ODBkYzFiMGEyZDU2MTU5YjJjNWUzMGI2NjU2YWVjNDIwLi4wMmRlOWRlMzNkNjU1NjA0
NWNjMzdiNGE0NDc3MjdlODg0MDMzMjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xMiAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdURiBoZWFk
ZXIgaW5jbHVkZSBkaXNjaXBsaW5lIGluIENocm9taXVtIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBiNTBlNzcwMTYz
NGQyOWFmOGIwNWJhNThlODc2MWE3OWMwNzBkNzRhLi40NGVjMjdjM2ZkYzFhZTQxZDdhMGU5MTFk
ZjYyNWFiMDhjMjY4MmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEyICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZy
b20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVp
bGRzIGJyZWFrIGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdp
bjogY2FuJ3QgYmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1p
Z2h0IGJ1aWxkCisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJv
bSBRdCBmb2xrcy4KKyAgICAgICAgRUZML0NNYWtlLCBldGM6IE5vIGNsdWUuCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdURi5neXBpOgorICAgICAgICAqIFdU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBS
ZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oLgorCiAyMDEy
LTAzLTE5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgU2V0IHRo
ZSBzdm46aWdub3JlIHByb3BlcnR5IG9uIHRoZSBYY29kZSBwcm9qZWN0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAzYmY2NWZmYmViMmY0MzliMGQwNTk4ZmY1ZWRmOGMxY2QzYjVh
OGE3Li4zNDhkNmNkN2YyMTcxMmYyODQ3MDg0ZmQ5YzM1MWJjMTJlMTgwODRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Myw3ICsxMDkzLDYgQEAKIAkJNjVDNjQ3QjMwOTNF
RjhENjAwMjJDMzgwIC8qIFJlZlB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZWZQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB9OwogCQk2NUM3QTE3MTBBOEVBQUNCMDBGQTM3RUEgLyogSlNXcmFwcGVyT2Jq
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dyYXBwZXJP
YmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUM3QTE3MjBBOEVBQUNC
MDBGQTM3RUEgLyogSlNXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1dyYXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2NURGQzkyQTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaEZ1bmN0aW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoRnVuY3Rpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkIwOEVB
MTczQTAwRjczMDBCIC8qIEhhc2hNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IH07CiAJCTY1REZDOTJDMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hT
ZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpAQCAtMjE0MSw3
ICsyMTQwLDYgQEAKIAkJCQk0NERENDg1MjBGQUVBODUwMDBENkI0RUIgLyogUGFzc093blB0ci5o
ICovLAogCQkJCTY1ODBGNzk1MDk0MDcwNTYwMDgyQzIxOSAvKiBQYXNzUmVmUHRyLmggKi8sCiAJ
CQkJNjUxRENBMDIxMzZBNkZBQjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCAqLywKLQkJCQk2NUQ2
RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLywKIAkJCQlBN0Q2NDlBOTEwMTUy
MjRFMDA5QjJFMUIgLyogUG9zc2libHlOdWxsLmggKi8sCiAJCQkJMDg4RkE1QjkwRUY3NkQ0MzAw
NTc4RTZGIC8qIFJhbmRvbU51bWJlci5jcHAgKi8sCiAJCQkJMDg4RkE1QkEwRUY3NkQ0MzAwNTc4
RTZGIC8qIFJhbmRvbU51bWJlci5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VM
aXN0cy50eHQKaW5kZXggNzI0MjAxMjhhN2FmNTkxNjg4YWQ0NGZlNTFiMGY1ODVlYTY3MmI2YS4u
MzZlZTg3ZDIyNGYyMTdkNTU1N2JiYzg5MzA0MDUwYWMxYTc4NDI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC02OSw3ICs2OSw3IEBAIFNFVChXVEZfSEVB
REVSUwogICAgIFBhcmFsbGVsSm9ic0dlbmVyaWMuaAogICAgIFBhcmFsbGVsSm9ic0xpYmRpc3Bh
dGNoLmgKICAgICBQYXJhbGxlbEpvYnNPcGVuTVAuaAotICAgIFBsYXRmb3JtLmgKKyAgICAuLi8u
Li9XVEYvd3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAogICAgIFJhbmRvbU51bWJl
ci5oCiAgICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3
NTRjY2RhNDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAvZGV2L251
bGwKQEAgLTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKLQotLyog
SW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29tcGls
ZXIuaD4KLQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1l
bnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQg
b3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRl
Y2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCi0j
ZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQbGF0
Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUg
dGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUg
YXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQ
VV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZFKCkgLSBz
cGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0
aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVm
aW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8qIE9TKCkg
LSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0
ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNo
b29zZSBhIEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBX
VEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09
PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9y
IGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxh
ciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUg
VVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9V
U0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1
cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5B
QkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0g
Q1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBUaGlzIGFs
c28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRo
ZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCi0j
aWYgZGVmaW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2VuZGlmCi0K
LS8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19pYTY0X18p
Ci0jZGVmaW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCi0j
aWYgIWRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0jZW5kaWYK
LSNlbmRpZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTogT25seSBP
MzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAq
LwotI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQ
UykgfHwgZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQotI2RlZmlu
ZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgV1RGX0NQ
VV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19Q
SUNfXykKLSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01JUFNfSVNB
KHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQotI2RlZmlu
ZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZf
TUlQU19BUkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2
Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYg
JiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FU
IChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxv
YXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNf
ZnByID09IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1l
bW9yeSAqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
LSNlbmRpZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KLSNp
ZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBc
Ci0gICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBj
KSAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9Q
UEMpICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVfUFBDIDEK
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0g
UG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAgfHwgZGVm
aW5lZChfX1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBXVEZfQ1BV
X0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KLSNp
ZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgotCi0vKiBD
UFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFk
ZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBXVEZfQ1BV
X1NQQVJDMzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQ
VShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBk
ZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUgV1RGX0NQ
VV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBD
UFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFS
QzY0KSAqLwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUgV1RGX0NQ
VV9TUEFSQyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCi0jaWYg
ZGVmaW5lZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmluZSBXVEZf
Q1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICov
Ci0jaWYgZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNkZWZpbmUg
V1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYg
MzItYml0ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5lZChpMzg2
KSAgICAgXAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVkKF9YODZf
KSAgICBcCi0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQVV9YODYg
MQotI2VuZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0
LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9Y
NjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNKSAtIEFS
TSwgYW55IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZpbmVkKF9f
YXJtX18pIFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FSTV8pCi0j
ZGVmaW5lIFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElM
RVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAhZGVmaW5l
ZChfX0VBQklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAmJiAhZGVm
aW5lZChfV0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZpbmUgV1RG
X0NQVV9NSURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9BUkNIX0FU
X0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQotCi0vKiBT
ZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18p
IFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmluZWQoX19N
QVJNX0FSTVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBXVEZfQVJN
X0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1
X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5lZChfX0FS
TV9BUkNIXzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkq
LwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82
Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBkZWZpbmVk
KF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAot
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1W
Nl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0g
Ki8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hf
NUUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwgZGVmaW5l
ZChfX1RBUkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1
c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVO
VF9JTlRFR0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiAwCi0KLSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAg
ZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04g
MQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19B
Uk1fQVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVm
aW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
NkpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0vKiBSVkNU
IHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNI
X1RIVU1CKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhV
TUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5kaWYKLQot
Ci0vKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJs
aWVyICovCi0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJl
cXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUg
b3IgZWFybGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1f
QVJDSF9BVF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKLSNlbmRp
ZgotCi0KLS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUs
IG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFSTV9USFVN
QjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9ubHkgb25l
IG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9U
UkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYgZGVmaW5l
ZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5lZChfX3Ro
dW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0g
NCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVmaW5lIFdU
Rl9DUFVfQVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQotIyAg
ICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RGX0NQVV9B
Uk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hp
dGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJN
X1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9m
IFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1z
IgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5l
ZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYg
IWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCi0j
ZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8
IENQVShTSDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FD
Q0VTUyAxCi0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lz
dGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtl
IAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICov
Ci0KLS8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNkZWZpbmUg
V1RGX09TX0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNpZmRlZiBf
QUlYCi0jZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikgLSBBbnkg
RGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLwotI2lm
ZGVmIF9fQVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUgPEF2YWls
YWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1ZGUgPFRh
cmdldENvbmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8KLS8qIE9T
KE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBPUyhEQVJX
SU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERF
RCkgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhP
TkUpICAgICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1V
TEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09TX0lPUyAx
Ci0jZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09T
X01BQwotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6IEJVSUxESU5HX09OXy4u
LCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkg
c3lzdGVtICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIEJV
SUxESU5HX09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83
KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83
Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNf
T1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5kaWYKLSNp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElOR19MRU9Q
QVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgVEFS
R0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEw
XzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8x
MF84Ci0jZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE9TKEZS
RUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQo
X19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVmaW5lIFdU
Rl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCi0jaWZk
ZWYgX19HTlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1MoTElOVVgp
IC0gTGludXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVYIDEKLSNl
bmRpZgotCi0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05ldEJTRF9f
KQotI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNEKSAtIE9w
ZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCi0j
ZW5kaWYKLQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9fXykKLSNk
ZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICov
Ci0jaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9PU19TT0xB
UklTIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9y
IHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYgZGVmaW5l
ZChfV0lOMzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8qIE9TKFdJ
TkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lOMzIpIHx8
IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYKLQotI2Rl
ZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCi0jZGVm
aW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCi0KLS8q
IE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkgICAgICAg
ICAgICAgIFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0gICAgfHwgT1MoREFSV0lO
KSAgICAgICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhI
VVJEKSAgICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAotICAgIHx8
IE9TKE5FVEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCi0g
ICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAg
IFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXgp
ICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5lIFdURl9PU19VTklYIDEK
LSNlbmRpZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1FOiB0aGVz
ZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBj
aG9pY2VzLiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQTEFURk9STShRVCkgKi8K
LS8qIFBMQVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZPUk0oQkxB
Q0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikgKi8KLSNp
ZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DSFJP
TUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZfUExBVEZP
Uk1fR1RLIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2RlZmluZSBX
VEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9Q
TEFURk9STV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJ
TiAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMgaXMgc29t
ZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZl
bCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9P
U19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQ
SE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0o
SU9TX1NJTVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAm
JiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNk
ZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfUExBVEZP
Uk1fSU9TKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBHcmFwaGlj
cyBlbmdpbmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lmIFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgot
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBV
U0UoQ0cpKQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJQSkgZm9y
IFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmIE9T
KERBUldJTikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdURl9VU0Vf
U0tJQSAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmluZSBXVEZf
VVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBXVEZfVVNF
X0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNk
ZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9T
S0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAot
I2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJ
U1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKEdUSykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYgT1MoV0lO
Q0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNU
RVJfMTk5MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNl
Q291bnRlciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1VTRV9R
VUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBt
YXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExXQVBJICAg
ICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNETiBkb2N1
bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxp
Yi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNwMTBfXyAg
ICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyog
ZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYgIC8qIE9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNpZm5kZWYg
V1RGX1VTRV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKLSNlbmRp
ZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxp
ZiBQTEFURk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJh
YmxlICovCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1Rf
UFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9HRVNUVVJF
X0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5lIFdURl9V
U0VfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFf
QlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQgMQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BU
SFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVB
RExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFCTEVfRlVM
TFNDUkVFTl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0jZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQotI2lmIGRl
ZmluZWQoRU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQotI2VuZGlm
Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBI
QVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRpZiAvKiBQ
TEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQTEFURk9STShDSFJPTUlV
TSkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5lIFdURl9V
U0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0j
ZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShRVCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgSEFW
RV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RL
KSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAw
Ci0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFCTEVfR0VP
TE9DQVRJT04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUgRU5BQkxF
X0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5lIEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5U
UyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNL
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUg
MQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNk
ZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQot
I2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19J
TlRFUlBSRVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVU
RVIgMAotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfTExJTlQg
MQotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZp
bmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0j
ZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVUV09SSykg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxD
QUNIRSAxCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2VuZGlmCi0K
LSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAm
JiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYm
ICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQVShQUEMp
Ci0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRp
ZgotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUgRU5BQkxF
X0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBX
VEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQotI2RlZmlu
ZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5k
aWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNFX1BUSFJF
QURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVN
KQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRlZmlu
ZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQotI2lmICFD
T01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAh
KENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhEQVJXSU4p
IHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBIQVZFX1NU
Uk5TVFIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJ
UykgXAotICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVmaW5lIEhB
VkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFWRV9USU1F
R00gMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
LSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUg
SEFWRV9NRVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklO
R1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1F
X0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVS
QVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVfRElTUEFU
Q0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lmICFQTEFU
Rk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9N
QURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQot
I2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9TKFdJTkRP
V1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNlCi0jZGVm
aW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKLSNk
ZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFWRV9WSVJU
VUFMQUxMT0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNk
ZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRST0lEKQot
Ci0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCi0jZGVm
aW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVf
SCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3Ro
ZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KLQotI2RlZmluZSBI
QVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01N
QVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZW5k
aWYKLQotLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShRVCkKLS8q
IFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRl
IGZvciB0aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgot
I2VuZGlmCi0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRp
bWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1h
bGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNUX01BTExP
Q19NQVRDSF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lDT05E
QVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0Ug
MQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKLSNk
ZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01F
TlVTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKLSNkZWZp
bmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAw
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZp
bmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdF
IDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCi0j
ZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUgRU5BQkxF
X05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9S
WSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykK
LSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFU
SU9OX0VWRU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMp
Ci0jZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RN
QUxMT0NfTkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9J
TlQgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBFTkFCTEVf
U0FNUExJTkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCi0jZGVm
aW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NB
TVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09E
RV9TQU1QTElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9T
QU1QTElORyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShT
QU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5lIEVOQUJM
RV9TQU1QTElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9D
QVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJMRV9OT1RJ
RklDQVRJT05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVf
VEVYVF9DQVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQot
I2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BP
SU5URVJfTE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAm
JiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9T
KFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0
XzMyKSkgXAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBcCi0gICAg
fHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNFX0pTVkFM
VUU2NCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5kaWYKLSNl
bmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9K
U1ZBTFVFMzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5H
KQotI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0vKiBEaXNh
YmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lmICFkZWZp
bmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNU
KDQsIDEsIDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBpcyBub3Qg
aW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJ
VCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0j
ZW5kaWYKLQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2
LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBc
Ci0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBT
KSkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9O
X0FUX0xFQVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYgIU9TKFFO
WCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0aGUgcGxh
dGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKLSAg
IGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYm
IEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9MTElO
VCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklU
KQotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQg
b24gTWFjIGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAm
JiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEK
LSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24g
aU9TLiAqLwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0eXBlcyBh
bmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlv
dQotICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3
YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2Us
IHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQot
ICAgYmVsb3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFC
TEUoREZHX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVF
X1BST0ZJTEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNkZWZpbmUg
RU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQotLyogQ291bnRzIHVzZXMg
b2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxz
bwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFkZWZpbmVk
KEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JB
UlJJRVJfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJ
VCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJM
RV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5B
QkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVh
c3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlmCi0KLSNp
ZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYK
LQotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZpbmVkKEVO
QUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKLSNk
ZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lm
IENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVM
TyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKLSNk
ZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxF
UihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkK
LSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhl
IGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xF
QVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZFX0NPTVBV
VEVEX0dPVE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xB
U1NJQ19JTlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19J
TlRFUlBSRVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBT
ZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0
ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJl
Z2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMu
ICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0K
LSNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNkZWZpbmUg
RU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJl
c3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVRfREVCVUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQp
Ci0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hpY2ggYWxs
b2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRo
ZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xl
IGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KLSNp
ZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKLSNk
ZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0jZGVmaW5l
IEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQotI2RlZmlu
ZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9T
TU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5BQkxFX1dF
Ql9BUkNISVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVt
ZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxRdWVyeSBp
bXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2lm
ICFVU0UoTElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZpbmUgV1RG
X1VTRV9RWE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLS8q
IENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAot
I2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vs
c2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAK
LSNlbmRpZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0jaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0o
V0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShF
RkwpCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2VuZGlmCi0K
LS8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNpZiBQTEFU
Rk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgot
Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8
IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FM
TEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCi0j
ZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9O
KQotI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0vKiBTZXQg
dXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2Ug
YSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0
aF9DRk5FVFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlz
IGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0jaWYgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0o
UVQpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01F
TlVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkp
Ci0jZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgot
Ci0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRv
IGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCi0j
ZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKLQotI2lmIENQ
VShBUk1fVEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJ
U1BBVENIX0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYg
IWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNk
ZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5H
X0dFTkVSSUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQot
I2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZz
Lmg+Ci0jZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNl
ICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0
cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVy
cwotICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkg
d2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1l
LiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQot
I2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9F
WFBPUlRfTUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lO
KSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfVU5J
WF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJF
X0FORF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5E
X1NXQVApCi0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5kaWYKLQotI2lmbmRlZiBO
REVCVUcKLSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZpbmUgRU5BQkxFX0dDX1ZB
TElEQVRJT04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQotI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2Rl
ZmluZSBXVEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhX
SU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJ
TUVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZ
KQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRP
UiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05f
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBI
QVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykK
LSNkZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDSFJP
TUlVTSkKLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDEKLSNl
bmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0jaWYgIWRlZmluZWQoV1RG
X1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX1VT
RV9WOCkgKi8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZl
cnNhICovCi0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0KLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklD
QVRJT05TX09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKLSNk
ZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1pM
SUIpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0j
ZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2
ZjRhMzdmMzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5
MWM2OGYzNzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEs
NCBAQAogd3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9X
VEYvU3R1Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5n
eXBpCmluZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3
NGM4NDQ5Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAg
ICAgICAgJ3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9m
aWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9y
bS5oJywKICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdT
dHViLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dU
Ri5wcm8KaW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYxZDZjMGMzNTc3OC4uYzRl
MGU5MGNlNWMzNzQyZTIxYTM0ZGZmZTVmZWExMDViN2IyMTMwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBA
IEhFQURFUlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAg
ICBQYXNzVHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxh
dGZvcm0uaFBsYXRmb3JtLmggXAogICAgIFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0
LmggXAogICAgIFJhbmRvbU51bWJlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MzRiNTM5
ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0wLDAgKzEsMTIxMCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9QbGF0Zm9ybV9oCisjZGVmaW5lIFdU
Rl9QbGF0Zm9ybV9oCisKKy8qIEluY2x1ZGUgY29tcGlsZXIgc3BlY2lmaWMgbWFjcm9zICovCisj
aW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKy8qID09PT0gUExBVEZPUk0gaGFuZGxlcyBPUywg
b3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFwaGljcyBBUEksIGFuZAorICAgQ1BVLiBUaGlzIG1h
Y3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBmYXZvciBvZiBwbGF0Zm9ybSBhZGFwdGF0aW9uCisg
ICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBtYWNyb3MsIGFuZCB0b3AtbGV2ZWwgcG9ydCBkZWZp
bml0aW9ucy4gPT09PSAqLworI2RlZmluZSBQTEFURk9STShXVEZfRkVBVFVSRSkgKGRlZmluZWQg
V1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJF
KQorCisKKy8qID09PT0gUGxhdGZvcm0gYWRhcHRhdGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJl
IHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBlbnZpcm9ubWVudC4gPT09PSAqLworCisvKiBDUFUo
KSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSAqLworI2RlZmluZSBDUFUoV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX0NQVV8jI1dURl9GRUFU
VVJFKQorLyogSEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5j
dGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBvciBub3QgKi8KKyNkZWZpbmUgSEFW
RShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RG
X0ZFQVRVUkUpCisvKiBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRv
IGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVh
bCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCAqLworI2RlZmluZSBPUyhXVEZf
RkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9PU18jI1dURl9G
RUFUVVJFKQorCisKKy8qID09PT0gUG9saWN5IGRlY2lzaW9uIG1hY3JvczogdGhlc2UgZGVmaW5l
IHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIgcG9ydC4gPT09PSAqLworCisvKiBVU0Uo
KSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQtcGFydHkgbGlicmFyeSBvciBvcHRpb25hbCBPUyBz
ZXJ2aWNlICovCisjZGVmaW5lIFVTRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX1VTRV8jI1dU
Rl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUpCisvKiBFTkFCTEUoKSAtIHR1cm4g
b24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCAqLworI2RlZmluZSBFTkFCTEUoV1RGX0ZF
QVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9GRUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVB
VFVSRSkKKworCisvKiA9PT09IENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlID09
PT0gKi8KKworLyogVGhpcyBhbHNvIGRlZmluZXMgQ1BVKEJJR19FTkRJQU4pIG9yIENQVShNSURE
TEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0ZS4gKi8KKworLyogQ1BVKEFMUEhB
KSAtIERFQyBBbHBoYSAqLworI2lmIGRlZmluZWQoX19hbHBoYV9fKQorI2RlZmluZSBXVEZfQ1BV
X0FMUEhBIDEKKyNlbmRpZgorCisvKiBDUFUoSUE2NCkgLSBJdGFuaXVtIC8gSUEtNjQgKi8KKyNp
ZiBkZWZpbmVkKF9faWE2NF9fKQorI2RlZmluZSBXVEZfQ1BVX0lBNjQgMQorLyogMzItYml0IG1v
ZGUgb24gSXRhbml1bSAqLworI2lmICFkZWZpbmVkKF9fTFA2NF9fKQorI2RlZmluZSBXVEZfQ1BV
X0lBNjRfMzIgMQorI2VuZGlmCisjZW5kaWYKKworLyogQ1BVKE1JUFMpIC0gTUlQUyAzMi1iaXQg
Ki8KKy8qIE5vdGU6IE9ubHkgTzMyIEFCSSBpcyB0ZXN0ZWQsIHNvIHdlIGVuYWJsZSBpdCBmb3Ig
TzMyIEFCSSBmb3Igbm93LiAgKi8KKyNpZiAoZGVmaW5lZChtaXBzKSB8fCBkZWZpbmVkKF9fbWlw
c19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmluZWQoX01JUFNfKSkgXAorICAgICYmIGRlZmlu
ZWQoX0FCSU8zMikKKyNkZWZpbmUgV1RGX0NQVV9NSVBTIDEKKyNpZiBkZWZpbmVkKF9fTUlQU0VC
X18pCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX01J
UFNfUElDIChkZWZpbmVkIF9fUElDX18pCisjZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzCisj
ZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBT
X0FSQ0ggPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfSVNBX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdU
Rl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA+PSB2KQorI2RlZmluZSBXVEZfTUlQU19BUkNI
X1JFViBfX21pcHNfaXNhX3JldgorI2RlZmluZSBXVEZfTUlQU19JU0FfUkVWKHYpIChkZWZpbmVk
IFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9NSVBTX0FSQ0hfUkVWID09IHYpCisjZGVmaW5lIFdU
Rl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5lZCBfX21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5l
ZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQorI2RlZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9f
bWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkKKy8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9y
cyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19B
TElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYgLyogTUlQUyAqLworCisvKiBDUFUoUFBDKSAtIFBv
d2VyUEMgMzItYml0ICovCisjaWYgICBkZWZpbmVkKF9fcHBjX18pICAgICBcCisgICAgfHwgZGVm
aW5lZChfX1BQQ19fKSAgICAgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCisgICAgfHwgZGVmaW5lZChfX1BPV0VSUENfXykgXAor
ICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDKQorI2Rl
ZmluZSBXVEZfQ1BVX1BQQyAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYK
KworLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMgNjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9fcHBj
NjRfXykgXAorICAgIHx8IGRlZmluZWQoX19QUEM2NF9fKQorI2RlZmluZSBXVEZfQ1BVX1BQQzY0
IDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU0g0KSAt
IFN1cGVySCBTSC00ICovCisjaWYgZGVmaW5lZChfX1NINF9fKQorI2RlZmluZSBXVEZfQ1BVX1NI
NCAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDMzIpIC0gU1BBUkMgMzItYml0ICovCisjaWYgZGVm
aW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChfX2FyY2g2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmN2
OCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzMyIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkM2NCkgLSBTUEFSQyA2NC1iaXQgKi8KKyNpZiBkZWZp
bmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChfX2FyY2g2NF9fKSB8fCBkZWZpbmVkIChfX3NwYXJj
djkpCisjZGVmaW5lIFdURl9DUFVfU1BBUkM2NCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElB
TiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDKSAtIGFueSBTUEFSQywgdHJ1ZSBmb3IgQ1BVKFNQ
QVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8KKyNpZiBDUFUoU1BBUkMzMikgfHwgQ1BVKFNQQVJD
NjQpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMgMQorI2VuZGlmCisKKy8qIENQVShTMzkwWCkgLSBT
MzkwIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zMzkweF9fKQorI2RlZmluZSBXVEZfQ1BVX1Mz
OTBYIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUzM5
MCkgLSBTMzkwIDMyLWJpdCAqLworI2lmIGRlZmluZWQoX19zMzkwX18pCisjZGVmaW5lIFdURl9D
UFVfUzM5MCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BV
KFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX2kzODZfXykgXAor
ICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCisg
ICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAorICAgIHx8IGRlZmluZWQoX19USFdfSU5URUwpCisj
ZGVmaW5lIFdURl9DUFVfWDg2IDEKKyNlbmRpZgorCisvKiBDUFUoWDg2XzY0KSAtIEFNRDY0IC8g
SW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX194ODZfNjRfXykgXAor
ICAgIHx8IGRlZmluZWQoX01fWDY0KQorI2RlZmluZSBXVEZfQ1BVX1g4Nl82NCAxCisjZW5kaWYK
KworLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2ZXJzaW9uKi8KKyNpZiAgIGRlZmluZWQoYXJtKSBc
CisgICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCisgICAgfHwgZGVmaW5lZChBUk0pIFwKKyAgICB8
fCBkZWZpbmVkKF9BUk1fKQorI2RlZmluZSBXVEZfQ1BVX0FSTSAxCisKKyNpZiBkZWZpbmVkKF9f
QVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1QpICYmIGRlZmluZWQoX19CSUdfRU5ESUFOKSkKKyNk
ZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKworI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9f
KSBcCisgICAgJiYgIWRlZmluZWQoX19FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX1ZGUF9G
UF9fKSBcCisgICAgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkgXAorICAgICYmICFkZWZpbmVkKEFO
RFJPSUQpCisjZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCisKKyNlbmRpZgorCisjZGVm
aW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChOKSAoQ1BVKEFSTSkgJiYgV1RGX0FSTV9BUkNIX1ZF
UlNJT04gPj0gTikKKworLyogU2V0IFdURl9BUk1fQVJDSF9WRVJTSU9OICovCisjaWYgICBkZWZp
bmVkKF9fQVJNX0FSQ0hfNF9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNF9fKSBcCisgICAgfHwgZGVmaW5lZChfQVJNVjRJ
XykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNAorCisjZWxpZiBkZWZpbmVkKF9fQVJN
X0FSQ0hfNV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisK
KyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8g
dXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1F
TlRfSU5URUdFUiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKKyAg
ICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNgor
CisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83Ul9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA3CisKKy8qIFJWQ1Qgc2V0
cyBfVEFSR0VUX0FSQ0hfQVJNICovCisjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQor
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX0FSTQorCisjaWYgZGVm
aW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVU
RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQorLypBUk12NVRFIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9B
UkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKworI2Vsc2UKKyNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gMAorCisjZW5kaWYKKworLyogU2V0IFdURl9USFVNQl9BUkNI
X1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80VF9fKQorI2RlZmluZSBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OIDEKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDIKKworI2VsaWYg
ZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pCisjZGVm
aW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMworCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
NlQyX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN19fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83TV9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9W
RVJTSU9OIDQKKworLyogUlZDVCBzZXRzIF9fVEFSR0VUX0FSQ0hfVEhVTUIgKi8KKyNlbGlmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiBfX1RBUkdFVF9BUkNIX1RIVU1CCisKKyNlbHNlCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZF
UlNJT04gMAorI2VuZGlmCisKKworLyogQ1BVKEFSTVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0cnVj
dGlvbiBzZXQgdjUgb3IgZWFybGllciAqLworLyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1
cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4gCisgICBBbmQgdGhlcmUgYXJlIHNvbWUgb3RoZXIg
ZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIuICovCisjaWYgIWRlZmluZWQoQVJNVjVfT1Jf
TE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNikKKyNkZWZpbmUgV1RGX0NQVV9BUk1W
NV9PUl9MT1dFUiAxCisjZW5kaWYKKworCisvKiBDUFUoQVJNX1RSQURJVElPTkFMKSAtIFRodW1i
MiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRpdGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRlcikg
Ki8KKy8qIENQVShBUk1fVEhVTUIyKSAtIFRodW1iMiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZhaWxh
YmxlICovCisvKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJlIGRlZmluZWQuICovCisjaWYgIWRl
ZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RI
VU1CMikKKyMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwKKyAg
ICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwgZGVmaW5lZChfX3RodW1iX18pKSAmJiBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OID09IDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05B
TCAwCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMQorIyAgZWxpZiBXVEZfQVJNX0FS
Q0hfQVRfTEVBU1QoNCkKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDEKKyMg
ICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAwCisjICBlbHNlCisjICAgIGVycm9yICJOb3Qg
c3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUiCisjICBlbmRpZgorI2VsaWYgQ1BVKEFSTV9UUkFE
SVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8qIFNhbml0eSBDaGVjayAqLworIyAgZXJyb3Ig
IkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCBhbmQgV1RGX0NQVV9B
Uk1fVEhVTUIyIHBsYXRmb3JtcyIKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFE
SVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKSAqLworCisjaWYgZGVmaW5l
ZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX05FT04pCisjZGVmaW5lIFdU
Rl9DUFVfQVJNX05FT04gMQorI2VuZGlmCisKKyNlbmRpZiAvKiBBUk0gKi8KKworI2lmIENQVShB
Uk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0KSB8fCBDUFUoU1BBUkMpCisjZGVmaW5lIFdURl9D
UFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQorI2VuZGlmCisKKy8qID09PT0gT1MoKSAtIHVuZGVy
bHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ct
bGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEg
R1VJIHRvb2xraXQgPT09PSAqLworCisvKiBPUyhBTkRST0lEKSAtIEFuZHJvaWQgKi8KKyNpZmRl
ZiBBTkRST0lECisjZGVmaW5lIFdURl9PU19BTkRST0lEIDEKKyNlbmRpZgorCisvKiBPUyhBSVgp
IC0gQUlYICovCisjaWZkZWYgX0FJWAorI2RlZmluZSBXVEZfT1NfQUlYIDEKKyNlbmRpZgorCisv
KiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1iYXNlZCBPUywgaW5jbHVkaW5nIE1hYyBPUyBYIGFu
ZCBpUGhvbmUgT1MgKi8KKyNpZmRlZiBfX0FQUExFX18KKyNkZWZpbmUgV1RGX09TX0RBUldJTiAx
CisKKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNy
b3MuaD4KKyNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KKyNlbmRpZgorCisvKiBPUyhJ
T1MpIC0gaU9TICovCisvKiBPUyhNQUNfT1NfWCkgLSBNYWMgT1MgWCAobm90IGluY2x1ZGluZyBp
T1MpICovCisjaWYgT1MoREFSV0lOKSAmJiAoKGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAm
JiBUQVJHRVRfT1NfRU1CRURERUQpIFwKKyAgICB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05F
KSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAgICAgICAgICAgICAgXAorICAgIHx8IChkZWZpbmVk
KFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikpCisj
ZGVmaW5lIFdURl9PU19JT1MgMQorI2VsaWYgT1MoREFSV0lOKSAmJiBkZWZpbmVkKFRBUkdFVF9P
U19NQUMpICYmIFRBUkdFVF9PU19NQUMKKyNkZWZpbmUgV1RGX09TX01BQ19PU19YIDEKKy8qIEZJ
WE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRBUkdFVElORy4uLiBtYWNyb3Mgc2hvdWxkIGJlIGZv
bGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAqLworI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJ
T05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJ
T05fMTBfNgorI2RlZmluZSBCVUlMRElOR19PTl9MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1B
Q19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1B
Q19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQgMQor
I2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9O
X01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5lIEJVSUxESU5HX09O
X0xJT04gMQorI2VuZGlmCisjaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgorI2Rl
ZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9O
XzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lP
Tl8xMF83CisjZGVmaW5lIFRBUkdFVElOR19TTk9XX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQo
TUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBUQVJHRVRJTkdfTElPTiAxCisjZW5kaWYK
KyNlbmRpZgorCisvKiBPUyhGUkVFQlNEKSAtIEZyZWVCU0QgKi8KKyNpZiBkZWZpbmVkKF9fRnJl
ZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX2tl
cm5lbF9fKQorI2RlZmluZSBXVEZfT1NfRlJFRUJTRCAxCisjZW5kaWYKKworLyogT1MoSFVSRCkg
LSBHTlUvSHVyZCAqLworI2lmZGVmIF9fR05VX18KKyNkZWZpbmUgV1RGX09TX0hVUkQgMQorI2Vu
ZGlmCisKKy8qIE9TKExJTlVYKSAtIExpbnV4ICovCisjaWZkZWYgX19saW51eF9fCisjZGVmaW5l
IFdURl9PU19MSU5VWCAxCisjZW5kaWYKKworLyogT1MoTkVUQlNEKSAtIE5ldEJTRCAqLworI2lm
IGRlZmluZWQoX19OZXRCU0RfXykKKyNkZWZpbmUgV1RGX09TX05FVEJTRCAxCisjZW5kaWYKKwor
LyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICovCisjaWZkZWYgX19PcGVuQlNEX18KKyNkZWZpbmUg
V1RGX09TX09QRU5CU0QgMQorI2VuZGlmCisKKy8qIE9TKFFOWCkgLSBRTlggKi8KKyNpZiBkZWZp
bmVkKF9fUU5YTlRPX18pCisjZGVmaW5lIFdURl9PU19RTlggMQorI2VuZGlmCisKKy8qIE9TKFNP
TEFSSVMpIC0gU29sYXJpcyAqLworI2lmIGRlZmluZWQoc3VuKSB8fCBkZWZpbmVkKF9fc3VuKQor
I2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCisjZW5kaWYKKworLyogT1MoV0lOQ0UpIC0gV2luZG93
cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBsYXRmb3JtIE9TKFdJTkRPV1MpIGlzIGFsc28gZGVm
aW5lZCAqLworI2lmIGRlZmluZWQoX1dJTjMyX1dDRSkKKyNkZWZpbmUgV1RGX09TX1dJTkNFIDEK
KyNlbmRpZgorCisvKiBPUyhXSU5ET1dTKSAtIEFueSB2ZXJzaW9uIG9mIFdpbmRvd3MgKi8KKyNp
ZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikKKyNkZWZpbmUgV1RGX09TX1dJTkRP
V1MgMQorI2VuZGlmCisKKyNkZWZpbmUgV1RGX09TX1dJTiBFUlJPUiAiVVNFIFdJTkRPV1MgV0lU
SCBPUyBOT1QgV0lOIgorI2RlZmluZSBXVEZfT1NfTUFDIEVSUk9SICJVU0UgTUFDX09TX1ggV0lU
SCBPUyBOT1QgTUFDIgorCisvKiBPUyhVTklYKSAtIEFueSBVbml4LWxpa2Ugc3lzdGVtICovCisj
aWYgICBPUyhBSVgpICAgICAgICAgICAgICBcCisgICAgfHwgT1MoQU5EUk9JRCkgICAgICAgICAg
XAorICAgIHx8IE9TKERBUldJTikgICAgICAgICAgIFwKKyAgICB8fCBPUyhGUkVFQlNEKSAgICAg
ICAgICBcCisgICAgfHwgT1MoSFVSRCkgICAgICAgICAgICAgXAorICAgIHx8IE9TKExJTlVYKSAg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhORVRCU0QpICAgICAgICAgICBcCisgICAgfHwgT1MoT1BF
TkJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKFFOWCkgICAgICAgICAgICAgIFwKKyAgICB8fCBP
UyhTT0xBUklTKSAgICAgICAgICBcCisgICAgfHwgZGVmaW5lZCh1bml4KSAgICAgICAgXAorICAg
IHx8IGRlZmluZWQoX191bml4KSAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5peF9fKQorI2Rl
ZmluZSBXVEZfT1NfVU5JWCAxCisjZW5kaWYKKworLyogT3BlcmF0aW5nIGVudmlyb25tZW50cyAq
LworCisvKiBGSVhNRTogdGhlc2UgYXJlIGFsbCBtaXhlcyBvZiBPUywgb3BlcmF0aW5nIGVudmly
b25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4gKi8KKy8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwor
LyogUExBVEZPUk0oUVQpICovCisvKiBQTEFURk9STShXWCkgKi8KKy8qIFBMQVRGT1JNKEdUSykg
Ki8KKy8qIFBMQVRGT1JNKEJMQUNLQkVSUlkpICovCisvKiBQTEFURk9STShNQUMpICovCisvKiBQ
TEFURk9STShXSU4pICovCisjaWYgZGVmaW5lZChCVUlMRElOR19DSFJPTUlVTV9fKQorI2RlZmlu
ZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQor
I2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19XWF9fKQor
I2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykK
KyNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX0JMQUNL
QkVSUllfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0JMQUNLQkVSUlkgMQorI2VsaWYgT1MoREFS
V0lOKQorI2RlZmluZSBXVEZfUExBVEZPUk1fTUFDIDEKKyNlbGlmIE9TKFdJTkRPV1MpCisjZGVm
aW5lIFdURl9QTEFURk9STV9XSU4gMQorI2VuZGlmCisKKy8qIFBMQVRGT1JNKElPUykgKi8KKy8q
IEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGFuIE9TIHN3aXRjaCBhbmQgc29tZXRp
bWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdzICovCisjaWYgKGRlZmluZWQoVEFSR0VUX09TX0VN
QkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhP
TkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQorI2Vu
ZGlmCisKKy8qIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpICovCisjaWYgZGVmaW5lZChUQVJHRVRf
SVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IKKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX0lPUyAxCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1NfU0lNVUxBVE9SIDEKKyNl
bHNlCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1NfU0lNVUxBVE9SIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAwCisj
ZW5kaWYKKworLyogR3JhcGhpY3MgZW5naW5lcyAqLworCisvKiBVU0UoQ0cpIGFuZCBQTEFURk9S
TShDSSkgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgV1RG
X1VTRV9DRyAxCisjZW5kaWYKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwg
KFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkKKyNkZWZpbmUgV1RGX1VTRV9DQSAxCisjZW5kaWYK
KworLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgvTWFjL0FuZHJvaWQgKi8KKyNpZiBQTEFURk9S
TShDSFJPTUlVTSkKKyNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVN
KQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9DRyAxCisj
ZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhU
IDEKKyNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKKyNlbGlmIE9TKEFORFJPSUQpCisjZGVmaW5l
IFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdURl9VU0VfR0xFUzJfUkVOREVSSU5HIDAKKyNlbHNl
CisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdURl9VU0VfQ0hST01JVU1fTkVUIDEK
KyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBFTkFC
TEVfRFJBR19TVVBQT1JUIDAKKyNkZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQorI2RlZmluZSBX
VEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQorI2Vu
ZGlmCisKKworI2lmIE9TKFdJTkNFKQorI2luY2x1ZGUgPGNlX3RpbWUuaD4KKyNkZWZpbmUgV1RG
X1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNlbmRpZgorCisvKiBPbiBXaW5kb3dzLCB1
c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgYnkgZGVmYXVsdCAqLworI2lmIE9TKFdJTkRPV1Mp
CisjZGVmaW5lIFdURl9VU0VfUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRFUiAgMQorI2VuZGlmCisK
KyNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBOT01JTk1BWCAgICAgICAv
KiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZsaWN0IHdpdGggc3RhbmRhcmQgbWFjcm9zICovCisj
ZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNobHdhcGkuaCBub3QgYXZhaWxhYmxlIG9uIFdpbkNl
ICovCisKKy8qIE1TRE4gZG9jdW1lbnRhdGlvbiBzYXlzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgcHJv
dmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQgd2UgY2Fubm90IGZpbmQgdGhpcyBmaWxlLiAqLwor
I2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBkaXNhYmxlICJ1c3AxMC5oIiAqLworCisjZGVmaW5l
IF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUgImFzc2VydC5oIiAqLworI2RlZmluZSBhc3NlcnQo
eCkKKworI2VuZGlmICAvKiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKSAqLworCisjaWYgUExB
VEZPUk0oUVQpCisjaWZuZGVmIFdURl9VU0VfSUNVX1VOSUNPREUKKyNkZWZpbmUgV1RGX1VTRV9R
VDRfVU5JQ09ERSAxCisjZW5kaWYKKyNlbGlmIE9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX1dJ
TkNFX1VOSUNPREUgMQorI2VsaWYgUExBVEZPUk0oR1RLKQorLyogVGhlIEdUSysgVW5pY29kZSBi
YWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLworI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9JQ1VfVU5J
Q09ERSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykKKyNp
ZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiBDUFUoWDg2XzY0KQorI2RlZmluZSBX
VEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoQlVJTERJ
TkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2Rl
ZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMgMQorI2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcgMQorI2RlZmluZSBXVEZfVVNFX1NDUk9MTEJBUl9QQUlOVEVSIDEKKyNlbmRpZgorI2lmICFk
ZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDEK
KyNlbmRpZgorI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0NGIDEK
KyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sg
MQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEK
KyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNkZWZpbmUgRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2RlZmluZSBFTkFCTEVf
V0VCX0FVRElPIDEKKyNpZiBkZWZpbmVkKEVOQUJMRV9WSURFTykKKyNkZWZpbmUgRU5BQkxFX1ZJ
REVPX1RSQUNLIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTElPTikKKyNkZWZpbmUgSEFWRV9MQVlFUl9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIgMQor
I2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKSAqLworCisj
aWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1VTRV9DRiAx
CisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKKworI2RlZmluZSBXVEZfVVNFX1dLX1NDUk9MTEJBUl9QQUlOVEVSIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBET05UX0ZJTkFMSVpFX09OX01BSU5fVEhSRUFEIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oUVQpICYmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1VT
RV9DRiAxCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJ
TikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfUFVS
R0VBQkxFX01FTU9SWSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5B
QkxFX0NPTlRFWFRfTUVOVVMgMAorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKKyNkZWZp
bmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEK
KyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEKKyNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFT
RSAwCisjZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklE
R0UgMAorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAwCisjZGVmaW5lIEVOQUJM
RV9PUklFTlRBVElPTl9FVkVOVFMgMQorI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5H
IDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZpbmUgSEFWRV9ORVRXT1JLX0NG
REFUQV9BUlJBWV9DQUxMQkFDSyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorI2Rl
ZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDAKKyNkZWZp
bmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKKyNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAxCisKKyNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQorICAgICNkZWZp
bmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorICAgICNkZWZpbmUgRU5BQkxFX0pJVCAw
CisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAorI2Vsc2UKKyAgICAjZGVmaW5lIEVOQUJM
RV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMQorICAgICNk
ZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAxCisjZW5k
aWYKKworI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkKKyNkZWZpbmUg
V1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMAorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExB
VEZPUk0oV0lOX0NBSVJPKQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCisjZW5kaWYKKwor
I2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQorI2Rl
ZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQorI2RlZmluZSBXVEZfVVNFX0NGVVJMU1RPUkFHRVNF
U1NJT05TIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQ
TEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfV0VCX0FS
Q0hJVkUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSAmJiAhUExBVEZPUk0oUVQp
CisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFdYKQorI2lmICFDUFUoUFBDKQorI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKKyNkZWZpbmUg
RU5BQkxFX0pJVCAxCisjZW5kaWYKKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCisjZGVmaW5lIEVOQUJMRV9MTElOVCAwCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZf
VVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBFTkFCTEVfV0VC
X0FSQ0hJVkUgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBIQVZF
KFBUSFJFQURfSCkKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9SV0xPQ0sgMQorI2VuZGlmCisjZWxpZiBQTEFURk9STShRVCkgJiYgT1MoVU5JWCkKKyNk
ZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpCisjaWYgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKKyNlbmRp
ZgorI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkgKi8KKworI2lmIE9TKFVO
SVgpCisjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZF
X1ZBU1BSSU5URikKKyNpZiAhQ09NUElMRVIoTVNWQykgJiYgIUNPTVBJTEVSKFJWQ1QpICYmICFD
T01QSUxFUihNSU5HVykgJiYgIShDT01QSUxFUihHQ0MpICYmIE9TKFFOWCkpCisjZGVmaW5lIEhB
VkVfVkFTUFJJTlRGIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX1NUUk5T
VFIpCisjaWYgT1MoREFSV0lOKSB8fCAoT1MoRlJFRUJTRCkgJiYgIWRlZmluZWQoX19HTElCQ19f
KSkKKyNkZWZpbmUgSEFWRV9TVFJOU1RSIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhT1MoV0lO
RE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKKyAgICAmJiAhT1MoUlZDVCkgXAorICAgICYmICFPUyhB
TkRST0lEKQorI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCisjZGVmaW5lIEhBVkVfVE1fWk9ORSAx
CisjZGVmaW5lIEhBVkVfVElNRUdNIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorCisjZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCisjZGVmaW5lIEhB
VkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfTUVSR0VTT1JUIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEK
KyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisjZGVm
aW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCisKKyNpZm5kZWYgVEFSR0VUSU5HX0xFT1BBUkQKKwor
I2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1B
VElPTiAxCisKKyNpZiAhUExBVEZPUk0oSU9TKQorI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVT
RSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5B
TUVfTlAgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBI
QVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKKyNlbmRp
ZgorCisjZWxpZiBPUyhXSU5ET1dTKQorCisjaWYgT1MoV0lOQ0UpCisjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAwCisjZWxzZQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgSEFWRV9B
TElHTkVEX01BTExPQyAxCisjZGVmaW5lIEhBVkVfSVNERUJVR0dFUlBSRVNFTlQgMQorI2VuZGlm
CisjZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9DIDEKKworI2VsaWYgT1MoUU5YKQorCisjZGVmaW5l
IEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfTUFEVl9G
UkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1NCUksg
MQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQor
I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKwor
I2VsaWYgT1MoQU5EUk9JRCkKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZF
X0xBTkdJTkZPX0ggMAorI2RlZmluZSBIQVZFX05NQVAgMQorI2RlZmluZSBIQVZFX1NCUksgMQor
I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2Rl
ZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZWxzZQorCisvKiBGSVhNRTogaXMgdGhpcyBhY3R1
YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRmb3JtcyBnZW5lcmF0ZSB0aGVpciBvd24gY29uZmln
Lmg/ICovCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19I
IDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKKworI2VuZGlmCisKKy8qIEVOQUJMRSBtYWNybyBkZWZhdWx0cyAqLworCisj
aWYgUExBVEZPUk0oUVQpCisvKiBXZSBtdXN0IG5vdCBjdXN0b21pemUgdGhlIGdsb2JhbCBvcGVy
YXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhlIFF0IHBvcnQuICovCisjZGVmaW5lIEVOQUJMRV9H
TE9CQUxfRkFTVE1BTExPQ19ORVcgMAorI2lmICFPUyhVTklYKQorI2RlZmluZSBVU0VfU1lTVEVN
X01BTExPQyAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBmYXN0TWFsbG9jIG1hdGNoIHZhbGlkYXRp
b24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlmaWNhdGlvbiB0aGF0CisgICBuZXcgaXMgbWF0Y2hl
ZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMgbWF0Y2hlZCBieSBmYXN0RnJlZSwgZXRjLiAqLwor
I2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQorI2RlZmlu
ZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTiAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0Ug
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU1FMX0RBVEFCQVNFKQorI2RlZmluZSBF
TkFCTEVfU1FMX0RBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpCisjZGVmaW5lIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZUUERJUikKKyNkZWZpbmUgRU5BQkxFX0ZUUERJ
UiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhUX01FTlVTKQorI2RlZmlu
ZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykKKyNkZWZpbmUgRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1IpCisjZGVmaW5lIEVOQUJMRV9JTlNQRUNU
T1IgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCisjZGVmaW5l
IEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRT
Q0FQRV9QTFVHSU5fQVBJKQorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FD
SEUpCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSkKKyNkZWZpbmUgRU5B
QkxFX1BVUkdFQUJMRV9NRU1PUlkgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1BM
VUdJTl9IT1NUX1BST0NFU1MpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMpCisjZGVm
aW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfT1BDT0RFX1NUQVRTKQorI2RlZmluZSBFTkFCTEVfT1BDT0RFX1NUQVRTIDAKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVykKKyNkZWZpbmUg
RU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAxCisjZW5kaWYKKworI2RlZmluZSBFTkFCTEVf
REVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJT
IDAKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZMQUdTIDAKKyNkZWZpbmUgRU5BQkxFX1NBTVBM
SU5HX1JFR0lPTlMgMAorI2RlZmluZSBFTkFCTEVfT1BDT0RFX1NBTVBMSU5HIDAKKyNkZWZpbmUg
RU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAwCisjaWYgRU5BQkxFKENPREVCTE9DS19TQU1QTElO
RykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCisjZXJyb3IgIkNPREVCTE9DS19TQU1QTElO
RyByZXF1aXJlcyBPUENPREVfU0FNUExJTkciCisjZW5kaWYKKyNpZiBFTkFCTEUoT1BDT0RFX1NB
TVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdfRkxBR1MpIHx8IEVOQUJMRShTQU1QTElOR19SRUdJ
T05TKQorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfVEhSRUFEIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMAor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVklFV1BPUlQpCisjZGVmaW5lIEVOQUJMRV9W
SUVXUE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKQor
I2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9OUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfVEVYVF9DQVJFVCkKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpCisjZGVmaW5lIEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
CisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpCisjaWYg
KENQVShYODZfNjQpICYmIChPUyhVTklYKSB8fCBPUyhXSU5ET1dTKSkpIFwKKyAgICB8fCAoQ1BV
KElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwKKyAgICB8fCBDUFUoQUxQSEEpIFwKKyAgICB8fCBD
UFUoU1BBUkM2NCkgXAorICAgIHx8IENQVShTMzkwWCkgXAorICAgIHx8IENQVShQUEM2NCkKKyNk
ZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVF
MzJfNjQgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYm
ICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KSAqLworCisjaWYgIWRlZmluZWQoRU5BQkxF
X1JFUEFJTlRfVEhST1RUTElORykKKyNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAw
CisjZW5kaWYKKworLyogRGlzYWJsZSB0aGUgSklUIG9uIHZlcnNpb25zIG9mIEdDQyBwcmlvciB0
byA0LjEgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBDT01QSUxFUihHQ0MpICYmICFH
Q0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKQorI2RlZmluZSBFTkFCTEVfSklUIDAKKyNlbmRp
ZgorCisvKiBKSVQgaXMgbm90IGltcGxlbWVudGVkIGZvciBXaW5kb3dzIDY0LWJpdCAqLworI2lm
ICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9TKFdJTkRPV1MpICYmIENQVShYODZfNjQpCisjZGVm
aW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZh
dWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJNICYgTUlQUyBwbGF0Zm9ybXMuICovCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgXAorICAgICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKKyAgICAmJiAoT1MoREFSV0lOKSB8fCAhQ09NUElMRVIo
R0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKSkgXAorICAgICYmICFPUyhXSU5D
RSkgXAorICAgICYmICFPUyhRTlgpCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisKKy8q
IE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3aGVyZSB3ZSBoYXZlIGEgSklULCB3ZSB3YW50IHRv
IGFsc28gaGF2ZSB0aGUgCisgICBsb3ctbGV2ZWwgaW50ZXJwcmV0ZXIuICovCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUoSklUKSAmJiAoT1MoREFSV0lOKSAmJiAhUExBVEZP
Uk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQor
I2RlZmluZSBFTkFCTEVfTExJTlQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREZH
X0pJVCkgJiYgRU5BQkxFKEpJVCkKKy8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBYODYgYW5kIFg4
Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBhbmQgR05VL0xpbnV4LiAqLworI2lmIChDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRGT1JNKE1BQykgfHwgT1MoTElOVVgpKQorI2RlZmlu
ZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKy8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBBUk12
Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8KKyNpZiBDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZP
Uk0oSU9TKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBQ
cm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVlcyB1c2VkIGJ5IEpJVCBjb2RlLiBERkdfSklUIGRl
cGVuZHMgb24gaXQsIGJ1dCB5b3UKKyAgIGNhbiBlbmFibGUgaXQgbWFudWFsbHkgd2l0aCBERkcg
dHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1c2UgaXQgYXMgYSBzdGFuZGFsb25lCisgICBwcm9m
aWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJvYmFibHkgd2FudCB0byBhbHNvIGVuYWJsZSBWRVJC
T1NFX1ZBTFVFX1BST0ZJTEUKKyAgIGJlbG93LiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9WQUxV
RV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19KSVQpCisjZGVmaW5lIEVOQUJMRV9WQUxVRV9QUk9G
SUxFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJ
TEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxFUikKKyNkZWZpbmUgRU5BQkxFX1ZFUkJPU0VfVkFM
VUVfUFJPRklMRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TSU1QTEVfSEVBUF9Q
Uk9GSUxJTkcpCisjZGVmaW5lIEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcgMAorI2VuZGlm
CisKKy8qIENvdW50cyB1c2VzIG9mIHdyaXRlIGJhcnJpZXJzIHVzaW5nIHNhbXBsaW5nIGNvdW50
ZXJzLiBCZSBzdXJlIHRvIGFsc28KKyAgIHNldCBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgdG8g
MS4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpCisjZGVm
aW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogRW5zdXJl
IHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIGludGVycHJldGVyIGhhcyBiZWVuIGVuYWJsZWQu
ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIpICYmICFFTkFCTEUo
SklUKQorI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCisjZW5kaWYKKyNpZiAh
KEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKSkKKyNlcnJvciBZb3Ug
aGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBleGVjdXRpb24gbW9kZWwgZW5hYmxlZCB0byBidWls
ZCBKU0MKKyNlbmRpZgorCisjaWYgQ1BVKFNINCkgJiYgUExBVEZPUk0oUVQpCisjZGVmaW5lIEVO
QUJMRV9KSVQgMQorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0aGUgSklUICovCisjaWYgQ1BVKEFS
TSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTykgJiYgV1RGX0FSTV9B
UkNIX0FUX0xFQVNUKDUpCisjZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKKyNl
bmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoTUlQUykK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTykKKyNkZWZpbmUgRU5BQkxF
X0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpICYm
IENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19mYXN0Y2FsbAorI2VsaWYg
Q1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmli
dXRlX18gKChmYXN0Y2FsbCkpCisjZWxzZQorI2RlZmluZSBKU0NfSE9TVF9DQUxMCisjZW5kaWYK
KworLyogQ29uZmlndXJlIHRoZSBpbnRlcnByZXRlciAqLworI2lmIENPTVBJTEVSKEdDQykgfHwg
KFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAwLCAwLCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkK
KyNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKKyNlbmRpZgorI2lmIEhBVkUoQ09NUFVURURf
R09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCisjZGVmaW5lIEVOQUJMRV9DT01Q
VVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2VuZGlmCisKKy8qIFJlZ3VsYXIgRXhw
cmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEgdG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVz
dWx0cyBkdW1wZWQgYXQgZXhpdCAqLworI2RlZmluZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAor
CisvKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9y
IEpJVCBlbmFibGVkIHBvcnRzLiAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBF
TkFCTEVfWUFSUl9KSVQgMAorCisjZWxpZiBFTkFCTEUoSklUKSAmJiAhZGVmaW5lZChFTkFCTEVf
WUFSUl9KSVQpCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAxCisKKy8qIFNldHRpbmcgdGhpcyBm
bGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdpdGggaW50ZXJwcmV0ZXIgcmVzdWx0cy4gKi8KKyNk
ZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAKKyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkg
fHwgRU5BQkxFKFlBUlJfSklUKQorI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKKyNlbmRpZgor
CisvKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0byB1c2U7IHdlIG9ubHkgbmVlZCBhbiBleGVjdXRh
YmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1ibGVyIGlzIGNvbXBpbGVkIGluLgorICAgT24geDg2
LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBtbWFwLCBvbiBvdGhlciBwbGF0Zm9ybXMgd2UgbW1h
cCBvbiBkZW1hbmQuICovCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKKyNpZiBDUFUoWDg2XzY0KSB8
fCBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhF
RCAxCisjZWxzZQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfREVNQU5EIDEK
KyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFOX1NDUk9MTElORykgJiYg
T1MoV0lORE9XUykKKyNkZWZpbmUgRU5BQkxFX1BBTl9TQ1JPTExJTkcgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1NDUk9MTElORykKKyNkZWZpbmUgRU5BQkxFX1NNT09U
SF9TQ1JPTExJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUp
CisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKworLyogVXNlIHRoZSBRWG1s
U3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9uIGZvciBYTUxEb2N1bWVudFBhcnNlciAqLworLyog
VXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50YXRpb24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KKyNp
ZiBQTEFURk9STShRVCkKKyNpZiAhVVNFKExJQlhNTDIpCisjZGVmaW5lIFdURl9VU0VfUVhNTFNU
UkVBTSAxCisjZGVmaW5lIFdURl9VU0VfUVhNTFFVRVJZIDEKKyNlbmRpZgorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShNQUMpCisvKiBDb21wbGV4IHRleHQgZnJhbWV3b3JrICovCisjaWZuZGVmIEJV
SUxESU5HX09OX0xFT1BBUkQKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAwCisjZGVmaW5lIFdURl9V
U0VfQ09SRV9URVhUIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBX
VEZfVVNFX0NPUkVfVEVYVCAwCisjZW5kaWYKKyNlbmRpZgorCisvKiBBY2NlbGVyYXRlZCBjb21w
b3NpdGluZyAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9S
TShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NB
SVJPKSkgfHwgUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HIDEKKyNlbmRpZgorCisvKiBDb21wb3NpdGluZyBvbiB0aGUgVUktcHJvY2VzcyBpbiBX
ZWJLaXQyICovCisjaWYgUExBVEZPUk0oUVQpCisjZGVmaW5lIFdURl9VU0VfVUlfU0lERV9DT01Q
T1NJVElORyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfUFJPVEVD
VElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKKyNlbmRpZgorCisjaWYgIUVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYmICgoT1MoVU5J
WCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkpKSB8fCBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKEVGTCkpKQorI2RlZmluZSBFTkFCTEVfUExVR0lOX1BBQ0tBR0VfU0lNUExFX0hB
U0ggMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgRU5BQkxFX1RIUkVBREVEX1NDUk9MTElORyAx
CisjZW5kaWYKKworLyogU2V0IHVwIGEgZGVmaW5lIGZvciBhIGNvbW1vbiBlcnJvciB0aGF0IGlz
IGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQgZXJyb3IgLS0gdGh1cyB0aGUgc3BhY2UgYWZ0ZXIg
RXJyb3IuICovCisjZGVmaW5lIFdURl9QTEFURk9STV9DRk5FVFdPUksgRXJyb3IgVVNFX21hY3Jv
X3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRXT1JLCisKKy8qIEZJWE1FOiBFdmVudHVhbGx5IHdl
IHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxsIHBsYXRmb3JtcyBhbmQgZ2V0IHJpZCBvZiB0aGUg
ZGVmaW5lLiAqLworI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShXSU4pIHx8IFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJ
RVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pCisjZGVmaW5lIFdURl9VU0VfQ1JPU1Nf
UExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYg
SEFWRShBQ0NFU1NJQklMSVRZKQorI2RlZmluZSBXVEZfVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVY
VF9NRU5VUyAxCisjZW5kaWYKKworLyogR2VvbG9jYXRpb24gcmVxdWVzdCBwb2xpY3kuIHByZS1l
bXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJlIHVzZXIgcGVybWlzc2lvbiBiZWZvcmUgYWNxdWly
aW5nIGxvY2F0aW9uLiAqLworI2RlZmluZSBXVEZfVVNFX1BSRUVNUFRfR0VPTE9DQVRJT05fUEVS
TUlTU0lPTiAxCisKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyNkZWZpbmUgRU5BQkxFX0JSQU5DSF9D
T01QQUNUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19MSUJE
SVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0xJ
QkRJU1BBVENIIDEKKyNlbGlmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfT1BFTk1QKSAmJiBk
ZWZpbmVkKF9PUEVOTVApCisjZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfT1BFTk1QIDEKKyNlbGlm
ICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0dF
TkVSSUMgMQorI2VuZGlmCisKKyNpZiBFTkFCTEUoR0xJQl9TVVBQT1JUKQorI2luY2x1ZGUgPHd0
Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIGRlZmluZSB3
b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEgaXMgZnVsbHkgbGFuZGVkLiBIb3dldmVyLCAKKyAg
IHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1cHBvcnQgc3ViLXByb2plY3QgaW5kZXBlbmRlbmNl
LCBhZGRpbmcgbmV3IGhlYWRlcnMKKyAgIHRvIFdURiBjYXVzZXMgbWFueSBwb3J0cyB0byBicmVh
aywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBhZGRyZXNzIHRoZSBidWlsZAorICAgYnJlYWthZ2Vz
IG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShXWCkKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKKyNlbHNl
CisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAwCisjZW5kaWYKKworI2lmIChQTEFURk9S
TShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQor
I2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlOX1NPQ0tFVFMgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4
NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQorI2RlZmluZSBFTkFCTEVfQ09N
UEFSRV9BTkRfU1dBUCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9H
QykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkpICYm
IEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQorI2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQor
I2VuZGlmCisKKyNpZm5kZWYgTkRFQlVHCisjaWZuZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9OCisj
ZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgV1RGX1VTRV9BVkZPVU5EQVRJT04gMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTElPTikKKyNkZWZpbmUgV1RGX1VTRV9DT1JFTUVESUEgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgV1RGX1VTRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRV9ESVNQTEFZX01PTklUT1IgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkKKyNkZWZpbmUgSEFWRV9JTlZFUlRFRF9XSEVFTF9FVkVOVFMgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFdURl9VU0VfQ09SRUFVRElPIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNkZWZp
bmUgV1RGX1VTRV9WOCAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShDSFJPTUlVTSkgKi8K
KworI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9VU0VfVjggMAorI2VuZGlm
IC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICovCisKKy8qIFVzaW5nIFY4IGltcGxpZXMgbm90IHVz
aW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLworI2RlZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VTRV9W
OAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpICYmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUg
RU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
V1RGX1VTRV9XVEZVUkwpCisjZGVmaW5lIFdURl9VU0VfV1RGVVJMIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIFdURl9VU0Vf
WkxJQiAxCisjZW5kaWYKKworI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132700</attachid>
            <date>2012-03-19 16:11:27 -0700</date>
            <delta_ts>2012-03-19 16:40:49 -0700</delta_ts>
            <desc>might fix Qt</desc>
            <filename>bug-80911-20120319161126.patch</filename>
            <type>text/plain</type>
            <size>75928</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MmYyOWI2ODBkYzFiMGEyZDU2MTU5YjJjNWUzMGI2NjU2YWVjNDIwLi4wMmRlOWRlMzNkNjU1NjA0
NWNjMzdiNGE0NDc3MjdlODg0MDMzMjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xMiAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdURiBoZWFk
ZXIgaW5jbHVkZSBkaXNjaXBsaW5lIGluIENocm9taXVtIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBiNTBlNzcwMTYz
NGQyOWFmOGIwNWJhNThlODc2MWE3OWMwNzBkNzRhLi40NGVjMjdjM2ZkYzFhZTQxZDdhMGU5MTFk
ZjYyNWFiMDhjMjY4MmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEyICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZy
b20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVp
bGRzIGJyZWFrIGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdp
bjogY2FuJ3QgYmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1p
Z2h0IGJ1aWxkCisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJv
bSBRdCBmb2xrcy4KKyAgICAgICAgRUZML0NNYWtlLCBldGM6IE5vIGNsdWUuCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdURi5neXBpOgorICAgICAgICAqIFdU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBS
ZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oLgorCiAyMDEy
LTAzLTE5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgU2V0IHRo
ZSBzdm46aWdub3JlIHByb3BlcnR5IG9uIHRoZSBYY29kZSBwcm9qZWN0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKaW5kZXggZWVhY2UxNzY0OTg5ZGIxNDkwMjVmOTNk
OWQ4NTk5NmQ2OGVkNmFjOS4uYmUwOGUwOTBmMTNjMWMzOWFhODRiZWFkNGEwZDZkZTI0ZTRiYzJi
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCkBAIC0xMSw3ICsx
MSw4IEBAIEpBVkFTQ1JJUFRDT1JFX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUiA9ICQke1JPT1RfQlVJ
TERfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvCiAKIElOQ0xVREVQQVRIICs9IFwKICAgICAk
JFNPVVJDRV9ESVIgXAotICAgICQkU09VUkNFX0RJUi8uLiBcCisgICAgJCRTT1VSQ0VfRElSLy4u
IFwgICMgVGhpcyBzZWVtcyBsaWtlIGEgYmFkIGlkZWEhCisgICAgJCRTT1VSQ0VfRElSLy4uL1dU
RiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2VtYmxlciBcCiAgICAgJCRTT1VSQ0VfRElSL2J5dGVj
b2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvbXBpbGVyIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CmluZGV4IDNiZjc4MTdmMzE4NTA4Y2MyOTcxMTU3ZjNiNGE5ZWRjNjQ2M2M3N2QuLmMzNDFkYTY2
YTU1ZmU4ZWUxYjdjZjRiMzI2YjYwMjRkYzkwNzM1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagpA
QCAtOTk3LDEwICs5OTcsNiBAQAogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCi0JCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHd0ZlxQbGF0Zm9ybS5oIgotCQkJPgotCQk8L0ZpbGU+Ci0JCTxGaWxlCiAJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQb3NzaWJseU51bGwuaCIKIAkJCT4KIAkJPC9GaWxl
PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzYmY2NWZmYmViMmY0MzliMGQwNTk4
ZmY1ZWRmOGMxY2QzYjVhOGE3Li4zNDhkNmNkN2YyMTcxMmYyODQ3MDg0ZmQ5YzM1MWJjMTJlMTgw
ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Myw3ICsxMDkzLDYgQEAK
IAkJNjVDNjQ3QjMwOTNFRjhENjAwMjJDMzgwIC8qIFJlZlB0ci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWZQdHIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NUM3QTE3MTBBOEVBQUNCMDBGQTM3RUEg
LyogSlNXcmFwcGVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1dyYXBwZXJPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
NUM3QTE3MjBBOEVBQUNCMDBGQTM3RUEgLyogSlNXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dyYXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2NURGQzkyQTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaEZ1bmN0aW9u
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
YXNoRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsK
IAkJNjVERkM5MkIwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hNYXAuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaE1hcC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1REZDOTJDMDhFQTE3M0EwMEY3MzAw
QiAvKiBIYXNoU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhhc2hTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB9OwpAQCAtMjE0MSw3ICsyMTQwLDYgQEAKIAkJCQk0NERENDg1MjBGQUVBODUwMDBENkI0RUIg
LyogUGFzc093blB0ci5oICovLAogCQkJCTY1ODBGNzk1MDk0MDcwNTYwMDgyQzIxOSAvKiBQYXNz
UmVmUHRyLmggKi8sCiAJCQkJNjUxRENBMDIxMzZBNkZBQjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMu
aCAqLywKLQkJCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLywKIAkJ
CQlBN0Q2NDlBOTEwMTUyMjRFMDA5QjJFMUIgLyogUG9zc2libHlOdWxsLmggKi8sCiAJCQkJMDg4
RkE1QjkwRUY3NkQ0MzAwNTc4RTZGIC8qIFJhbmRvbU51bWJlci5jcHAgKi8sCiAJCQkJMDg4RkE1
QkEwRUY3NkQ0MzAwNTc4RTZGIC8qIFJhbmRvbU51bWJlci5oICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggNzI0MjAxMjhhN2FmNTkxNjg4YWQ0NGZlNTFi
MGY1ODVlYTY3MmI2YS4uMzZlZTg3ZDIyNGYyMTdkNTU1N2JiYzg5MzA0MDUwYWMxYTc4NDI3NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC02OSw3ICs2OSw3
IEBAIFNFVChXVEZfSEVBREVSUwogICAgIFBhcmFsbGVsSm9ic0dlbmVyaWMuaAogICAgIFBhcmFs
bGVsSm9ic0xpYmRpc3BhdGNoLmgKICAgICBQYXJhbGxlbEpvYnNPcGVuTVAuaAotICAgIFBsYXRm
b3JtLmgKKyAgICAuLi8uLi9XVEYvd3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAog
ICAgIFJhbmRvbU51bWJlci5oCiAgICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5
ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1Bs
YXRmb3JtX2gKLQotLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNs
dWRlIDx3dGYvQ29tcGlsZXIuaD4KLQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVy
YXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8g
d2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1h
Y3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRp
b25zLiA9PT09ICovCi0jZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
UExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0K
LQotLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJv
cGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkg
KGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUp
Ci0vKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9u
cyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVB
VFVSRSkKLS8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUg
dXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1l
bW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRV
UkUpCi0KLQotLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9s
aWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0g
dXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZp
Y2UgKi8KLSNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZF
QVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBh
IHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVS
RSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJF
KQotCi0KLS8qID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAq
LwotCi0vKiBUaGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9F
TkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0g
REVDIEFscGhhICovCi0jaWYgZGVmaW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQ
SEEgMQotI2VuZGlmCi0KLS8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRl
ZmluZWQoX19pYTY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBv
biBJdGFuaXVtICovCi0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2
NF8zMiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwot
LyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIg
QUJJIGZvciBub3cuICAqLwotI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18p
IHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChf
QUJJTzMyKQotI2RlZmluZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykK
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19Q
SUMgKGRlZmluZWQgX19QSUNfXykKLSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZp
bmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJD
SCA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01J
UFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVW
IF9fbWlwc19pc2FfcmV2Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RG
X01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01J
UFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9f
bWlwc19zaW5nbGVfZmxvYXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBz
X2ZwciAmJiBfX21pcHNfZnByID09IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSAqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdO
TUVOVF9JTlRFR0VSIDEKLSNlbmRpZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQ
QyAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVk
KF9fUFBDX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRl
ZmluZWQoX19wb3dlcnBjKSAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5l
IFdURl9DUFVfUFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0v
KiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9f
KSBcCi0gICAgfHwgZGVmaW5lZChfX1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQot
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3Vw
ZXJIIFNILTQgKi8KLSNpZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVk
KF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQot
I2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQot
I2VuZGlmCi0KLS8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQo
X19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMz
MikgYW5kIENQVShTUEFSQzY0KSAqLwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAg
NjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFgg
MQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAt
IFMzOTAgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9T
MzkwIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2
KSAtIGkzODYgLyB4ODYgMzItYml0ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAg
fHwgZGVmaW5lZChpMzg2KSAgICAgXAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8
fCBkZWZpbmVkKF9YODZfKSAgICBcCi0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZp
bmUgV1RGX0NQVV9YODYgMQotI2VuZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRl
bDY0IC8geDg2XzY0IDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9YNjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0v
KiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRl
ZmluZWQoX0FSTV8pCi0jZGVmaW5lIFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1F
Ql9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwK
LSAgICAmJiAhZGVmaW5lZChfX0VBQklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18p
IFwKLSAgICAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9J
RCkKLSNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUg
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA+PSBOKQotCi0vKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQo
X19BUk1fQVJDSF80X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAg
IHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF81X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19NQVJNX0FSTVY1X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1WNl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdSX18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9U
QVJHRVRfQVJDSF9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVm
aW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfNUUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBc
Ci0gICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMg
YWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5B
X0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiAwCi0KLSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVKX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gNAotCi0vKiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5l
ZChfX1RBUkdFVF9BUkNIX1RIVU1CKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfVEhVTUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAwCi0jZW5kaWYKLQotCi0vKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9u
IHNldCB2NSBvciBlYXJsaWVyICovCi0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwg
YWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZm
ZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dF
UikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09S
X0xPV0VSIDEKLSNlbmRpZgotCi0KLS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlz
IG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwot
LyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUg
Ki8KLS8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5l
ZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIy
KQotIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8
ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9B
UkNIX1ZFUlNJT04gPT0gNCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAK
LSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9B
VF9MRUFTVCg0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBw
b3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElP
TkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fu
bm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9U
SFVNQjIgcGxhdGZvcm1zIgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElP
TkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9f
QVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQ
VV9BUk1fTkVPTiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkg
fHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9O
RUVEU19BTElHTkVEX0FDQ0VTUyAxCi0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWlu
ZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZl
bCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkg
dG9vbGtpdCA9PT09ICovCi0KLS8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFO
RFJPSUQKLSNkZWZpbmUgV1RGX09TX0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBB
SVggKi8KLSNpZmRlZiBfQUlYCi0jZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9T
KERBUldJTikgLSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQ
aG9uZSBPUyAqLwotI2lmZGVmIF9fQVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQot
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5o
PgotI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykg
LSBpT1MgKi8KLS8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykg
Ki8KLSNpZiBPUyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRB
UkdFVF9PU19FTUJFRERFRCkgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYm
IFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFS
R0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZp
bmUgV1RGX09TX0lPUyAxCi0jZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01B
QykgJiYgVEFSR0VUX09TX01BQwotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6
IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVk
IGludG8gdGhlIE9TKCkgc3lzdGVtICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8x
MF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8x
MF82Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09T
X1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElP
TiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5l
IFRBUkdFVElOR19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBf
NykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEw
XzcKLSNkZWZpbmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFD
X09TX1hfVkVSU0lPTl8xMF84Ci0jZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2Vu
ZGlmCi0KLS8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNE
X18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVs
X18pCi0jZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdO
VS9IdXJkICovCi0jaWZkZWYgX19HTlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYK
LQotLyogT1MoTElOVVgpIC0gTGludXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RG
X09TX0xJTlVYIDEKLSNlbmRpZgotCi0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVm
aW5lZChfX05ldEJTRF9fKQotI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBP
UyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZf
T1NfT1BFTkJTRCAxCi0jZW5kaWYKLQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQo
X19RTlhOVE9fXykKLSNkZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJ
UykgLSBTb2xhcmlzICovCi0jaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVm
aW5lIFdURl9PU19TT0xBUklTIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENF
OyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVk
ICovCi0jaWYgZGVmaW5lZChfV0lOMzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2Vu
ZGlmCi0KLS8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRl
ZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAx
Ci0jZW5kaWYKLQotI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9T
IE5PVCBXSU4iCi0jZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9T
IE5PVCBNQUMiCi0KLS8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAg
IE9TKEFJWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0g
ICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAg
IFwKLSAgICB8fCBPUyhIVVJEKSAgICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAg
ICAgICAgXAotICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNE
KSAgICAgICAgICBcCi0gICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNP
TEFSSVMpICAgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwg
ZGVmaW5lZChfX3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5l
IFdURl9PU19VTklYIDEKLSNlbmRpZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0K
LS8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1l
bnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQ
TEFURk9STShRVCkgKi8KLS8qIFBMQVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwot
LyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRG
T1JNKFdJTikgKi8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9DSFJPTUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJS
WV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX1dJTiAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklY
TUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMg
Zm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURE
RUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkg
JiYgVEFSR0VUX09TX0lQSE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYK
LQotLyogUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhP
TkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExB
VEZPUk1fSU9TIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfUExBVEZPUk1fSU9TKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRp
ZgotCi0vKiBHcmFwaGljcyBlbmdpbmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJ
KSAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNF
X0NHIDEKLSNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0v
KiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQotI2lmIE9TKERBUldJTikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0j
ZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRp
ZgotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQot
I2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RG
X1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9E
UkFHX1NVUFBPUlQgMAotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9V
U0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYK
LQotCi0jaWYgT1MoV0lOQ0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNF
X01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBR
dWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNk
ZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lm
IE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdp
bmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZp
bmUgTk9TSExXQVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8K
LQotLyogTVNETiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRl
ZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVm
aW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lO
Q19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQot
Ci0jZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9S
TShRVCkKLSNpZm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9V
TklDT0RFIDEKLSNlbmRpZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0Vf
VU5JQ09ERSAxCi0jZWxpZiBQTEFURk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tl
bmQgaXMgY29uZmlndXJhYmxlICovCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RF
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9V
U0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5l
IEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAx
Ci0jZGVmaW5lIFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2Vu
ZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQgMQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0j
ZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJf
QVVESU8gMQotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9f
VFJBQ0sgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9M
SU9OKQotI2RlZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5k
aWYKLSNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQ
TEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNk
ZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQot
Ci0jZGVmaW5lIFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShJT1MpCi0jZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NG
IDEKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAm
JiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVf
Q09OVEVYVF9NRU5VUyAwCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2Rl
ZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAK
LSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAw
Ci0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09S
SUVOVEFUSU9OX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQot
I2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRB
X0FSUkFZX0NBTExCQUNLIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5l
IEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBX
VEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKLQotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBF
TkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAg
ICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NM
QVNTSUNfSU5URVJQUkVURVIgMAotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMQotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgot
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZf
VVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9S
TShXSU5fQ0FJUk8pCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYg
VVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5l
IFdURl9VU0VfQ0ZVUkxDQUNIRSAxCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElW
RSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNk
ZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gp
Ci0jaWYgIUNQVShQUEMpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFC
TEVfSklUIDEKLSNlbmRpZgotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAK
LSNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0Vf
Q0YgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJD
SElWRSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRI
UkVBRF9IKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFE
X1JXTE9DSyAxCi0jZW5kaWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmlu
ZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1Mp
IHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0j
ZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkK
LSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFT
UFJJTlRGKQotI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJ
TEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9W
QVNQUklOVEYgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikK
LSNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQot
I2RlZmluZSBIQVZFX1NUUk5TVFIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dT
KSAmJiAhT1MoU09MQVJJUykgXAotICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJP
SUQpCi0jZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNk
ZWZpbmUgSEFWRV9USU1FR00gMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9N
TUFQIDEKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUg
V1RGX1VTRV9BQ0NFTEVSQVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVm
aW5lIEhBVkVfRElTUEFUQ0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9O
IDEKLQotI2lmICFQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEK
LSNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O
UCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVf
TUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0K
LSNlbGlmIE9TKFdJTkRPV1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19I
IDAKLSNlbHNlCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdO
RURfTUFMTE9DIDEKLSNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNk
ZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVf
UkVVU0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0j
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxp
ZiBPUyhBTkRST0lEKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFO
R0lORk9fSCAwCi0jZGVmaW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5l
IEhBVkVfU1lTX1RJTUVfSCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5
IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8g
Ki8KLQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQot
I2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19U
SU1FX0ggMQotCi0jZW5kaWYKLQotLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQ
TEFURk9STShRVCkKLS8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9y
IG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JB
TF9GQVNUTUFMTE9DX05FVyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFM
TE9DIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBh
bGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5
IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVO
QUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJM
RV9TUUxfREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikKLSNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVO
QUJMRV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5B
QkxFX0pBVkFfQlJJREdFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBF
X1BMVUdJTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkK
LSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVf
UFVSR0VBQkxFX01FTU9SWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lO
X0hPU1RfUFJPQ0VTUykKLSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUg
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9PUENPREVfU1RBVFMpCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFC
TEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJV
R19XSVRIX0JSRUFLUE9JTlQgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
UkVHSU9OUyAwCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFC
TEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAm
JiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJl
cXVpcmVzIE9QQ09ERV9TQU1QTElORyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJ
TkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMp
Ci0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQ
T1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVm
aW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQot
I2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9URVhUX0NBUkVUKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNk
ZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9V
U0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BV
KFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2
NCkgJiYgIUNQVShJQTY0XzMyKSkgXAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShT
UEFSQzY0KSBcCi0gICAgfHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmlu
ZSBXVEZfVVNFX0pTVkFMVUU2NCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82
NCAxCi0jZW5kaWYKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRl
ZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQ
QUlOVF9USFJPVFRMSU5HKQotI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNl
bmRpZgotCi0vKiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQu
MSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19W
RVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0K
LS8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUg
RU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQg
b24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShB
Uk0pIHx8IENQVShNSVBTKSkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0Mp
IHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBc
Ci0gICAgJiYgIU9TKFFOWCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24g
c29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxz
byBoYXZlIHRoZSAKLSAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShR
VCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVm
aW5lIEVOQUJMRV9MTElOVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklU
KSAmJiBFTkFCTEUoSklUKQotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0
LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8
IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAg
T25seSB0ZXN0ZWQgb24gaU9TLiAqLwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2Zp
bGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5k
cyBvbiBpdCwgYnV0IHlvdQotICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJu
ZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVy
LiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0Vf
VkFMVUVfUFJPRklMRQotICAgYmVsb3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BS
T0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVS
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkg
JiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJ
TElORykKLSNkZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQot
LyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMu
IEJlIHN1cmUgdG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAq
LwotI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUg
RU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhh
dCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQp
Ci0jZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5B
QkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZl
IHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpT
QwotI2VuZGlmCi0KLSNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxF
X0pJVCAxCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQot
I2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoNSkKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklU
X1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09N
UElMRVIoTVNWQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUo
WDg2KSAmJiBDT01QSUxFUihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVf
XyAoKGZhc3RjYWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0v
KiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZD
VF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2Rl
ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RP
KSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNz
aW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRz
IGR1bXBlZCBhdCBleGl0ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8q
IFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklU
IGVuYWJsZWQgcG9ydHMuICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVCAwCi0KLSNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJS
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcg
Y29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmlu
ZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBF
TkFCTEUoWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8q
IFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUg
YWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQg
d2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9u
IGRlbWFuZC4gKi8KLSNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBM
QVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEK
LSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhX
SU5ET1dTKQotI2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNk
ZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJl
YW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2Ug
dGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBM
QVRGT1JNKFFUKQotI2lmICFVU0UoTElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFN
IDEKLSNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykKLS8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJ
TkdfT05fTEVPUEFSRAotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9V
U0VfQ09SRV9URVhUIDAKLSNlbmRpZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFU
KSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8p
KSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcgMQotI2VuZGlmCi0KLS8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktp
dDIgKi8KLSNpZiBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lU
SU5HIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9O
X1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAm
JiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKSkpCi0jZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNl
bmRpZgotCi0vKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50
ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJv
ci4gKi8KLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hv
dWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hv
dWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZp
bmUuICovCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFU
Rk9STV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZF
KEFDQ0VTU0lCSUxJVFkpCi0jZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01F
TlVTIDEKLSNlbmRpZgotCi0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRp
dmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcg
bG9jYXRpb24uICovCi0jZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNT
SU9OIDEKLQotI2lmIENQVShBUk1fVEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBB
Q1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BB
VENIKSAmJiBIQVZFKERJU1BBVENIX0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElT
UEFUQ0ggMQotI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmlu
ZWQoX09QRU5NUCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRl
ZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJ
QyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dv
YmplY3QvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0
IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2lu
Y2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFk
ZGluZyBuZXcgaGVhZGVycwotICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBh
bmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25l
IHBvcnQgYXQgYSB0aW1lLiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKFdYKQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFU
KSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVm
aW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJF
X0FORF9TV0FQIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAm
JiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5B
QkxFKENPTVBBUkVfQU5EX1NXQVApCi0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5k
aWYKLQotI2lmbmRlZiBOREVCVUcKLSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZp
bmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9MSU9OKQotI2RlZmluZSBXVEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX1RJTUVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
X0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQotI2RlZmluZSBIQVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBX
VEZfVVNFX1Y4IDEKLSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0j
aWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyog
IWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcg
SlNDIGFuZCB2aWNlIHZlcnNhICovCi0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0K
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFC
TEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZf
VVNFX1dURlVSTCkKLSNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElC
IDEKLSNlbmRpZgotCi0jZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBhNTI2ZjRhMzdmMzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3
NjEyNTMxZjNmYmU0YzE5MWM2OGYzNzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0xLDMgKzEsNCBAQAogd3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5j
cHAgXAotCVNvdXJjZS9XVEYvU3R1Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9T
b3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2
MWVhYzViZDAuLjcxYzY3NGM4NDQ5Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAt
Myw2ICszLDcgQEAKICAgICAgICAgJ3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZf
cHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAg
ICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsK
ICAgICAgICAgICAgICdTdHViLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8g
Yi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYx
ZDZjMGMzNTc3OC4uYzRlMGU5MGNlNWMzNzQyZTIxYTM0ZGZmZTVmZWExMDViN2IyMTMwMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAt
MTAyLDcgKzEwMiw3IEBAIEhFQURFUlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFz
c1JlZlB0ci5oIFwKICAgICBQYXNzVHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4u
Ly4uL1dURi93dGYvUGxhdGZvcm0uaFBsYXRmb3JtLmggXAogICAgIFBvc3NpYmx5TnVsbC5oIFwK
ICAgICBxdC9VdGlsc1F0LmggXAogICAgIFJhbmRvbU51bWJlci5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0wLDAgKzEsMTIxMCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2Jp
bGUsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9QbGF0Zm9y
bV9oCisjZGVmaW5lIFdURl9QbGF0Zm9ybV9oCisKKy8qIEluY2x1ZGUgY29tcGlsZXIgc3BlY2lm
aWMgbWFjcm9zICovCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKy8qID09PT0gUExBVEZP
Uk0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFwaGljcyBBUEksIGFuZAor
ICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBmYXZvciBvZiBwbGF0Zm9y
bSBhZGFwdGF0aW9uCisgICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBtYWNyb3MsIGFuZCB0b3At
bGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gPT09PSAqLworI2RlZmluZSBQTEFURk9STShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9QTEFURk9S
TV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gUGxhdGZvcm0gYWRhcHRhdGlvbiBtYWNyb3M6
IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBlbnZpcm9ubWVudC4gPT09
PSAqLworCisvKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSAqLworI2RlZmlu
ZSBDUFUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZfRkVBVFVSRSAgJiYgV1RG
X0NQVV8jI1dURl9GRUFUVVJFKQorLyogSEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZlYXR1cmVz
IChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBvciBub3Qg
Ki8KKyNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9GRUFUVVJF
ICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCisvKiBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcg
c3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBs
aWtlIAorICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCAqLwor
I2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMjV1RGX0ZFQVRVUkUgICYm
IFdURl9PU18jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gUG9saWN5IGRlY2lzaW9uIG1hY3Jv
czogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIgcG9ydC4gPT09
PSAqLworCisvKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQtcGFydHkgbGlicmFyeSBv
ciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCisjZGVmaW5lIFVTRShXVEZfRkVBVFVSRSkgKGRlZmlu
ZWQgV1RGX1VTRV8jI1dURl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUpCisvKiBF
TkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCAqLworI2RlZmlu
ZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9GRUFUVVJFICAmJiBF
TkFCTEVfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IENQVSgpIC0gdGhlIHRhcmdldCBDUFUg
YXJjaGl0ZWN0dXJlID09PT0gKi8KKworLyogVGhpcyBhbHNvIGRlZmluZXMgQ1BVKEJJR19FTkRJ
QU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0ZS4gKi8K
KworLyogQ1BVKEFMUEhBKSAtIERFQyBBbHBoYSAqLworI2lmIGRlZmluZWQoX19hbHBoYV9fKQor
I2RlZmluZSBXVEZfQ1BVX0FMUEhBIDEKKyNlbmRpZgorCisvKiBDUFUoSUE2NCkgLSBJdGFuaXVt
IC8gSUEtNjQgKi8KKyNpZiBkZWZpbmVkKF9faWE2NF9fKQorI2RlZmluZSBXVEZfQ1BVX0lBNjQg
MQorLyogMzItYml0IG1vZGUgb24gSXRhbml1bSAqLworI2lmICFkZWZpbmVkKF9fTFA2NF9fKQor
I2RlZmluZSBXVEZfQ1BVX0lBNjRfMzIgMQorI2VuZGlmCisjZW5kaWYKKworLyogQ1BVKE1JUFMp
IC0gTUlQUyAzMi1iaXQgKi8KKy8qIE5vdGU6IE9ubHkgTzMyIEFCSSBpcyB0ZXN0ZWQsIHNvIHdl
IGVuYWJsZSBpdCBmb3IgTzMyIEFCSSBmb3Igbm93LiAgKi8KKyNpZiAoZGVmaW5lZChtaXBzKSB8
fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmluZWQoX01JUFNfKSkg
XAorICAgICYmIGRlZmluZWQoX0FCSU8zMikKKyNkZWZpbmUgV1RGX0NQVV9NSVBTIDEKKyNpZiBk
ZWZpbmVkKF9fTUlQU0VCX18pCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYK
KyNkZWZpbmUgV1RGX01JUFNfUElDIChkZWZpbmVkIF9fUElDX18pCisjZGVmaW5lIFdURl9NSVBT
X0FSQ0ggX19taXBzCisjZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVmaW5lZCBXVEZfTUlQU19B
UkNIICYmIFdURl9NSVBTX0FSQ0ggPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfSVNBX0FUX0xFQVNU
KHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA+PSB2KQorI2RlZmlu
ZSBXVEZfTUlQU19BUkNIX1JFViBfX21pcHNfaXNhX3JldgorI2RlZmluZSBXVEZfTUlQU19JU0Ff
UkVWKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9NSVBTX0FSQ0hfUkVWID09
IHYpCisjZGVmaW5lIFdURl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5lZCBfX21pcHNfaGFyZF9m
bG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQorI2RlZmluZSBXVEZfTUlQU19G
UDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkKKy8qIE1JUFMgcmVx
dWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KKyNkZWZpbmUgV1RGX1VT
RV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYgLyogTUlQUyAqLworCisv
KiBDUFUoUFBDKSAtIFBvd2VyUEMgMzItYml0ICovCisjaWYgICBkZWZpbmVkKF9fcHBjX18pICAg
ICBcCisgICAgfHwgZGVmaW5lZChfX1BQQ19fKSAgICAgXAorICAgIHx8IGRlZmluZWQoX19wb3dl
cnBjX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCisgICAgfHwgZGVmaW5lZChf
X1BPV0VSUENfXykgXAorICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAgIFwKKyAgICB8fCBkZWZp
bmVkKF9fUFBDKQorI2RlZmluZSBXVEZfQ1BVX1BQQyAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VO
RElBTiAxCisjZW5kaWYKKworLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMgNjQtYml0ICovCisjaWYg
ICBkZWZpbmVkKF9fcHBjNjRfXykgXAorICAgIHx8IGRlZmluZWQoX19QUEM2NF9fKQorI2RlZmlu
ZSBXVEZfQ1BVX1BQQzY0IDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgor
CisvKiBDUFUoU0g0KSAtIFN1cGVySCBTSC00ICovCisjaWYgZGVmaW5lZChfX1NINF9fKQorI2Rl
ZmluZSBXVEZfQ1BVX1NINCAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDMzIpIC0gU1BBUkMgMzIt
Yml0ICovCisjaWYgZGVmaW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChfX2FyY2g2NF9fKSB8fCBk
ZWZpbmVkKF9fc3BhcmN2OCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzMyIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkM2NCkgLSBTUEFSQyA2NC1i
aXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChfX2FyY2g2NF9fKSB8fCBk
ZWZpbmVkIChfX3NwYXJjdjkpCisjZGVmaW5lIFdURl9DUFVfU1BBUkM2NCAxCisjZGVmaW5lIFdU
Rl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDKSAtIGFueSBTUEFSQywg
dHJ1ZSBmb3IgQ1BVKFNQQVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8KKyNpZiBDUFUoU1BBUkMz
MikgfHwgQ1BVKFNQQVJDNjQpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMgMQorI2VuZGlmCisKKy8q
IENQVShTMzkwWCkgLSBTMzkwIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zMzkweF9fKQorI2Rl
ZmluZSBXVEZfQ1BVX1MzOTBYIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRp
ZgorCisvKiBDUFUoUzM5MCkgLSBTMzkwIDMyLWJpdCAqLworI2lmIGRlZmluZWQoX19zMzkwX18p
CisjZGVmaW5lIFdURl9DUFVfUzM5MCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisj
ZW5kaWYKKworLyogQ1BVKFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAqLworI2lmICAgZGVmaW5l
ZChfX2kzODZfXykgXAorICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwKKyAgICB8fCBkZWZpbmVk
KF9NX0lYODYpICBcCisgICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAorICAgIHx8IGRlZmluZWQo
X19USFdfSU5URUwpCisjZGVmaW5lIFdURl9DUFVfWDg2IDEKKyNlbmRpZgorCisvKiBDUFUoWDg2
XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X194ODZfNjRfXykgXAorICAgIHx8IGRlZmluZWQoX01fWDY0KQorI2RlZmluZSBXVEZfQ1BVX1g4
Nl82NCAxCisjZW5kaWYKKworLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2ZXJzaW9uKi8KKyNpZiAg
IGRlZmluZWQoYXJtKSBcCisgICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCisgICAgfHwgZGVmaW5l
ZChBUk0pIFwKKyAgICB8fCBkZWZpbmVkKF9BUk1fKQorI2RlZmluZSBXVEZfQ1BVX0FSTSAxCisK
KyNpZiBkZWZpbmVkKF9fQVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1QpICYmIGRlZmluZWQoX19C
SUdfRU5ESUFOKSkKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKworI2VsaWYgIWRlZmlu
ZWQoX19BUk1fRUFCSV9fKSBcCisgICAgJiYgIWRlZmluZWQoX19FQUJJX18pIFwKKyAgICAmJiAh
ZGVmaW5lZChfX1ZGUF9GUF9fKSBcCisgICAgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkgXAorICAg
ICYmICFkZWZpbmVkKEFORFJPSUQpCisjZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCisK
KyNlbmRpZgorCisjZGVmaW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChOKSAoQ1BVKEFSTSkgJiYg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gPj0gTikKKworLyogU2V0IFdURl9BUk1fQVJDSF9WRVJTSU9O
ICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNF9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzRUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNF9fKSBcCisgICAgfHwg
ZGVmaW5lZChfQVJNVjRJXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNAorCisjZWxp
ZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVU
X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQorI2RlZmluZSBXVEZfQVJNX0FS
Q0hfVkVSU0lPTiA1CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVU
RUpfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJlcXVpcmVz
IGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVO
QV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82
X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKKyAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FS
Q0hfNlQyX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKKyNkZWZpbmUgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gNgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA3
CisKKy8qIFJWQ1Qgc2V0cyBfVEFSR0VUX0FSQ0hfQVJNICovCisjZWxpZiBkZWZpbmVkKF9fVEFS
R0VUX0FSQ0hfQVJNKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNI
X0FSTQorCisjaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVmaW5lZChf
X1RBUkdFVF9BUkNIXzVURSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQor
LypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNk
ZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKwor
I2Vsc2UKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gMAorCisjZW5kaWYKKworLyogU2V0
IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80VF9f
KQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDEKKworI2VsaWYgZGVmaW5lZChfX0FS
TV9BUkNIXzVUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJT
SU9OIDIKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVk
KF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisg
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZNX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMworCisjZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN19fKSBc
CisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfN1JfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83TV9fKQorI2RlZmluZSBX
VEZfVEhVTUJfQVJDSF9WRVJTSU9OIDQKKworLyogUlZDVCBzZXRzIF9fVEFSR0VUX0FSQ0hfVEhV
TUIgKi8KKyNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikKKyNkZWZpbmUgV1RGX1RI
VU1CX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX1RIVU1CCisKKyNlbHNlCisjZGVmaW5lIFdU
Rl9USFVNQl9BUkNIX1ZFUlNJT04gMAorI2VuZGlmCisKKworLyogQ1BVKEFSTVY1X09SX0xPV0VS
KSAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLworLyogT24gQVJNdjUgYW5k
IGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4gCisgICBBbmQgdGhlcmUg
YXJlIHNvbWUgb3RoZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIuICovCisjaWYgIWRl
ZmluZWQoQVJNVjVfT1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNikKKyNkZWZp
bmUgV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAxCisjZW5kaWYKKworCisvKiBDUFUoQVJNX1RSQURJ
VElPTkFMKSAtIFRodW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRpdGlvbmFsIEFSTSAo
djQgb3IgZ3JlYXRlcikgKi8KKy8qIENQVShBUk1fVEhVTUIyKSAtIFRodW1iMiBpbnN0cnVjdGlv
biBzZXQgaXMgYXZhaWxhYmxlICovCisvKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJlIGRlZmlu
ZWQuICovCisjaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVk
KFdURl9DUFVfQVJNX1RIVU1CMikKKyMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9f
dGh1bWIyX18pIFwKKyAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwgZGVmaW5lZChfX3RodW1i
X18pKSAmJiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCisjICAgIGRlZmluZSBXVEZfQ1BV
X0FSTV9UUkFESVRJT05BTCAwCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMQorIyAg
ZWxpZiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNCkKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RS
QURJVElPTkFMIDEKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAwCisjICBlbHNlCisj
ICAgIGVycm9yICJOb3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUiCisjICBlbmRpZgorI2Vs
aWYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8qIFNhbml0eSBDaGVj
ayAqLworIyAgZXJyb3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FSTV9UUkFESVRJT05B
TCBhbmQgV1RGX0NQVV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKKyNlbmRpZiAvKiAhZGVmaW5lZChX
VEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKSAq
LworCisjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX05F
T04pCisjZGVmaW5lIFdURl9DUFVfQVJNX05FT04gMQorI2VuZGlmCisKKyNlbmRpZiAvKiBBUk0g
Ki8KKworI2lmIENQVShBUk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0KSB8fCBDUFUoU1BBUkMp
CisjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQorI2VuZGlmCisKKy8qID09
PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZv
ciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBu
b3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLworCisvKiBPUyhBTkRST0lEKSAtIEFu
ZHJvaWQgKi8KKyNpZmRlZiBBTkRST0lECisjZGVmaW5lIFdURl9PU19BTkRST0lEIDEKKyNlbmRp
ZgorCisvKiBPUyhBSVgpIC0gQUlYICovCisjaWZkZWYgX0FJWAorI2RlZmluZSBXVEZfT1NfQUlY
IDEKKyNlbmRpZgorCisvKiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1iYXNlZCBPUywgaW5jbHVk
aW5nIE1hYyBPUyBYIGFuZCBpUGhvbmUgT1MgKi8KKyNpZmRlZiBfX0FQUExFX18KKyNkZWZpbmUg
V1RGX09TX0RBUldJTiAxCisKKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxB
dmFpbGFiaWxpdHlNYWNyb3MuaD4KKyNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KKyNl
bmRpZgorCisvKiBPUyhJT1MpIC0gaU9TICovCisvKiBPUyhNQUNfT1NfWCkgLSBNYWMgT1MgWCAo
bm90IGluY2x1ZGluZyBpT1MpICovCisjaWYgT1MoREFSV0lOKSAmJiAoKGRlZmluZWQoVEFSR0VU
X09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIFwKKyAgICB8fCAoZGVmaW5lZChU
QVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAgICAgICAgICAgICAgXAor
ICAgIHx8IChkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05F
X1NJTVVMQVRPUikpCisjZGVmaW5lIFdURl9PU19JT1MgMQorI2VsaWYgT1MoREFSV0lOKSAmJiBk
ZWZpbmVkKFRBUkdFVF9PU19NQUMpICYmIFRBUkdFVF9PU19NQUMKKyNkZWZpbmUgV1RGX09TX01B
Q19PU19YIDEKKy8qIEZJWE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRBUkdFVElORy4uLiBtYWNy
b3Mgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAqLworI2lmICFkZWZpbmVk
KE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8
IE1BQ19PU19YX1ZFUlNJT05fMTBfNgorI2RlZmluZSBCVUlMRElOR19PTl9MRU9QQVJEIDEKKyNl
bGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVm
aW5lIEJVSUxESU5HX09OX0xJT04gMQorI2VuZGlmCisjaWYgIWRlZmluZWQoTUFDX09TX1hfVkVS
U0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZF
UlNJT05fMTBfNgorI2RlZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIFRBUkdFVElOR19TTk9XX0xFT1BBUkQgMQor
I2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBUQVJHRVRJTkdf
TElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBPUyhGUkVFQlNEKSAtIEZyZWVCU0QgKi8KKyNp
ZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmlu
ZWQoX19GcmVlQlNEX2tlcm5lbF9fKQorI2RlZmluZSBXVEZfT1NfRlJFRUJTRCAxCisjZW5kaWYK
KworLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLworI2lmZGVmIF9fR05VX18KKyNkZWZpbmUgV1RG
X09TX0hVUkQgMQorI2VuZGlmCisKKy8qIE9TKExJTlVYKSAtIExpbnV4ICovCisjaWZkZWYgX19s
aW51eF9fCisjZGVmaW5lIFdURl9PU19MSU5VWCAxCisjZW5kaWYKKworLyogT1MoTkVUQlNEKSAt
IE5ldEJTRCAqLworI2lmIGRlZmluZWQoX19OZXRCU0RfXykKKyNkZWZpbmUgV1RGX09TX05FVEJT
RCAxCisjZW5kaWYKKworLyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICovCisjaWZkZWYgX19PcGVu
QlNEX18KKyNkZWZpbmUgV1RGX09TX09QRU5CU0QgMQorI2VuZGlmCisKKy8qIE9TKFFOWCkgLSBR
TlggKi8KKyNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCisjZGVmaW5lIFdURl9PU19RTlggMQorI2Vu
ZGlmCisKKy8qIE9TKFNPTEFSSVMpIC0gU29sYXJpcyAqLworI2lmIGRlZmluZWQoc3VuKSB8fCBk
ZWZpbmVkKF9fc3VuKQorI2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCisjZW5kaWYKKworLyogT1Mo
V0lOQ0UpIC0gV2luZG93cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBsYXRmb3JtIE9TKFdJTkRP
V1MpIGlzIGFsc28gZGVmaW5lZCAqLworI2lmIGRlZmluZWQoX1dJTjMyX1dDRSkKKyNkZWZpbmUg
V1RGX09TX1dJTkNFIDEKKyNlbmRpZgorCisvKiBPUyhXSU5ET1dTKSAtIEFueSB2ZXJzaW9uIG9m
IFdpbmRvd3MgKi8KKyNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikKKyNkZWZp
bmUgV1RGX09TX1dJTkRPV1MgMQorI2VuZGlmCisKKyNkZWZpbmUgV1RGX09TX1dJTiBFUlJPUiAi
VVNFIFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgorI2RlZmluZSBXVEZfT1NfTUFDIEVSUk9SICJV
U0UgTUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgorCisvKiBPUyhVTklYKSAtIEFueSBVbml4LWxp
a2Ugc3lzdGVtICovCisjaWYgICBPUyhBSVgpICAgICAgICAgICAgICBcCisgICAgfHwgT1MoQU5E
Uk9JRCkgICAgICAgICAgXAorICAgIHx8IE9TKERBUldJTikgICAgICAgICAgIFwKKyAgICB8fCBP
UyhGUkVFQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoSFVSRCkgICAgICAgICAgICAgXAorICAg
IHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKKyAgICB8fCBPUyhORVRCU0QpICAgICAgICAgICBc
CisgICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKFFOWCkgICAgICAgICAg
ICAgIFwKKyAgICB8fCBPUyhTT0xBUklTKSAgICAgICAgICBcCisgICAgfHwgZGVmaW5lZCh1bml4
KSAgICAgICAgXAorICAgIHx8IGRlZmluZWQoX191bml4KSAgICAgIFwKKyAgICB8fCBkZWZpbmVk
KF9fdW5peF9fKQorI2RlZmluZSBXVEZfT1NfVU5JWCAxCisjZW5kaWYKKworLyogT3BlcmF0aW5n
IGVudmlyb25tZW50cyAqLworCisvKiBGSVhNRTogdGhlc2UgYXJlIGFsbCBtaXhlcyBvZiBPUywg
b3BlcmF0aW5nIGVudmlyb25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4gKi8KKy8qIFBMQVRGT1JN
KENIUk9NSVVNKSAqLworLyogUExBVEZPUk0oUVQpICovCisvKiBQTEFURk9STShXWCkgKi8KKy8q
IFBMQVRGT1JNKEdUSykgKi8KKy8qIFBMQVRGT1JNKEJMQUNLQkVSUlkpICovCisvKiBQTEFURk9S
TShNQUMpICovCisvKiBQTEFURk9STShXSU4pICovCisjaWYgZGVmaW5lZChCVUlMRElOR19DSFJP
TUlVTV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQorI2VsaWYgZGVmaW5lZChC
VUlMRElOR19RVF9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQorI2VsaWYgZGVmaW5lZChC
VUlMRElOR19XWF9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQorI2VsaWYgZGVmaW5lZChC
VUlMRElOR19HVEtfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAxCisjZWxpZiBkZWZpbmVk
KEJVSUxESU5HX0JMQUNLQkVSUllfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0JMQUNLQkVSUlkg
MQorI2VsaWYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfUExBVEZPUk1fTUFDIDEKKyNlbGlmIE9T
KFdJTkRPV1MpCisjZGVmaW5lIFdURl9QTEFURk9STV9XSU4gMQorI2VuZGlmCisKKy8qIFBMQVRG
T1JNKElPUykgKi8KKy8qIEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGFuIE9TIHN3
aXRjaCBhbmQgc29tZXRpbWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdzICovCisjaWYgKGRlZmlu
ZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIHx8IChkZWZpbmVk
KFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9JT1MgMQorI2VuZGlmCisKKy8qIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpICovCisjaWYg
ZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFU
T1IKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1Nf
U0lNVUxBVE9SIDEKKyNlbHNlCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1NfU0lNVUxBVE9SIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykKKyNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPUyAwCisjZW5kaWYKKworLyogR3JhcGhpY3MgZW5naW5lcyAqLworCisvKiBVU0Uo
Q0cpIGFuZCBQTEFURk9STShDSSkgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkKKyNkZWZpbmUgV1RGX1VT
RV9DQSAxCisjZW5kaWYKKworLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgvTWFjL0FuZHJvaWQg
Ki8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFf
T05fTUFDX0NIUk9NSVVNKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9DRyAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdU
Rl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKKyNlbGlmIE9TKEFO
RFJPSUQpCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdURl9VU0VfR0xFUzJfUkVO
REVSSU5HIDAKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdURl9VU0Vf
Q0hST01JVU1fTkVUIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShCTEFDS0JFUlJZ
KQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKKyNkZWZpbmUgVVNFX1NZU1RFTV9NQUxM
T0MgMQorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQorI2RlZmluZSBX
VEZfVVNFX1NLSUEgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjZGVmaW5lIFdURl9V
U0VfQ0FJUk8gMQorI2VuZGlmCisKKworI2lmIE9TKFdJTkNFKQorI2luY2x1ZGUgPGNlX3RpbWUu
aD4KKyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNlbmRpZgorCisv
KiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgYnkgZGVmYXVsdCAqLwor
I2lmIE9TKFdJTkRPV1MpCisjZGVmaW5lIFdURl9VU0VfUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRF
UiAgMQorI2VuZGlmCisKKyNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBO
T01JTk1BWCAgICAgICAvKiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZsaWN0IHdpdGggc3RhbmRh
cmQgbWFjcm9zICovCisjZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNobHdhcGkuaCBub3QgYXZh
aWxhYmxlIG9uIFdpbkNlICovCisKKy8qIE1TRE4gZG9jdW1lbnRhdGlvbiBzYXlzIHRoZXNlIGZ1
bmN0aW9ucyBhcmUgcHJvdmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQgd2UgY2Fubm90IGZpbmQg
dGhpcyBmaWxlLiAqLworI2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBkaXNhYmxlICJ1c3AxMC5o
IiAqLworCisjZGVmaW5lIF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUgImFzc2VydC5oIiAqLwor
I2RlZmluZSBhc3NlcnQoeCkKKworI2VuZGlmICAvKiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFU
KSAqLworCisjaWYgUExBVEZPUk0oUVQpCisjaWZuZGVmIFdURl9VU0VfSUNVX1VOSUNPREUKKyNk
ZWZpbmUgV1RGX1VTRV9RVDRfVU5JQ09ERSAxCisjZW5kaWYKKyNlbGlmIE9TKFdJTkNFKQorI2Rl
ZmluZSBXVEZfVVNFX1dJTkNFX1VOSUNPREUgMQorI2VsaWYgUExBVEZPUk0oR1RLKQorLyogVGhl
IEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLworI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9JQ1VfVU5JQ09ERSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBM
QVRGT1JNKElPUykKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiBDUFUoWDg2
XzY0KQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQorI2VuZGlmCisjaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKQorI2RlZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMgMQorI2RlZmluZSBFTkFC
TEVfUlVCQkVSX0JBTkRJTkcgMQorI2RlZmluZSBXVEZfVVNFX1NDUk9MTEJBUl9QQUlOVEVSIDEK
KyNlbmRpZgorI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxF
X0pBVkFfQlJJREdFIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKKyNlbmRpZgorI2RlZmlu
ZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVf
UFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUgSEFWRV9S
VU5MT09QX1RJTUVSIDEKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNkZWZpbmUg
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQor
I2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKKyNpZiBkZWZpbmVkKEVOQUJMRV9WSURFTykKKyNk
ZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgSEFWRV9MQVlFUl9IT1NUSU5HX0lOX1dJ
TkRPV19TRVJWRVIgMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiAhUExBVEZP
Uk0oSU9TKSAqLworCisjaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKKyNkZWZp
bmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZF
X1BUSFJFQURfUldMT0NLIDEKKworI2RlZmluZSBXVEZfVVNFX1dLX1NDUk9MTEJBUl9QQUlOVEVS
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBET05UX0ZJTkFMSVpFX09O
X01BSU5fVEhSRUFEIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oUVQpICYmIE9TKERBUldJTikK
KyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZW5kaWYK
KworI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFUKQorI2Rl
ZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAorI2RlZmluZSBFTkFCTEVfRFJBR19T
VVBQT1JUIDAKKyNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAorI2RlZmluZSBF
TkFCTEVfRlRQRElSIDEKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEKKyNkZWZpbmUgRU5B
QkxFX0lDT05EQVRBQkFTRSAwCisjZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQorI2RlZmluZSBF
TkFCTEVfSkFWQV9CUklER0UgMAorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAw
CisjZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMQorI2RlZmluZSBFTkFCTEVfUkVQ
QUlOVF9USFJPVFRMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZpbmUg
SEFWRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCisjZGVmaW5lIEhBVkVfUFRIUkVB
RF9SV0xPQ0sgMQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUgSEFWRV9SVU5MT09Q
X1RJTUVSIDAKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JL
IDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisKKyNpZiBQTEFURk9STShJT1NfU0lNVUxB
VE9SKQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorICAgICNkZWZp
bmUgRU5BQkxFX0pJVCAwCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAorI2Vsc2UKKyAg
ICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKKyAgICAjZGVmaW5lIEVOQUJM
RV9KSVQgMQorICAgICNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhX
SU5DRSkKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMAor
I2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENI
Uk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09S
SyAxCisjZW5kaWYKKworI2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQorI2RlZmluZSBXVEZfVVNF
X0NGVVJMU1RPUkFHRVNFU1NJT05TIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAh
T1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSAm
JiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKFdYKQorI2lmICFDUFUoUFBDKQorI2RlZmluZSBFTkFCTEVfQVNTRU1C
TEVSIDEKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKyNkZWZpbmUgRU5BQkxFX0dMT0JB
TF9GQVNUTUFMTE9DX05FVyAwCisjZGVmaW5lIEVOQUJMRV9MTElOVCAwCisjaWYgT1MoREFSV0lO
KQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Rl
ZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEdUSykKKyNpZiBIQVZFKFBUSFJFQURfSCkKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorI2VuZGlmCisjZWxpZiBQTEFURk9STShRVCkg
JiYgT1MoVU5JWCkKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9SV0xPQ0sgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkp
CisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJ
QklMSVRZIDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkg
Ki8KKworI2lmIE9TKFVOSVgpCisjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChIQVZFX1ZBU1BSSU5URikKKyNpZiAhQ09NUElMRVIoTVNWQykgJiYgIUNPTVBJ
TEVSKFJWQ1QpICYmICFDT01QSUxFUihNSU5HVykgJiYgIShDT01QSUxFUihHQ0MpICYmIE9TKFFO
WCkpCisjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChIQVZFX1NUUk5TVFIpCisjaWYgT1MoREFSV0lOKSB8fCAoT1MoRlJFRUJTRCkgJiYgIWRl
ZmluZWQoX19HTElCQ19fKSkKKyNkZWZpbmUgSEFWRV9TVFJOU1RSIDEKKyNlbmRpZgorI2VuZGlm
CisKKyNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKKyAgICAmJiAhT1MoUlZDVCkg
XAorICAgICYmICFPUyhBTkRST0lEKQorI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCisjZGVmaW5l
IEhBVkVfVE1fWk9ORSAxCisjZGVmaW5lIEhBVkVfVElNRUdNIDEKKyNlbmRpZgorCisjaWYgT1Mo
REFSV0lOKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9f
SCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfTUVSR0VTT1JUIDEKKyNkZWZp
bmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZ
U19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNf
VElNRUJfSCAxCisjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCisKKyNpZm5kZWYgVEFSR0VU
SU5HX0xFT1BBUkQKKworI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2RlZmluZSBIQVZFX0hP
U1RFRF9DT1JFX0FOSU1BVElPTiAxCisKKyNpZiAhUExBVEZPUk0oSU9TKQorI2RlZmluZSBIQVZF
X01BRFZfRlJFRV9SRVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFW
RV9QVEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
SU9TKQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO
QU1FX05QIDEKKyNlbmRpZgorCisjZWxpZiBPUyhXSU5ET1dTKQorCisjaWYgT1MoV0lOQ0UpCisj
ZGVmaW5lIEhBVkVfRVJSTk9fSCAwCisjZWxzZQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEK
KyNkZWZpbmUgSEFWRV9BTElHTkVEX01BTExPQyAxCisjZGVmaW5lIEhBVkVfSVNERUJVR0dFUlBS
RVNFTlQgMQorI2VuZGlmCisjZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9DIDEKKworI2VsaWYgT1Mo
UU5YKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVm
aW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2Rl
ZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVf
U1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKKworI2VsaWYgT1MoQU5EUk9JRCkKKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMAorI2RlZmluZSBIQVZFX05NQVAgMQorI2RlZmlu
ZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZWxzZQorCisvKiBGSVhN
RTogaXMgdGhpcyBhY3R1YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRmb3JtcyBnZW5lcmF0ZSB0
aGVpciBvd24gY29uZmlnLmg/ICovCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUg
SEFWRV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJL
IDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK
KyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKworI2VuZGlmCisKKy8qIEVOQUJMRSBtYWNybyBk
ZWZhdWx0cyAqLworCisjaWYgUExBVEZPUk0oUVQpCisvKiBXZSBtdXN0IG5vdCBjdXN0b21pemUg
dGhlIGdsb2JhbCBvcGVyYXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhlIFF0IHBvcnQuICovCisj
ZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAorI2lmICFPUyhVTklYKQorI2Rl
ZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBmYXN0TWFsbG9j
IG1hdGNoIHZhbGlkYXRpb24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlmaWNhdGlvbiB0aGF0Cisg
ICBuZXcgaXMgbWF0Y2hlZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMgbWF0Y2hlZCBieSBmYXN0
RnJlZSwgZXRjLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJ
REFUSU9OKQorI2RlZmluZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTiAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0UpCisjZGVmaW5lIEVOQUJM
RV9JQ09OREFUQUJBU0UgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU1FMX0RBVEFC
QVNFKQorI2RlZmluZSBFTkFCTEVfU1FMX0RBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpCisjZGVmaW5lIEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZUUERJUikKKyNkZWZp
bmUgRU5BQkxFX0ZUUERJUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhU
X01FTlVTKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9EUkFHX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykKKyNk
ZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1IpCisjZGVmaW5l
IEVOQUJMRV9JTlNQRUNUT1IgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQV9C
UklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQSSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVH
SU5fTUVUQURBVEFfQ0FDSEUpCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURB
VEFfQ0FDSEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUFVSR0VBQkxFX01FTU9S
WSkKKyNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMAorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MpCisjZGVmaW5lIFdURl9VU0VfUExVR0lO
X0hPU1RfUFJPQ0VTUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElP
Tl9FVkVOVFMpCisjZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMAorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfT1BDT0RFX1NUQVRTKQorI2RlZmluZSBFTkFCTEVfT1BDT0RF
X1NUQVRTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9D
X05FVykKKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAxCisjZW5kaWYKKwor
I2RlZmluZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKKyNkZWZpbmUgRU5BQkxFX1NB
TVBMSU5HX0NPVU5URVJTIDAKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZMQUdTIDAKKyNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX1JFR0lPTlMgMAorI2RlZmluZSBFTkFCTEVfT1BDT0RFX1NBTVBM
SU5HIDAKKyNkZWZpbmUgRU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAwCisjaWYgRU5BQkxFKENP
REVCTE9DS19TQU1QTElORykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCisjZXJyb3IgIkNP
REVCTE9DS19TQU1QTElORyByZXF1aXJlcyBPUENPREVfU0FNUExJTkciCisjZW5kaWYKKyNpZiBF
TkFCTEUoT1BDT0RFX1NBTVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdfRkxBR1MpIHx8IEVOQUJM
RShTQU1QTElOR19SRUdJT05TKQorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfVEhSRUFEIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQorI2RlZmluZSBFTkFCTEVf
R0VPTE9DQVRJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVklFV1BPUlQpCisj
ZGVmaW5lIEVOQUJMRV9WSUVXUE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9O
T1RJRklDQVRJT05TKQorI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9OUyAwCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQgMAorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FS
RVQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpCisjZGVm
aW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFMzJfNjQpCisjaWYgKENQVShYODZfNjQpICYmIChPUyhVTklYKSB8fCBPUyhXSU5ET1dTKSkp
IFwKKyAgICB8fCAoQ1BVKElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwKKyAgICB8fCBDUFUoQUxQ
SEEpIFwKKyAgICB8fCBDUFUoU1BBUkM2NCkgXAorICAgIHx8IENQVShTMzkwWCkgXAorICAgIHx8
IENQVShQUEM2NCkKKyNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9KU1ZBTFVFMzJfNjQgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VT
RV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KSAqLworCisjaWYg
IWRlZmluZWQoRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORykKKyNkZWZpbmUgRU5BQkxFX1JFUEFJ
TlRfVEhST1RUTElORyAwCisjZW5kaWYKKworLyogRGlzYWJsZSB0aGUgSklUIG9uIHZlcnNpb25z
IG9mIEdDQyBwcmlvciB0byA0LjEgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBDT01Q
SUxFUihHQ0MpICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKQorI2RlZmluZSBFTkFC
TEVfSklUIDAKKyNlbmRpZgorCisvKiBKSVQgaXMgbm90IGltcGxlbWVudGVkIGZvciBXaW5kb3dz
IDY0LWJpdCAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9TKFdJTkRPV1MpICYmIENQ
VShYODZfNjQpCisjZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIFRoZSBKSVQgaXMg
ZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJNICYgTUlQUyBwbGF0Zm9y
bXMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAorICAgICYmIChDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKKyAgICAmJiAoT1MoREFSV0lO
KSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKSkgXAor
ICAgICYmICFPUyhXSU5DRSkgXAorICAgICYmICFPUyhRTlgpCisjZGVmaW5lIEVOQUJMRV9KSVQg
MQorI2VuZGlmCisKKy8qIE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3aGVyZSB3ZSBoYXZlIGEg
SklULCB3ZSB3YW50IHRvIGFsc28gaGF2ZSB0aGUgCisgICBsb3ctbGV2ZWwgaW50ZXJwcmV0ZXIu
ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUoSklUKSAmJiAoT1MoREFS
V0lOKSAmJiAhUExBVEZPUk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BV
KEFSTV9USFVNQjIpKQorI2RlZmluZSBFTkFCTEVfTExJTlQgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKKy8qIEVuYWJsZSB0aGUgREZHIEpJ
VCBvbiBYODYgYW5kIFg4Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBhbmQgR05VL0xpbnV4LiAq
LworI2lmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRGT1JNKE1BQykgfHwgT1Mo
TElOVVgpKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKy8qIEVuYWJsZSB0aGUg
REZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8KKyNpZiBDUFUoQVJNX1RI
VU1CMikgJiYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYK
KyNlbmRpZgorCisvKiBQcm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVlcyB1c2VkIGJ5IEpJVCBj
b2RlLiBERkdfSklUIGRlcGVuZHMgb24gaXQsIGJ1dCB5b3UKKyAgIGNhbiBlbmFibGUgaXQgbWFu
dWFsbHkgd2l0aCBERkcgdHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1c2UgaXQgYXMgYSBzdGFu
ZGFsb25lCisgICBwcm9maWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJvYmFibHkgd2FudCB0byBh
bHNvIGVuYWJsZSBWRVJCT1NFX1ZBTFVFX1BST0ZJTEUKKyAgIGJlbG93LiAqLworI2lmICFkZWZp
bmVkKEVOQUJMRV9WQUxVRV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19KSVQpCisjZGVmaW5lIEVO
QUJMRV9WQUxVRV9QUk9GSUxFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9WRVJC
T1NFX1ZBTFVFX1BST0ZJTEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxFUikKKyNkZWZpbmUgRU5B
QkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcpCisjZGVmaW5lIEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9G
SUxJTkcgMAorI2VuZGlmCisKKy8qIENvdW50cyB1c2VzIG9mIHdyaXRlIGJhcnJpZXJzIHVzaW5n
IHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KKyAgIHNldCBFTkFCTEVfU0FNUExJ
TkdfQ09VTlRFUlMgdG8gMS4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfV1JJVEVfQkFSUklFUl9Q
Uk9GSUxJTkcpCisjZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORyAwCisjZW5k
aWYKKworLyogRW5zdXJlIHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIGludGVycHJldGVyIGhh
cyBiZWVuIGVuYWJsZWQuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVU
RVIpICYmICFFTkFCTEUoSklUKQorI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisjZW5kaWYKKyNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVS
KSkKKyNlcnJvciBZb3UgaGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBleGVjdXRpb24gbW9kZWwg
ZW5hYmxlZCB0byBidWlsZCBKU0MKKyNlbmRpZgorCisjaWYgQ1BVKFNINCkgJiYgUExBVEZPUk0o
UVQpCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0aGUgSklU
ICovCisjaWYgQ1BVKEFSTSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVM
TykgJiYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDUpCisjZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0
KSB8fCBDUFUoTUlQUykKKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTykK
KyNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKwor
I2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19m
YXN0Y2FsbAorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQorI2RlZmluZSBKU0NfSE9T
VF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCisjZWxzZQorI2RlZmluZSBKU0NfSE9T
VF9DQUxMCisjZW5kaWYKKworLyogQ29uZmlndXJlIHRoZSBpbnRlcnByZXRlciAqLworI2lmIENP
TVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAwLCAwLCAwKSAmJiBkZWZp
bmVkKF9fR05VQ19fKSkKKyNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKKyNlbmRpZgorI2lm
IEhBVkUoQ09NUFVURURfR09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCisjZGVm
aW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2VuZGlmCisK
Ky8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEgdG8gdHJhY2UgUmVnRXhw
J3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLworI2RlZmluZSBFTkFCTEVfUkVH
RVhQX1RSQUNJTkcgMAorCisvKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1lIC0gdHVybmVkIG9u
IGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLworI2lmIFBMQVRGT1JNKENIUk9N
SVVNKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAorCisjZWxpZiBFTkFCTEUoSklUKSAmJiAh
ZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAxCisKKy8q
IFNldHRpbmcgdGhpcyBmbGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdpdGggaW50ZXJwcmV0ZXIg
cmVzdWx0cy4gKi8KKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAKKyNlbmRpZgorCisj
aWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQorI2RlZmluZSBFTkFCTEVfQVNTRU1C
TEVSIDEKKyNlbmRpZgorCisvKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0byB1c2U7IHdlIG9ubHkg
bmVlZCBhbiBleGVjdXRhYmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1ibGVyIGlzIGNvbXBpbGVk
IGluLgorICAgT24geDg2LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBtbWFwLCBvbiBvdGhlciBw
bGF0Zm9ybXMgd2UgbW1hcCBvbiBkZW1hbmQuICovCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKKyNp
ZiBDUFUoWDg2XzY0KSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxF
X0FMTE9DQVRPUl9GSVhFRCAxCisjZWxzZQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExP
Q0FUT1JfREVNQU5EIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFO
X1NDUk9MTElORykgJiYgT1MoV0lORE9XUykKKyNkZWZpbmUgRU5BQkxFX1BBTl9TQ1JPTExJTkcg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1NDUk9MTElORykKKyNkZWZp
bmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKwor
LyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9uIGZvciBYTUxEb2N1bWVu
dFBhcnNlciAqLworLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50YXRpb24gZm9yIFhTTFRQ
cm9jZXNzb3IgKi8KKyNpZiBQTEFURk9STShRVCkKKyNpZiAhVVNFKExJQlhNTDIpCisjZGVmaW5l
IFdURl9VU0VfUVhNTFNUUkVBTSAxCisjZGVmaW5lIFdURl9VU0VfUVhNTFFVRVJZIDEKKyNlbmRp
ZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisvKiBDb21wbGV4IHRleHQgZnJhbWV3b3Jr
ICovCisjaWZuZGVmIEJVSUxESU5HX09OX0xFT1BBUkQKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAw
CisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQVRT
VUkgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAwCisjZW5kaWYKKyNlbmRpZgorCisvKiBB
Y2NlbGVyYXRlZCBjb21wb3NpdGluZyAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX0FD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisvKiBDb21wb3NpdGluZyBvbiB0aGUg
VUktcHJvY2VzcyBpbiBXZWJLaXQyICovCisjaWYgUExBVEZPUk0oUVQpCisjZGVmaW5lIFdURl9V
U0VfVUlfU0lERV9DT01QT1NJVElORyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5l
IFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKKyNlbmRpZgorCisjaWYg
IUVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9B
UEkpICYmICgoT1MoVU5JWCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkpKSB8fCBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpKQorI2RlZmluZSBFTkFCTEVfUExVR0lOX1BB
Q0tBR0VfU0lNUExFX0hBU0ggMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgRU5BQkxFX1RIUkVB
REVEX1NDUk9MTElORyAxCisjZW5kaWYKKworLyogU2V0IHVwIGEgZGVmaW5lIGZvciBhIGNvbW1v
biBlcnJvciB0aGF0IGlzIGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQgZXJyb3IgLS0gdGh1cyB0
aGUgc3BhY2UgYWZ0ZXIgRXJyb3IuICovCisjZGVmaW5lIFdURl9QTEFURk9STV9DRk5FVFdPUksg
RXJyb3IgVVNFX21hY3JvX3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRXT1JLCisKKy8qIEZJWE1F
OiBFdmVudHVhbGx5IHdlIHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxsIHBsYXRmb3JtcyBhbmQg
Z2V0IHJpZCBvZiB0aGUgZGVmaW5lLiAqLworI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1BM
QVRGT1JNX1NUUkFURUdJRVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pCisjZGVmaW5l
IFdURl9VU0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2RlZmluZSBXVEZfVVNFX0FDQ0VT
U0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworLyogR2VvbG9jYXRpb24gcmVxdWVz
dCBwb2xpY3kuIHByZS1lbXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJlIHVzZXIgcGVybWlzc2lv
biBiZWZvcmUgYWNxdWlyaW5nIGxvY2F0aW9uLiAqLworI2RlZmluZSBXVEZfVVNFX1BSRUVNUFRf
R0VPTE9DQVRJT05fUEVSTUlTU0lPTiAxCisKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyNkZWZpbmUg
RU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQorI2RlZmluZSBFTkFC
TEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKKyNlbGlmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJ
TkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCisjZGVmaW5lIEVOQUJMRV9USFJFQURJTkdf
T1BFTk1QIDEKKyNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQorI2RlZmluZSBFTkFC
TEVfVEhSRUFESU5HX0dFTkVSSUMgMQorI2VuZGlmCisKKyNpZiBFTkFCTEUoR0xJQl9TVVBQT1JU
KQorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgorI2VuZGlmCisKKy8qIEZJWE1F
OiBUaGlzIGRlZmluZSB3b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEgaXMgZnVsbHkgbGFuZGVk
LiBIb3dldmVyLCAKKyAgIHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1cHBvcnQgc3ViLXByb2pl
Y3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRlcnMKKyAgIHRvIFdURiBjYXVzZXMgbWFu
eSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBhZGRyZXNzIHRoZSBidWls
ZAorICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KKyNpZiBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRf
TUFDUk9TIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAwCisjZW5kaWYK
KworI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlOX1NPQ0tFVFMgMQorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgQ09NUElMRVIo
R0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQorI2Rl
ZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQorI2RlZmluZSBFTkFCTEVf
UEFSQUxMRUxfR0MgMQorI2VuZGlmCisKKyNpZm5kZWYgTkRFQlVHCisjaWZuZGVmIEVOQUJMRV9H
Q19WQUxJREFUSU9OCisjZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEKKyNlbmRpZgorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgV1RGX1VTRV9B
VkZPVU5EQVRJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgV1RGX1VTRV9DT1JFTUVESUEg
MQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5f
Q0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUg
V1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgV1RGX1VTRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQorI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgSEFWRV9JTlZFUlRFRF9XSEVFTF9FVkVO
VFMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFdURl9VU0VfQ09SRUFV
RElPIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgIWRlZmluZWQoV1RG
X1VTRV9WOCkKKyNkZWZpbmUgV1RGX1VTRV9WOCAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9S
TShDSFJPTUlVTSkgKi8KKworI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9V
U0VfVjggMAorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICovCisKKy8qIFVzaW5nIFY4
IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLworI2RlZmluZSBXVEZfVVNF
X0pTQyAhV1RGX1VTRV9WOAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpICYmIFBMQVRGT1JN
KE1BQykKKyNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCisjZGVmaW5lIFdURl9VU0VfV1RGVVJMIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAhUExBVEZPUk0oUVQpCisj
ZGVmaW5lIFdURl9VU0VfWkxJQiAxCisjZW5kaWYKKworI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9o
ICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132714</attachid>
            <date>2012-03-19 16:40:57 -0700</date>
            <delta_ts>2012-03-19 18:51:11 -0700</delta_ts>
            <desc>Should fix EFL and CMake in general</desc>
            <filename>bug-80911-20120319204058.patch</filename>
            <type>text/plain</type>
            <size>77488</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MDI1MGQzNmVkMmI2YjIyOTc3MjhjZWJhNDNkNzA2ZjE2MDY2NjE2Li4wMGMxNzhlYmRkMjAyZDQ0
ZjViNWU1MzExYzE5MzFmZjRhMDZjMTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEdDIHNob3VsZCBu
b3QgYXR0ZW1wdCB0byBjbGVhciBMTEludCBpbnN0cnVjdGlvbiBpbmxpbmUgY2FjaGVzIGZvciBj
b2RlIGJsb2NrcyB0aGF0IGFyZSBpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBiNTBlNzcwMTYzNGQyOWFmOGIwNWJhNThlODc2
MWE3OWMwNzBkNzRhLi5mYjBhYzIxN2FlODgwNTEzZTA3N2ZmODczODRiMWZjZDU2NDU5NjJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTE5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0
Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUg
dG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cu
CisgICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQg
dW50aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAg
IFF0OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKworICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAg
ICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmguCisK
IDIwMTItMDMtMTkgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBT
ZXQgdGhlIHN2bjppZ25vcmUgcHJvcGVydHkgb24gdGhlIFhjb2RlIHByb2plY3QuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZDIwODY4OGVhYzlmYjNjODNjYWJjOGZiOTY2
NjkzYmFhZjdkZjY3Zi4uZGJlNDJjOGVlY2FlN2JiODVlZTBmYjdkZjFkNWUxYmMwYzQ3NjQ5MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMSw1ICsxLDYgQEAKIFNFVChK
YXZhU2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7Q01BS0VfQklOQVJZX0RJ
Un0iCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfSIKICAgICAi
JHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0FQSSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0Zv
cndhcmRpbmdIZWFkZXJzIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkK
aW5kZXggZWVhY2UxNzY0OTg5ZGIxNDkwMjVmOTNkOWQ4NTk5NmQ2OGVkNmFjOS4uYmUwOGUwOTBm
MTNjMWMzOWFhODRiZWFkNGEwZDZkZTI0ZTRiYzJiNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpCkBAIC0xMSw3ICsxMSw4IEBAIEpBVkFTQ1JJUFRDT1JFX0dFTkVS
QVRFRF9TT1VSQ0VTX0RJUiA9ICQke1JPT1RfQlVJTERfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvCiAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJFNPVVJDRV9ESVIgXAotICAgICQkU09VUkNF
X0RJUi8uLiBcCisgICAgJCRTT1VSQ0VfRElSLy4uIFwgICMgVGhpcyBzZWVtcyBsaWtlIGEgYmFk
IGlkZWEhCisgICAgJCRTT1VSQ0VfRElSLy4uL1dURiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2Vt
YmxlciBcCiAgICAgJCRTT1VSQ0VfRElSL2J5dGVjb2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0
ZWNvbXBpbGVyIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCmluZGV4IDNiZjc4MTdmMzE4NTA4Y2MyOTcx
MTU3ZjNiNGE5ZWRjNjQ2M2M3N2QuLmMzNDFkYTY2YTU1ZmU4ZWUxYjdjZjRiMzI2YjYwMjRkYzkw
NzM1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagpAQCAtOTk3LDEwICs5OTcsNiBAQAogCQkJPgog
CQk8L0ZpbGU+CiAJCTxGaWxlCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQbGF0Zm9ybS5o
IgotCQkJPgotCQk8L0ZpbGU+Ci0JCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQ
b3NzaWJseU51bGwuaCIKIAkJCT4KIAkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAzYmY2NWZmYmViMmY0MzliMGQwNTk4ZmY1ZWRmOGMxY2QzYjVhOGE3Li4zNDhkNmNk
N2YyMTcxMmYyODQ3MDg0ZmQ5YzM1MWJjMTJlMTgwODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTA5Myw3ICsxMDkzLDYgQEAKIAkJNjVDNjQ3QjMwOTNFRjhENjAwMjJDMzgw
IC8qIFJlZlB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZWZQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OwogCQk2NUM3QTE3MTBBOEVBQUNCMDBGQTM3RUEgLyogSlNXcmFwcGVyT2JqZWN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dyYXBwZXJPYmplY3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUM3QTE3MjBBOEVBQUNCMDBGQTM3RUEgLyog
SlNXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dy
YXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjVENkQ4N0UwOUI1
QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NURGQzkyQTA4
RUExNzNBMDBGNzMwMEIgLyogSGFzaEZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkIwOEVBMTczQTAwRjczMDBC
IC8qIEhhc2hNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSGFzaE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IH07CiAJCTY1REZDOTJDMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoU2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hTZXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpAQCAtMjE0MSw3ICsyMTQwLDYgQEAK
IAkJCQk0NERENDg1MjBGQUVBODUwMDBENkI0RUIgLyogUGFzc093blB0ci5oICovLAogCQkJCTY1
ODBGNzk1MDk0MDcwNTYwMDgyQzIxOSAvKiBQYXNzUmVmUHRyLmggKi8sCiAJCQkJNjUxRENBMDIx
MzZBNkZBQjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCAqLywKLQkJCQk2NUQ2RDg3RTA5QjVBMzJF
MDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLywKIAkJCQlBN0Q2NDlBOTEwMTUyMjRFMDA5QjJFMUIg
LyogUG9zc2libHlOdWxsLmggKi8sCiAJCQkJMDg4RkE1QjkwRUY3NkQ0MzAwNTc4RTZGIC8qIFJh
bmRvbU51bWJlci5jcHAgKi8sCiAJCQkJMDg4RkE1QkEwRUY3NkQ0MzAwNTc4RTZGIC8qIFJhbmRv
bU51bWJlci5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKaW5k
ZXggNzI0MjAxMjhhN2FmNTkxNjg4YWQ0NGZlNTFiMGY1ODVlYTY3MmI2YS4uYWRhYjcyODZhNzA5
MzljZTI5N2IwNTkzMmI1ZDE4YTg0NGM2Y2NlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0NNYWtlTGlzdHMudHh0CkBAIC02OSw3ICs2OSw3IEBAIFNFVChXVEZfSEVBREVSUwogICAgIFBh
cmFsbGVsSm9ic0dlbmVyaWMuaAogICAgIFBhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgKICAgICBQ
YXJhbGxlbEpvYnNPcGVuTVAuaAotICAgIFBsYXRmb3JtLmgKKyAgICAke1dURl9ESVJ9L3d0Zi9Q
bGF0Zm9ybS5oCiAgICAgUG9zc2libHlOdWxsLmgKICAgICBSYW5kb21OdW1iZXIuaAogICAgIFJh
bmRvbU51bWJlclNlZWQuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODM0YjUzOTg0ZjkzMzM1MDc0NWU4NzU0Y2NkYTQxNzBj
MGYwMjBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgL2Rldi9udWxsCkBAIC0xLDEy
MTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAw
OSBUb3JjaCBNb2JpbGUsIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IFdURl9QbGF0Zm9ybV9oCi0jZGVmaW5lIFdURl9QbGF0Zm9ybV9oCi0KLS8qIEluY2x1ZGUgY29t
cGlsZXIgc3BlY2lmaWMgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0KLS8q
ID09PT0gUExBVEZPUk0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFwaGlj
cyBBUEksIGFuZAotICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBmYXZv
ciBvZiBwbGF0Zm9ybSBhZGFwdGF0aW9uCi0gICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBtYWNy
b3MsIGFuZCB0b3AtbGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gPT09PSAqLwotI2RlZmluZSBQTEFU
Rk9STShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUgICYm
IFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUGxhdGZvcm0gYWRhcHRh
dGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBlbnZp
cm9ubWVudC4gPT09PSAqLwotCi0vKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVy
ZSAqLwotI2RlZmluZSBDUFUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZfRkVB
VFVSRSAgJiYgV1RGX0NQVV8jI1dURl9GRUFUVVJFKQotLyogSEFWRSgpIC0gc3BlY2lmaWMgc3lz
dGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUgcHJl
c2VudCBvciBub3QgKi8KLSNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFWRV8j
I1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCi0vKiBPUygpIC0gdW5kZXJseWlu
ZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZl
bCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkg
dG9vbGtpdCAqLwotI2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMjV1RG
X0ZFQVRVUkUgICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUG9saWN5IGRl
Y2lzaW9uIG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3Vs
YXIgcG9ydC4gPT09PSAqLwotCi0vKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQtcGFy
dHkgbGlicmFyeSBvciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCi0jZGVmaW5lIFVTRShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgV1RGX1VTRV8jI1dURl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RGX0ZF
QVRVUkUpCi0vKiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktp
dCAqLwotI2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9G
RUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKLQotCi0vKiA9PT09IENQVSgpIC0gdGhl
IHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlID09PT0gKi8KLQotLyogVGhpcyBhbHNvIGRlZmluZXMg
Q1BVKEJJR19FTkRJQU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHBy
b3ByaWF0ZS4gKi8KLQotLyogQ1BVKEFMUEhBKSAtIERFQyBBbHBoYSAqLwotI2lmIGRlZmluZWQo
X19hbHBoYV9fKQotI2RlZmluZSBXVEZfQ1BVX0FMUEhBIDEKLSNlbmRpZgotCi0vKiBDUFUoSUE2
NCkgLSBJdGFuaXVtIC8gSUEtNjQgKi8KLSNpZiBkZWZpbmVkKF9faWE2NF9fKQotI2RlZmluZSBX
VEZfQ1BVX0lBNjQgMQotLyogMzItYml0IG1vZGUgb24gSXRhbml1bSAqLwotI2lmICFkZWZpbmVk
KF9fTFA2NF9fKQotI2RlZmluZSBXVEZfQ1BVX0lBNjRfMzIgMQotI2VuZGlmCi0jZW5kaWYKLQot
LyogQ1BVKE1JUFMpIC0gTUlQUyAzMi1iaXQgKi8KLS8qIE5vdGU6IE9ubHkgTzMyIEFCSSBpcyB0
ZXN0ZWQsIHNvIHdlIGVuYWJsZSBpdCBmb3IgTzMyIEFCSSBmb3Igbm93LiAgKi8KLSNpZiAoZGVm
aW5lZChtaXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmlu
ZWQoX01JUFNfKSkgXAotICAgICYmIGRlZmluZWQoX0FCSU8zMikKLSNkZWZpbmUgV1RGX0NQVV9N
SVBTIDEKLSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElB
TiAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX01JUFNfUElDIChkZWZpbmVkIF9fUElDX18pCi0jZGVm
aW5lIFdURl9NSVBTX0FSQ0ggX19taXBzCi0jZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVmaW5l
ZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPT0gdikKLSNkZWZpbmUgV1RGX01JUFNf
SVNBX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA+
PSB2KQotI2RlZmluZSBXVEZfTUlQU19BUkNIX1JFViBfX21pcHNfaXNhX3JldgotI2RlZmluZSBX
VEZfTUlQU19JU0FfUkVWKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9NSVBT
X0FSQ0hfUkVWID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5lZCBf
X21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQotI2RlZmlu
ZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkK
LS8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KLSNk
ZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0jZW5kaWYgLyog
TUlQUyAqLwotCi0vKiBDUFUoUFBDKSAtIFBvd2VyUEMgMzItYml0ICovCi0jaWYgICBkZWZpbmVk
KF9fcHBjX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQ19fKSAgICAgXAotICAgIHx8IGRl
ZmluZWQoX19wb3dlcnBjX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCi0gICAg
fHwgZGVmaW5lZChfX1BPV0VSUENfXykgXAotICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fUFBDKQotI2RlZmluZSBXVEZfQ1BVX1BQQyAxCi0jZGVmaW5lIFdU
Rl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMgNjQt
Yml0ICovCi0jaWYgICBkZWZpbmVkKF9fcHBjNjRfXykgXAotICAgIHx8IGRlZmluZWQoX19QUEM2
NF9fKQotI2RlZmluZSBXVEZfQ1BVX1BQQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKLSNlbmRpZgotCi0vKiBDUFUoU0g0KSAtIFN1cGVySCBTSC00ICovCi0jaWYgZGVmaW5lZChf
X1NINF9fKQotI2RlZmluZSBXVEZfQ1BVX1NINCAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJDMzIp
IC0gU1BBUkMgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChfX2Fy
Y2g2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmN2OCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFSQzMyIDEK
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BBUkM2NCkg
LSBTUEFSQyA2NC1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChfX2Fy
Y2g2NF9fKSB8fCBkZWZpbmVkIChfX3NwYXJjdjkpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkM2NCAx
Ci0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJDKSAt
IGFueSBTUEFSQywgdHJ1ZSBmb3IgQ1BVKFNQQVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8KLSNp
ZiBDUFUoU1BBUkMzMikgfHwgQ1BVKFNQQVJDNjQpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkMgMQot
I2VuZGlmCi0KLS8qIENQVShTMzkwWCkgLSBTMzkwIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19z
MzkweF9fKQotI2RlZmluZSBXVEZfQ1BVX1MzOTBYIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5E
SUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MCkgLSBTMzkwIDMyLWJpdCAqLwotI2lmIGRlZmlu
ZWQoX19zMzkwX18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MCAxCi0jZGVmaW5lIFdURl9DUFVfQklH
X0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAqLwot
I2lmICAgZGVmaW5lZChfX2kzODZfXykgXAotICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCi0gICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAotICAg
IHx8IGRlZmluZWQoX19USFdfSU5URUwpCi0jZGVmaW5lIFdURl9DUFVfWDg2IDEKLSNlbmRpZgot
Ci0vKiBDUFUoWDg2XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KLSNp
ZiAgIGRlZmluZWQoX194ODZfNjRfXykgXAotICAgIHx8IGRlZmluZWQoX01fWDY0KQotI2RlZmlu
ZSBXVEZfQ1BVX1g4Nl82NCAxCi0jZW5kaWYKLQotLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2ZXJz
aW9uKi8KLSNpZiAgIGRlZmluZWQoYXJtKSBcCi0gICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCi0g
ICAgfHwgZGVmaW5lZChBUk0pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1fKQotI2RlZmluZSBXVEZf
Q1BVX0FSTSAxCi0KLSNpZiBkZWZpbmVkKF9fQVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1QpICYm
IGRlZmluZWQoX19CSUdfRU5ESUFOKSkKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLQot
I2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19FQUJJX18p
IFwKLSAgICAmJiAhZGVmaW5lZChfX1ZGUF9GUF9fKSBcCi0gICAgJiYgIWRlZmluZWQoX1dJTjMy
X1dDRSkgXAotICAgICYmICFkZWZpbmVkKEFORFJPSUQpCi0jZGVmaW5lIFdURl9DUFVfTUlERExF
X0VORElBTiAxCi0KLSNlbmRpZgotCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChOKSAo
Q1BVKEFSTSkgJiYgV1RGX0FSTV9BUkNIX1ZFUlNJT04gPj0gTikKLQotLyogU2V0IFdURl9BUk1f
QVJDSF9WRVJTSU9OICovCi0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNF9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNF9f
KSBcCi0gICAgfHwgZGVmaW5lZChfQVJNVjRJXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJ
T04gNAotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQotI2RlZmlu
ZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9f
KSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzVURUpfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotLypBUk12
NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KLSNkZWZpbmUg
V1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0KLSNlbGlmIGRlZmluZWQo
X19BUk1fQVJDSF82X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKLSNkZWZp
bmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfN0Ff
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKQotI2RlZmluZSBXVEZfQVJNX0FS
Q0hfVkVSU0lPTiA3Ci0KLS8qIFJWQ1Qgc2V0cyBfVEFSR0VUX0FSQ0hfQVJNICovCi0jZWxpZiBk
ZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBf
X1RBUkdFVF9BUkNIX0FSTQotCi0jaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCi0gICAg
fHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJHRVRf
QVJDSF81VEVKKQotLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQg
bWVtb3J5Ki8KLSNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAx
Ci0jZW5kaWYKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gMAotCi0jZW5k
aWYKLQotLyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19B
Uk1fQVJDSF80VF9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDEKLQotI2VsaWYg
ZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRF
X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIDIKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwgZGVm
aW5lZChfX0FSTV9BUkNIXzZNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMwot
Ci0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfN19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83TV9f
KQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDQKLQotLyogUlZDVCBzZXRzIF9fVEFS
R0VUX0FSQ0hfVEhVTUIgKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikKLSNk
ZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX1RIVU1CCi0KLSNlbHNl
Ci0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMAotI2VuZGlmCi0KLQotLyogQ1BVKEFS
TVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLwotLyog
T24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4gCi0g
ICBBbmQgdGhlcmUgYXJlIHNvbWUgb3RoZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIu
ICovCi0jaWYgIWRlZmluZWQoQVJNVjVfT1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVB
U1QoNikKLSNkZWZpbmUgV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAxCi0jZW5kaWYKLQotCi0vKiBD
UFUoQVJNX1RSQURJVElPTkFMKSAtIFRodW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRp
dGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRlcikgKi8KLS8qIENQVShBUk1fVEhVTUIyKSAtIFRodW1i
MiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZhaWxhYmxlICovCi0vKiBPbmx5IG9uZSBvZiB0aGVzZSB3
aWxsIGJlIGRlZmluZWQuICovCi0jaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwp
ICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikKLSMgIGlmIGRlZmluZWQodGh1bWIyKSB8
fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwKLSAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwgZGVm
aW5lZChfX3RodW1iX18pKSAmJiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCi0jICAgIGRl
ZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAwCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9U
SFVNQjIgMQotIyAgZWxpZiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNCkKLSMgICAgZGVmaW5lIFdU
Rl9DUFVfQVJNX1RSQURJVElPTkFMIDEKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAw
Ci0jICBlbHNlCi0jICAgIGVycm9yICJOb3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUiCi0j
ICBlbmRpZgotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8q
IFNhbml0eSBDaGVjayAqLwotIyAgZXJyb3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FS
TV9UUkFESVRJT05BTCBhbmQgV1RGX0NQVV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKLSNlbmRpZiAv
KiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9B
Uk1fVEhVTUIyKSAqLwotCi0jaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKFdU
Rl9DUFVfQVJNX05FT04pCi0jZGVmaW5lIFdURl9DUFVfQVJNX05FT04gMQotI2VuZGlmCi0KLSNl
bmRpZiAvKiBBUk0gKi8KLQotI2lmIENQVShBUk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0KSB8
fCBDUFUoU1BBUkMpCi0jZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQotI2Vu
ZGlmCi0KLS8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0
byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZpcnR1
YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLwotCi0vKiBPUyhB
TkRST0lEKSAtIEFuZHJvaWQgKi8KLSNpZmRlZiBBTkRST0lECi0jZGVmaW5lIFdURl9PU19BTkRS
T0lEIDEKLSNlbmRpZgotCi0vKiBPUyhBSVgpIC0gQUlYICovCi0jaWZkZWYgX0FJWAotI2RlZmlu
ZSBXVEZfT1NfQUlYIDEKLSNlbmRpZgotCi0vKiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1iYXNl
ZCBPUywgaW5jbHVkaW5nIE1hYyBPUyBYIGFuZCBpUGhvbmUgT1MgKi8KLSNpZmRlZiBfX0FQUExF
X18KLSNkZWZpbmUgV1RGX09TX0RBUldJTiAxCi0KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4K
LSNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KLSNpbmNsdWRlIDxUYXJnZXRDb25kaXRp
b25hbHMuaD4KLSNlbmRpZgotCi0vKiBPUyhJT1MpIC0gaU9TICovCi0vKiBPUyhNQUNfT1NfWCkg
LSBNYWMgT1MgWCAobm90IGluY2x1ZGluZyBpT1MpICovCi0jaWYgT1MoREFSV0lOKSAmJiAoKGRl
ZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIFwKLSAgICB8
fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAgICAg
ICAgICAgICAgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBU
QVJHRVRfSVBIT05FX1NJTVVMQVRPUikpCi0jZGVmaW5lIFdURl9PU19JT1MgMQotI2VsaWYgT1Mo
REFSV0lOKSAmJiBkZWZpbmVkKFRBUkdFVF9PU19NQUMpICYmIFRBUkdFVF9PU19NQUMKLSNkZWZp
bmUgV1RGX09TX01BQ19PU19YIDEKLS8qIEZJWE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRBUkdF
VElORy4uLiBtYWNyb3Mgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAqLwot
I2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBCVUlMRElOR19PTl9M
RU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNwotI2RlZmluZSBC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lP
Tl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lP
Tl8xMF84Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xJT04gMQotI2VuZGlmCi0jaWYgIWRlZmluZWQo
TUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCi0jZWxp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIFRBUkdFVElOR19TTk9X
X0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBNQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2RlZmlu
ZSBUQVJHRVRJTkdfTElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBPUyhGUkVFQlNEKSAtIEZy
ZWVCU0QgKi8KLSNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5
X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotI2RlZmluZSBXVEZfT1NfRlJFRUJT
RCAxCi0jZW5kaWYKLQotLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLwotI2lmZGVmIF9fR05VX18K
LSNkZWZpbmUgV1RGX09TX0hVUkQgMQotI2VuZGlmCi0KLS8qIE9TKExJTlVYKSAtIExpbnV4ICov
Ci0jaWZkZWYgX19saW51eF9fCi0jZGVmaW5lIFdURl9PU19MSU5VWCAxCi0jZW5kaWYKLQotLyog
T1MoTkVUQlNEKSAtIE5ldEJTRCAqLwotI2lmIGRlZmluZWQoX19OZXRCU0RfXykKLSNkZWZpbmUg
V1RGX09TX05FVEJTRCAxCi0jZW5kaWYKLQotLyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICovCi0j
aWZkZWYgX19PcGVuQlNEX18KLSNkZWZpbmUgV1RGX09TX09QRU5CU0QgMQotI2VuZGlmCi0KLS8q
IE9TKFFOWCkgLSBRTlggKi8KLSNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCi0jZGVmaW5lIFdURl9P
U19RTlggMQotI2VuZGlmCi0KLS8qIE9TKFNPTEFSSVMpIC0gU29sYXJpcyAqLwotI2lmIGRlZmlu
ZWQoc3VuKSB8fCBkZWZpbmVkKF9fc3VuKQotI2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCi0jZW5k
aWYKLQotLyogT1MoV0lOQ0UpIC0gV2luZG93cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBsYXRm
b3JtIE9TKFdJTkRPV1MpIGlzIGFsc28gZGVmaW5lZCAqLwotI2lmIGRlZmluZWQoX1dJTjMyX1dD
RSkKLSNkZWZpbmUgV1RGX09TX1dJTkNFIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5ET1dTKSAtIEFu
eSB2ZXJzaW9uIG9mIFdpbmRvd3MgKi8KLSNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9X
SU4zMikKLSNkZWZpbmUgV1RGX09TX1dJTkRPV1MgMQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX09T
X1dJTiBFUlJPUiAiVVNFIFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgotI2RlZmluZSBXVEZfT1Nf
TUFDIEVSUk9SICJVU0UgTUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgotCi0vKiBPUyhVTklYKSAt
IEFueSBVbml4LWxpa2Ugc3lzdGVtICovCi0jaWYgICBPUyhBSVgpICAgICAgICAgICAgICBcCi0g
ICAgfHwgT1MoQU5EUk9JRCkgICAgICAgICAgXAotICAgIHx8IE9TKERBUldJTikgICAgICAgICAg
IFwKLSAgICB8fCBPUyhGUkVFQlNEKSAgICAgICAgICBcCi0gICAgfHwgT1MoSFVSRCkgICAgICAg
ICAgICAgXAotICAgIHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKLSAgICB8fCBPUyhORVRCU0Qp
ICAgICAgICAgICBcCi0gICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAotICAgIHx8IE9TKFFO
WCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhTT0xBUklTKSAgICAgICAgICBcCi0gICAgfHwg
ZGVmaW5lZCh1bml4KSAgICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4KSAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKF9fdW5peF9fKQotI2RlZmluZSBXVEZfT1NfVU5JWCAxCi0jZW5kaWYKLQot
LyogT3BlcmF0aW5nIGVudmlyb25tZW50cyAqLwotCi0vKiBGSVhNRTogdGhlc2UgYXJlIGFsbCBt
aXhlcyBvZiBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4gKi8K
LS8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotLyogUExBVEZPUk0oUVQpICovCi0vKiBQTEFURk9S
TShXWCkgKi8KLS8qIFBMQVRGT1JNKEdUSykgKi8KLS8qIFBMQVRGT1JNKEJMQUNLQkVSUlkpICov
Ci0vKiBQTEFURk9STShNQUMpICovCi0vKiBQTEFURk9STShXSU4pICovCi0jaWYgZGVmaW5lZChC
VUlMRElOR19DSFJPTUlVTV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQotI2Vs
aWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQotI2Vs
aWYgZGVmaW5lZChCVUlMRElOR19XWF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQotI2Vs
aWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAxCi0j
ZWxpZiBkZWZpbmVkKEJVSUxESU5HX0JMQUNLQkVSUllfXykKLSNkZWZpbmUgV1RGX1BMQVRGT1JN
X0JMQUNLQkVSUlkgMQotI2VsaWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfUExBVEZPUk1fTUFD
IDEKLSNlbGlmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9XSU4gMQotI2VuZGlm
Ci0KLS8qIFBMQVRGT1JNKElPUykgKi8KLS8qIEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1c2Vk
IGFzIGFuIE9TIHN3aXRjaCBhbmQgc29tZXRpbWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdzICov
Ci0jaWYgKGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQp
IHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCi0jZGVm
aW5lIFdURl9QTEFURk9STV9JT1MgMQotI2VuZGlmCi0KLS8qIFBMQVRGT1JNKElPU19TSU1VTEFU
T1IpICovCi0jaWYgZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQ
SE9ORV9TSU1VTEFUT1IKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZGVmaW5lIFdURl9Q
TEFURk9STV9JT1NfU0lNVUxBVE9SIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9QTEFURk9STV9JT1Nf
U0lNVUxBVE9SIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykKLSNk
ZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAwCi0jZW5kaWYKLQotLyogR3JhcGhpY3MgZW5naW5lcyAq
LwotCi0vKiBVU0UoQ0cpIGFuZCBQTEFURk9STShDSSkgKi8KLSNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkKLSNk
ZWZpbmUgV1RGX1VTRV9DQSAxCi0jZW5kaWYKLQotLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgv
TWFjL0FuZHJvaWQgKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiBPUyhEQVJXSU4pCi0j
aWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2Vs
c2UKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAx
Ci0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEK
LSNlbGlmIE9TKEFORFJPSUQpCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZGVmaW5lIFdURl9V
U0VfR0xFUzJfUkVOREVSSU5HIDAKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZGVm
aW5lIFdURl9VU0VfQ0hST01JVU1fTkVUIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShCTEFDS0JFUlJZKQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUgVVNF
X1NZU1RFTV9NQUxMT0MgMQotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5Mzcg
MQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0j
ZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQotI2VuZGlmCi0KLQotI2lmIE9TKFdJTkNFKQotI2luY2x1
ZGUgPGNlX3RpbWUuaD4KLSNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEK
LSNlbmRpZgotCi0vKiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgYnkg
ZGVmYXVsdCAqLwotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9VU0VfUVVFUllfUEVSRk9S
TUFOQ0VfQ09VTlRFUiAgMQotI2VuZGlmCi0KLSNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFU
KQotI2RlZmluZSBOT01JTk1BWCAgICAgICAvKiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZsaWN0
IHdpdGggc3RhbmRhcmQgbWFjcm9zICovCi0jZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNobHdh
cGkuaCBub3QgYXZhaWxhYmxlIG9uIFdpbkNlICovCi0KLS8qIE1TRE4gZG9jdW1lbnRhdGlvbiBz
YXlzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQgd2Ug
Y2Fubm90IGZpbmQgdGhpcyBmaWxlLiAqLwotI2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBkaXNh
YmxlICJ1c3AxMC5oIiAqLwotCi0jZGVmaW5lIF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUgImFz
c2VydC5oIiAqLwotI2RlZmluZSBhc3NlcnQoeCkKLQotI2VuZGlmICAvKiBPUyhXSU5DRSkgJiYg
IVBMQVRGT1JNKFFUKSAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0jaWZuZGVmIFdURl9VU0VfSUNV
X1VOSUNPREUKLSNkZWZpbmUgV1RGX1VTRV9RVDRfVU5JQ09ERSAxCi0jZW5kaWYKLSNlbGlmIE9T
KFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX1dJTkNFX1VOSUNPREUgMQotI2VsaWYgUExBVEZPUk0o
R1RLKQotLyogVGhlIEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLwotI2Vs
c2UKLSNkZWZpbmUgV1RGX1VTRV9JQ1VfVU5JQ09ERSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KE1BQykgJiYgIVBMQVRGT1JNKElPUykKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSAmJiBDUFUoWDg2XzY0KQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQot
I2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMgMQot
I2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJTkcgMQotI2RlZmluZSBXVEZfVVNFX1NDUk9MTEJB
Ul9QQUlOVEVSIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNk
ZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKLSNl
bmRpZgotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0j
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNk
ZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IDEKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQotI2RlZmluZSBFTkFCTEVfV0VC
X0FSQ0hJVkUgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKLSNpZiBkZWZpbmVkKEVOQUJM
RV9WSURFTykKLSNkZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKLSNlbmRpZgotI2lmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgSEFWRV9MQVlFUl9I
T1NUSU5HX0lOX1dJTkRPV19TRVJWRVIgMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0oTUFD
KSAmJiAhUExBVEZPUk0oSU9TKSAqLwotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERB
UldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQot
I2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLQotI2RlZmluZSBXVEZfVVNFX1dLX1NDUk9M
TEJBUl9QQUlOVEVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBET05U
X0ZJTkFMSVpFX09OX01BSU5fVEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oUVQpICYm
IE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIEhBVkVfRElTUEFUQ0hf
SCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRG
T1JNKFFUKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAotI2RlZmluZSBF
TkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMg
MAotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEK
LSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAwCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1Ig
MQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAotI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQSSAwCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMQotI2RlZmlu
ZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZF
IDEKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCi0jZGVmaW5l
IEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNkZWZpbmUg
SEFWRV9SVU5MT09QX1RJTUVSIDAKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9V
U0VfQ0ZORVRXT1JLIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0KLSNpZiBQTEFURk9S
TShJT1NfU0lNVUxBVE9SKQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIg
MQotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAwCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQg
MAotI2Vsc2UKLSAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKLSAgICAj
ZGVmaW5lIEVOQUJMRV9KSVQgMQotICAgICNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKLSAgICAjZGVm
aW5lIEVOQUJMRV9ZQVJSX0pJVCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShX
SU4pICYmICFPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0Vf
UFRIUkVBRFMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYg
IVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQotI2RlZmluZSBXVEZf
VVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKLQotI2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQotI2Rl
ZmluZSBXVEZfVVNFX0NGVVJMU1RPUkFHRVNFU1NJT05TIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JN
KFFUKQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0o
V0lOX0NBSVJPKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdYKQotI2lmICFDUFUoUFBDKQotI2RlZmluZSBF
TkFCTEVfQVNTRU1CTEVSIDEKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLSNkZWZpbmUg
RU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAwCi0j
aWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JF
X1RFWFQgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKEdUSykKLSNpZiBIQVZFKFBUSFJFQURfSCkKLSNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0jZWxpZiBQ
TEFURk9STShRVCkgJiYgT1MoVU5JWCkKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVm
aW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX0FD
Q0VTU0lCSUxJVFkpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUg
SEFWRV9BQ0NFU1NJQklMSVRZIDEKLSNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfQUND
RVNTSUJJTElUWSkgKi8KLQotI2lmIE9TKFVOSVgpCi0jZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1ZBU1BSSU5URikKLSNpZiAhQ09NUElMRVIoTVNW
QykgJiYgIUNPTVBJTEVSKFJWQ1QpICYmICFDT01QSUxFUihNSU5HVykgJiYgIShDT01QSUxFUihH
Q0MpICYmIE9TKFFOWCkpCi0jZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKLSNlbmRpZgotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChIQVZFX1NUUk5TVFIpCi0jaWYgT1MoREFSV0lOKSB8fCAoT1MoRlJF
RUJTRCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKLSNkZWZpbmUgSEFWRV9TVFJOU1RSIDEKLSNl
bmRpZgotI2VuZGlmCi0KLSNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKLSAgICAm
JiAhT1MoUlZDVCkgXAotICAgICYmICFPUyhBTkRST0lEKQotI2RlZmluZSBIQVZFX1RNX0dNVE9G
RiAxCi0jZGVmaW5lIEhBVkVfVE1fWk9ORSAxCi0jZGVmaW5lIEhBVkVfVElNRUdNIDEKLSNlbmRp
ZgotCi0jaWYgT1MoREFSV0lOKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhB
VkVfTEFOR0lORk9fSCAxCi0jZGVmaW5lIEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfTUVSR0VT
T1JUIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2Rl
ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNkZWZp
bmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCi0KLSNp
Zm5kZWYgVEFSR0VUSU5HX0xFT1BBUkQKLQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQotI2Rl
ZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCi0KLSNpZiAhUExBVEZPUk0oSU9TKQot
I2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEK
LSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVf
UFRIUkVBRF9TRVROQU1FX05QIDEKLSNlbmRpZgotCi0jZWxpZiBPUyhXSU5ET1dTKQotCi0jaWYg
T1MoV0lOQ0UpCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAwCi0jZWxzZQotI2RlZmluZSBIQVZFX1NZ
U19USU1FQl9IIDEKLSNkZWZpbmUgSEFWRV9BTElHTkVEX01BTExPQyAxCi0jZGVmaW5lIEhBVkVf
SVNERUJVR0dFUlBSRVNFTlQgMQotI2VuZGlmCi0jZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9DIDEK
LQotI2VsaWYgT1MoUU5YKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVf
TU1BUCAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9NQURW
X0ZSRUUgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2VsaWYgT1MoQU5EUk9JRCkKLQotI2RlZmluZSBI
QVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMAotI2RlZmluZSBIQVZFX05N
QVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZWxz
ZQotCi0vKiBGSVhNRTogaXMgdGhpcyBhY3R1YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRmb3Jt
cyBnZW5lcmF0ZSB0aGVpciBvd24gY29uZmlnLmg/ICovCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19I
IDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZp
bmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZ
U19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotI2VuZGlmCi0KLS8qIEVO
QUJMRSBtYWNybyBkZWZhdWx0cyAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0vKiBXZSBtdXN0IG5v
dCBjdXN0b21pemUgdGhlIGdsb2JhbCBvcGVyYXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhlIFF0
IHBvcnQuICovCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAotI2lmICFP
UyhVTklYKQotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZW5kaWYKLSNlbmRpZgotCi0v
KiBmYXN0TWFsbG9jIG1hdGNoIHZhbGlkYXRpb24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlmaWNh
dGlvbiB0aGF0Ci0gICBuZXcgaXMgbWF0Y2hlZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMgbWF0
Y2hlZCBieSBmYXN0RnJlZSwgZXRjLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01BTExP
Q19NQVRDSF9WQUxJREFUSU9OKQotI2RlZmluZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFM
SURBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0UpCi0j
ZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfU1FMX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfU1FMX0RBVEFCQVNFIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpCi0jZGVmaW5lIEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZU
UERJUikKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9DT05URVhUX01FTlVTKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EUkFHX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9E
UkFHX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNU
T1IpCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQotI2RlZmluZSBFTkFC
TEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9O
RVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fTUVUQURBVEFfQ0FDSEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUFVS
R0VBQkxFX01FTU9SWSkKLSNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MpCi0jZGVmaW5lIFdU
Rl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9PUklFTlRBVElPTl9FVkVOVFMpCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT1BDT0RFX1NUQVRTKQotI2RlZmluZSBF
TkFCTEVfT1BDT0RFX1NUQVRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dMT0JB
TF9GQVNUTUFMTE9DX05FVykKLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAx
Ci0jZW5kaWYKLQotI2RlZmluZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKLSNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZM
QUdTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1JFR0lPTlMgMAotI2RlZmluZSBFTkFCTEVf
T1BDT0RFX1NBTVBMSU5HIDAKLSNkZWZpbmUgRU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAwCi0j
aWYgRU5BQkxFKENPREVCTE9DS19TQU1QTElORykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJTkcp
Ci0jZXJyb3IgIkNPREVCTE9DS19TQU1QTElORyByZXF1aXJlcyBPUENPREVfU0FNUExJTkciCi0j
ZW5kaWYKLSNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdfRkxB
R1MpIHx8IEVOQUJMRShTQU1QTElOR19SRUdJT05TKQotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
VEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQotI2Rl
ZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
VklFV1BPUlQpCi0jZGVmaW5lIEVOQUJMRV9WSUVXUE9SVCAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKQotI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9OUyAw
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKLSNkZWZpbmUgRU5B
QkxFX1RFWFRfQ0FSRVQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQo
V1RGX1VTRV9KU1ZBTFVFMzJfNjQpCi0jaWYgKENQVShYODZfNjQpICYmIChPUyhVTklYKSB8fCBP
UyhXSU5ET1dTKSkpIFwKLSAgICB8fCAoQ1BVKElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwKLSAg
ICB8fCBDUFUoQUxQSEEpIFwKLSAgICB8fCBDUFUoU1BBUkM2NCkgXAotICAgIHx8IENQVShTMzkw
WCkgXAotICAgIHx8IENQVShQUEM2NCkKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQotI2Vs
c2UKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFMzJfNjQgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRl
ZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0
KSAqLwotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORykKLSNkZWZpbmUg
RU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAwCi0jZW5kaWYKLQotLyogRGlzYWJsZSB0aGUgSklU
IG9uIHZlcnNpb25zIG9mIEdDQyBwcmlvciB0byA0LjEgKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
SklUKSAmJiBDT01QSUxFUihHQ0MpICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKQot
I2RlZmluZSBFTkFCTEVfSklUIDAKLSNlbmRpZgotCi0vKiBKSVQgaXMgbm90IGltcGxlbWVudGVk
IGZvciBXaW5kb3dzIDY0LWJpdCAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9TKFdJ
TkRPV1MpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8q
IFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJNICYg
TUlQUyBwbGF0Zm9ybXMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAotICAgICYmIChD
UFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKLSAgICAm
JiAoT1MoREFSV0lOKSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0
LCAxLCAwKSkgXAotICAgICYmICFPUyhXSU5DRSkgXAotICAgICYmICFPUyhRTlgpCi0jZGVmaW5l
IEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3aGVy
ZSB3ZSBoYXZlIGEgSklULCB3ZSB3YW50IHRvIGFsc28gaGF2ZSB0aGUgCi0gICBsb3ctbGV2ZWwg
aW50ZXJwcmV0ZXIuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUoSklU
KSAmJiAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVfTExJTlQgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKLS8qIEVuYWJs
ZSB0aGUgREZHIEpJVCBvbiBYODYgYW5kIFg4Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBhbmQg
R05VL0xpbnV4LiAqLwotI2lmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRGT1JN
KE1BQykgfHwgT1MoTElOVVgpKQotI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCi0jZW5kaWYKLS8q
IEVuYWJsZSB0aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8KLSNp
ZiBDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfREZHX0pJ
VCAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBQcm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVlcyB1
c2VkIGJ5IEpJVCBjb2RlLiBERkdfSklUIGRlcGVuZHMgb24gaXQsIGJ1dCB5b3UKLSAgIGNhbiBl
bmFibGUgaXQgbWFudWFsbHkgd2l0aCBERkcgdHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1c2Ug
aXQgYXMgYSBzdGFuZGFsb25lCi0gICBwcm9maWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJvYmFi
bHkgd2FudCB0byBhbHNvIGVuYWJsZSBWRVJCT1NFX1ZBTFVFX1BST0ZJTEUKLSAgIGJlbG93LiAq
LwotI2lmICFkZWZpbmVkKEVOQUJMRV9WQUxVRV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19KSVQp
Ci0jZGVmaW5lIEVOQUJMRV9WQUxVRV9QUk9GSUxFUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxFUikK
LSNkZWZpbmUgRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9TSU1Q
TEVfSEVBUF9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIENvdW50cyB1c2VzIG9mIHdyaXRlIGJh
cnJpZXJzIHVzaW5nIHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KLSAgIHNldCBF
TkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgdG8gMS4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfV1JJ
VEVfQkFSUklFUl9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJ
TElORyAwCi0jZW5kaWYKLQotLyogRW5zdXJlIHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIGlu
dGVycHJldGVyIGhhcyBiZWVuIGVuYWJsZWQuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NMQVNT
SUNfSU5URVJQUkVURVIpICYmICFFTkFCTEUoSklUKQotI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19J
TlRFUlBSRVRFUiAxCi0jZW5kaWYKLSNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFTU0lD
X0lOVEVSUFJFVEVSKSkKLSNlcnJvciBZb3UgaGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBleGVj
dXRpb24gbW9kZWwgZW5hYmxlZCB0byBidWlsZCBKU0MKLSNlbmRpZgotCi0jaWYgQ1BVKFNINCkg
JiYgUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIENvbmZp
Z3VyZSB0aGUgSklUICovCi0jaWYgQ1BVKEFSTSkKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VT
RV9TT0ZUX01PRFVMTykgJiYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDUpCi0jZGVmaW5lIEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoTUlQUykKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9T
T0ZUX01PRFVMTykKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0jZGVmaW5lIEpTQ19I
T1NUX0NBTEwgX19mYXN0Y2FsbAotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQotI2Rl
ZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCi0jZWxzZQotI2Rl
ZmluZSBKU0NfSE9TVF9DQUxMCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBpbnRlcnByZXRl
ciAqLwotI2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAwLCAw
LCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKLSNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK
LSNlbmRpZgotI2lmIEhBVkUoQ09NUFVURURfR09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5URVJQ
UkVURVIpCi0jZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIg
MQotI2VuZGlmCi0KLS8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEgdG8g
dHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLwotI2RlZmlu
ZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAotCi0vKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1l
IC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLwotI2lmIFBM
QVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAotCi0jZWxpZiBFTkFC
TEUoSklUKSAmJiAhZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVCAxCi0KLS8qIFNldHRpbmcgdGhpcyBmbGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdpdGgg
aW50ZXJwcmV0ZXIgcmVzdWx0cy4gKi8KLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAK
LSNlbmRpZgotCi0jaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQotI2RlZmluZSBF
TkFCTEVfQVNTRU1CTEVSIDEKLSNlbmRpZgotCi0vKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0byB1
c2U7IHdlIG9ubHkgbmVlZCBhbiBleGVjdXRhYmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1ibGVy
IGlzIGNvbXBpbGVkIGluLgotICAgT24geDg2LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBtbWFw
LCBvbiBvdGhlciBwbGF0Zm9ybXMgd2UgbW1hcCBvbiBkZW1hbmQuICovCi0jaWYgRU5BQkxFKEFT
U0VNQkxFUikKLSNpZiBDUFUoWDg2XzY0KSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJM
RV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhFRCAxCi0jZWxzZQotI2RlZmluZSBFTkFCTEVfRVhF
Q1VUQUJMRV9BTExPQ0FUT1JfREVNQU5EIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfUEFOX1NDUk9MTElORykgJiYgT1MoV0lORE9XUykKLSNkZWZpbmUgRU5BQkxFX1BB
Tl9TQ1JPTExJTkcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1NDUk9M
TElORykKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAw
Ci0jZW5kaWYKLQotLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9uIGZv
ciBYTUxEb2N1bWVudFBhcnNlciAqLwotLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50YXRp
b24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KLSNpZiBQTEFURk9STShRVCkKLSNpZiAhVVNFKExJQlhN
TDIpCi0jZGVmaW5lIFdURl9VU0VfUVhNTFNUUkVBTSAxCi0jZGVmaW5lIFdURl9VU0VfUVhNTFFV
RVJZIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0vKiBDb21wbGV4IHRl
eHQgZnJhbWV3b3JrICovCi0jaWZuZGVmIEJVSUxESU5HX09OX0xFT1BBUkQKLSNkZWZpbmUgV1RG
X1VTRV9BVFNVSSAwCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNlbHNlCi0jZGVmaW5l
IFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAwCi0jZW5kaWYKLSNl
bmRpZgotCi0vKiBBY2NlbGVyYXRlZCBjb21wb3NpdGluZyAqLwotI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oRUZMKQotI2RlZmlu
ZSBXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0vKiBDb21wb3Np
dGluZyBvbiB0aGUgVUktcHJvY2VzcyBpbiBXZWJLaXQyICovCi0jaWYgUExBVEZPUk0oUVQpCi0j
ZGVmaW5lIFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxCi0jZW5kaWYKLQotI2lmIChQTEFU
Rk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKLSNl
bmRpZgotCi0jaWYgIUVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpICYmICgoT1MoVU5JWCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShXWCkpKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpKQotI2RlZmluZSBFTkFC
TEVfUExVR0lOX1BBQ0tBR0VfU0lNUExFX0hBU0ggMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShN
QUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBREVEX1NDUk9MTElORyAxCi0jZW5kaWYKLQotLyogU2V0IHVwIGEgZGVmaW5l
IGZvciBhIGNvbW1vbiBlcnJvciB0aGF0IGlzIGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQgZXJy
b3IgLS0gdGh1cyB0aGUgc3BhY2UgYWZ0ZXIgRXJyb3IuICovCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9DRk5FVFdPUksgRXJyb3IgVVNFX21hY3JvX3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRXT1JL
Ci0KLS8qIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxsIHBs
YXRmb3JtcyBhbmQgZ2V0IHJpZCBvZiB0aGUgZGVmaW5lLiAqLwotI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKFFUKQotI2RlZmlu
ZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShX
SU4pCi0jZGVmaW5lIFdURl9VU0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQotI2RlZmluZSBX
VEZfVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCi0jZW5kaWYKLQotLyogR2VvbG9j
YXRpb24gcmVxdWVzdCBwb2xpY3kuIHByZS1lbXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJlIHVz
ZXIgcGVybWlzc2lvbiBiZWZvcmUgYWNxdWlyaW5nIGxvY2F0aW9uLiAqLwotI2RlZmluZSBXVEZf
VVNFX1BSRUVNUFRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTiAxCi0KLSNpZiBDUFUoQVJNX1RIVU1C
MikKLSNkZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQot
I2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKLSNlbGlmICFkZWZpbmVkKEVO
QUJMRV9USFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCi0jZGVmaW5lIEVOQUJM
RV9USFJFQURJTkdfT1BFTk1QIDEKLSNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQot
I2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQotI2VuZGlmCi0KLSNpZiBFTkFCTEUo
R0xJQl9TVVBQT1JUKQotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgotI2VuZGlm
Ci0KLS8qIEZJWE1FOiBUaGlzIGRlZmluZSB3b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEgaXMg
ZnVsbHkgbGFuZGVkLiBIb3dldmVyLCAKLSAgIHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1cHBv
cnQgc3ViLXByb2plY3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRlcnMKLSAgIHRvIFdU
RiBjYXVzZXMgbWFueSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBhZGRy
ZXNzIHRoZSBidWlsZAotICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KLSNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkKLSNkZWZpbmUgV1RG
X1VTRV9FWFBPUlRfTUFDUk9TIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JP
UyAwCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQotI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlOX1NP
Q0tFVFMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkg
JiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9U
SFVNQjIpKQotI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQotI2Rl
ZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQotI2VuZGlmCi0KLSNpZm5kZWYgTkRFQlVHCi0jaWZu
ZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9OCi0jZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEK
LSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZp
bmUgV1RGX1VTRV9BVkZPVU5EQVRJT04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgV1RGX1VT
RV9DT1JFTUVESUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdU
SykgfHwgUExBVEZPUk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQ
TEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJS
WSkKLSNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUg
V1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgSEFWRV9JTlZFUlRF
RF9XSEVFTF9FVkVOVFMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5lIFdU
Rl9VU0VfQ09SRUFVRElPIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jaWYg
IWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAxCi0jZW5kaWYKLSNlbmRp
ZiAvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCi0j
ZGVmaW5lIFdURl9VU0VfVjggMAotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICovCi0K
LS8qIFVzaW5nIFY4IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLwotI2Rl
ZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VTRV9WOAotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
ICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZ
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCi0jZGVmaW5lIFdURl9V
U0VfV1RGVVJMIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAhUExB
VEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfWkxJQiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIFdU
Rl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTUyNmY0YTM3ZjM3ODQ2
MjJkMGM1MTAzNThlM2E0NWRkNzNjYzVmOS4uYzlmNzYxMjUzMWYzZmJlNGMxOTFjNjhmMzczYmNl
YjliMDM0MTQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMSwzICsxLDQgQEAKIHd0Zl9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV1RGL1N0dWIuY3BwIFwKLQlTb3VyY2UvV1RGL1N0dWIuaAor
CVNvdXJjZS9XVEYvU3R1Yi5oIFwKKyAgICBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL1dURi5neXBpIGIvU291cmNlL1dURi9XVEYuZ3lwaQppbmRleCBh
ZWQxNzYyYmExNjFjMjIwNjYyZjM2ZDUwMTM5Y2QyNjFlYWM1YmQwLi43MWM2NzRjODQ0OWNlOGMy
OTBhMDk5ODQzZmM2NTMxNTdjZTI2ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5neXBp
CisrKyBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKQEAgLTMsNiArMyw3IEBACiAgICAgICAgICdwcm9q
ZWN0X2Rpcic6IFsnLiddLAogICAgICAgICAnd3RmX3ByaXZhdGVoZWFkZXJfZmlsZXMnOiBbCiAg
ICAgICAgICAgICAnU3R1Yi5oJywKKyAgICAgICAgICAgICd3dGYvUGxhdGZvcm0uaCcsCiAgICAg
ICAgIF0sCiAgICAgICAgICd3dGZfZmlsZXMnOiBbCiAgICAgICAgICAgICAnU3R1Yi5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4
IGIxMTdiMGQyZDc0ZmM4ZmFhNWQ1NDJlMjkyYzg2MWQ2YzBjMzU3NzguLmM0ZTBlOTBjZTVjMzc0
MmUyMWEzNGRmZmU1ZmVhMTA1YjdiMjEzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBy
bworKysgYi9Tb3VyY2UvV1RGL1dURi5wcm8KQEAgLTEwMiw3ICsxMDIsNyBAQCBIRUFERVJTICs9
IFwKICAgICBQYXNzT3duUHRyLmggXAogICAgIFBhc3NSZWZQdHIuaCBcCiAgICAgUGFzc1RyYWl0
cy5oIFwKLSAgICBQbGF0Zm9ybS5oIFwKKyAgICAuLi8uLi9XVEYvd3RmL1BsYXRmb3JtLmhQbGF0
Zm9ybS5oIFwKICAgICBQb3NzaWJseU51bGwuaCBcCiAgICAgcXQvVXRpbHNRdC5oIFwKICAgICBS
YW5kb21OdW1iZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODM0YjUzOTg0ZjkzMzM1MDc0
NWU4NzU0Y2NkYTQxNzBjMGYwMjBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaApAQCAtMCwwICsxLDEyMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBXVEZfUGxhdGZvcm1faAorI2RlZmluZSBXVEZfUGxhdGZvcm1f
aAorCisvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLworI2luY2x1ZGUgPHd0
Zi9Db21waWxlci5oPgorCisvKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBl
bnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKKyAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJl
IHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgorICAgbWFjcm9zLCBw
b2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuID09
PT0gKi8KKyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9QTEFURk9S
TV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSkKKworCisvKiA9
PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVz
IG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KKworLyogQ1BVKCkgLSB0aGUgdGFy
Z2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVBVFVSRSkKKy8qIEhB
VkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVuY3Rpb25zIG9yIHNp
bWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCisjZGVmaW5lIEhBVkUoV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dURl9GRUFUVVJFKQor
LyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZv
ciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBu
b3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChk
ZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKKwor
CisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hv
aWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KKworLyogVVNFKCkgLSB1c2UgYSBw
YXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLwor
I2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNXVEZfRkVBVFVSRSAg
JiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQorLyogRU5BQkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lm
aWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZpbmUgRU5BQkxFKFdURl9GRUFUVVJFKSAoZGVm
aW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZFQVRVUkUpCisKKwor
LyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9PT09ICovCisKKy8q
IFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlERExFX0VORElBTikg
b3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCisKKy8qIENQVShBTFBIQSkgLSBERUMgQWxw
aGEgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyNkZWZpbmUgV1RGX0NQVV9BTFBIQSAxCisj
ZW5kaWYKKworLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCisjaWYgZGVmaW5lZChf
X2lhNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKKy8qIDMyLWJpdCBtb2RlIG9uIEl0YW5p
dW0gKi8KKyNpZiAhZGVmaW5lZChfX0xQNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEK
KyNlbmRpZgorI2VuZGlmCisKKy8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCisvKiBOb3Rl
OiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkgZm9y
IG5vdy4gICovCisjaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVm
aW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKKyAgICAmJiBkZWZpbmVkKF9BQklPMzIp
CisjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaWYgZGVmaW5lZChfX01JUFNFQl9fKQorI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisjZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVm
aW5lZCBfX1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcworI2RlZmluZSBXVEZf
TUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYp
CisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNI
ICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBz
X2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19B
UkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19ET1VC
TEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmluZWQgX19taXBzX3Np
bmdsZV9mbG9hdCkKKyNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBfX21pcHNfZnByICYm
IF9fbWlwc19mcHIgPT0gNjQpCisvKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFs
aWduZWQgbWVtb3J5ICovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lO
VEVHRVIgMQorI2VuZGlmIC8qIE1JUFMgKi8KKworLyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJp
dCAqLworI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAorICAgIHx8IGRlZmluZWQoX19QUENf
XykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCisgICAgfHwgZGVmaW5lZChf
X3Bvd2VycGMpICAgXAorICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9NX1BQQykgICAgICBcCisgICAgfHwgZGVmaW5lZChfX1BQQykKKyNkZWZpbmUgV1RGX0NQ
VV9QUEMgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShQ
UEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwYzY0X18pIFwKKyAg
ICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCisjZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNINCkgLSBTdXBlckggU0gt
NCAqLworI2lmIGRlZmluZWQoX19TSDRfXykKKyNkZWZpbmUgV1RGX0NQVV9TSDQgMQorI2VuZGlm
CisKKy8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFy
YykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjdjgpCisjZGVmaW5l
IFdURl9DUFVfU1BBUkMzMiAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYK
KworLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3NwYXJj
X18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFyY3Y5KQorI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlm
CisKKy8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShTUEFSQzMyKSBhbmQg
Q1BVKFNQQVJDNjQpICovCisjaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFSQzY0KQorI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDIDEKKyNlbmRpZgorCisvKiBDUFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQg
Ki8KKyNpZiBkZWZpbmVkKF9fczM5MHhfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwWCAxCisjZGVm
aW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFMzOTApIC0gUzM5MCAz
Mi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MF9fKQorI2RlZmluZSBXVEZfQ1BVX1MzOTAgMQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShYODYpIC0gaTM4
NiAvIHg4NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwKKyAgICB8fCBkZWZp
bmVkKGkzODYpICAgICBcCisgICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAorICAgIHx8IGRlZmlu
ZWQoX1g4Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQorI2RlZmluZSBXVEZf
Q1BVX1g4NiAxCisjZW5kaWYKKworLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4
ODZfNjQgNjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwKKyAgICB8fCBkZWZp
bmVkKF9NX1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQorI2VuZGlmCisKKy8qIENQVShB
Uk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCisjaWYgICBkZWZpbmVkKGFybSkgXAorICAgIHx8IGRl
ZmluZWQoX19hcm1fXykgXAorICAgIHx8IGRlZmluZWQoQVJNKSBcCisgICAgfHwgZGVmaW5lZChf
QVJNXykKKyNkZWZpbmUgV1RGX0NQVV9BUk0gMQorCisjaWYgZGVmaW5lZChfX0FSTUVCX18pIHx8
IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCisjZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCisKKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgXAorICAgICYm
ICFkZWZpbmVkKF9fRUFCSV9fKSBcCisgICAgJiYgIWRlZmluZWQoX19WRlBfRlBfXykgXAorICAg
ICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAgICAmJiAhZGVmaW5lZChBTkRST0lEKQorI2Rl
ZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQorCisjZW5kaWYKKworI2RlZmluZSBXVEZfQVJN
X0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4p
CisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FSTV9B
UkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCisgICAgfHwgZGVm
aW5lZChfX01BUk1fQVJNVjRfXykgXAorICAgIHx8IGRlZmluZWQoX0FSTVY0SV8pCisjZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVfXykg
XAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01B
Uk1fQVJNVjVfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorCisjZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNUVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykg
XAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDUKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVk
IG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZa
S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYKKworI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykK
KyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNworCisvKiBSVkNUIHNldHMgX1RBUkdFVF9B
UkNIX0FSTSAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkKKyNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KKworI2lmIGRlZmluZWQoX19UQVJH
RVRfQVJDSF81RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEUpIFwKKyAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0
b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKyNlbHNlCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDAKKworI2VuZGlmCisKKy8qIFNldCBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OICov
CisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVm
aW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpf
XykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCisKKyNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82
WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQorI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIDMKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisg
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfN01fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA0CisK
Ky8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCisjZWxpZiBkZWZpbmVkKF9fVEFS
R0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19UQVJHRVRf
QVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKKyNl
bmRpZgorCisKKy8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1
IG9yIGVhcmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1l
bnQgaXMgcmVxdWlyZWQuIAorICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVyIGRpZmZlcmVuY2Vz
IGZvciB2NSBvciBlYXJsaWVyLiAqLworI2lmICFkZWZpbmVkKEFSTVY1X09SX0xPV0VSKSAmJiAh
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCisjZGVmaW5lIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIg
MQorI2VuZGlmCisKKworLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVtYjIgaXMgbm90IGF2
YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIpICovCisvKiBDUFUo
QVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWlsYWJsZSAqLworLyog
T25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLworI2lmICFkZWZpbmVkKFdURl9D
UFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpCisjICBp
ZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCisgICAgfHwgKChkZWZp
bmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiA9PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMAorIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMgIGVsaWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCisjICAgIGRlZmluZSBX
VEZfQ1BVX0FSTV9USFVNQjIgMAorIyAgZWxzZQorIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBB
Uk0gYXJjaGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpICYm
IENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KKyMgIGVycm9yICJDYW5ub3QgdXNl
IGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVfQVJNX1RIVU1CMiBw
bGF0Zm9ybXMiCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYm
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KKworI2lmIGRlZmluZWQoX19BUk1fTkVP
Tl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQorI2RlZmluZSBXVEZfQ1BVX0FSTV9O
RU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJNICovCisKKyNpZiBDUFUoQVJNKSB8fCBDUFUo
TUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQorI2RlZmluZSBXVEZfQ1BVX05FRURTX0FM
SUdORURfQUNDRVNTIDEKKyNlbmRpZgorCisvKiA9PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJh
dGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZp
Y2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0
ID09PT0gKi8KKworLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCisjaWZkZWYgQU5EUk9JRAor
I2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5kaWYKKworLyogT1MoQUlYKSAtIEFJWCAqLwor
I2lmZGVmIF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJWCAxCisjZW5kaWYKKworLyogT1MoREFSV0lO
KSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgaVBob25lIE9T
ICovCisjaWZkZWYgX19BUFBMRV9fCisjZGVmaW5lIFdURl9PU19EQVJXSU4gMQorCisjaW5jbHVk
ZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CisjaW5j
bHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjZW5kaWYKKworLyogT1MoSU9TKSAtIGlPUyAq
LworLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcgaU9TKSAqLworI2lm
IE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09T
X0VNQkVEREVEKSBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VU
X09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKKyAgICB8fCAoZGVmaW5lZChUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQorI2RlZmluZSBXVEZf
T1NfSU9TIDEKKyNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBU
QVJHRVRfT1NfTUFDCisjZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCisvKiBGSVhNRTogQlVJTERJ
TkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBmb2xkZWQgaW50byB0
aGUgT1MoKSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNk
ZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZp
bmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBCVUlMRElOR19PTl9MSU9OIDEKKyNl
bmRpZgorI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgVEFSR0VU
SU5HX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2Rl
ZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZF
UlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQorI2VuZGlmCisjZW5kaWYKKwor
LyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwg
ZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKKyNk
ZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisKKy8qIE9TKEhVUkQpIC0gR05VL0h1cmQg
Ki8KKyNpZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdURl9PU19IVVJEIDEKKyNlbmRpZgorCisvKiBP
UyhMSU5VWCkgLSBMaW51eCAqLworI2lmZGVmIF9fbGludXhfXworI2RlZmluZSBXVEZfT1NfTElO
VVggMQorI2VuZGlmCisKKy8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KKyNpZiBkZWZpbmVkKF9f
TmV0QlNEX18pCisjZGVmaW5lIFdURl9PU19ORVRCU0QgMQorI2VuZGlmCisKKy8qIE9TKE9QRU5C
U0QpIC0gT3BlbkJTRCAqLworI2lmZGVmIF9fT3BlbkJTRF9fCisjZGVmaW5lIFdURl9PU19PUEVO
QlNEIDEKKyNlbmRpZgorCisvKiBPUyhRTlgpIC0gUU5YICovCisjaWYgZGVmaW5lZChfX1FOWE5U
T19fKQorI2RlZmluZSBXVEZfT1NfUU5YIDEKKyNlbmRpZgorCisvKiBPUyhTT0xBUklTKSAtIFNv
bGFyaXMgKi8KKyNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikKKyNkZWZpbmUgV1RG
X09TX1NPTEFSSVMgMQorI2VuZGlmCisKKy8qIE9TKFdJTkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUg
dGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRlZmluZWQgKi8KKyNp
ZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5lIFdURl9PU19XSU5DRSAxCisjZW5kaWYKKwor
LyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCisjaWYgZGVmaW5lZChX
SU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5lIFdURl9PU19XSU5ET1dTIDEKKyNlbmRp
ZgorCisjZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJ
TiIKKyNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJVEggT1MgTk9UIE1B
QyIKKworLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLworI2lmICAgT1MoQUlY
KSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAgIFwKKyAgICB8fCBP
UyhEQVJXSU4pICAgICAgICAgICBcCisgICAgfHwgT1MoRlJFRUJTRCkgICAgICAgICAgXAorICAg
IHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKKyAgICB8fCBPUyhMSU5VWCkgICAgICAgICAgICBc
CisgICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAorICAgIHx8IE9TKE9QRU5CU0QpICAgICAg
ICAgIFwKKyAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCisgICAgfHwgT1MoU09MQVJJUykg
ICAgICAgICAgXAorICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKKyAgICB8fCBkZWZpbmVk
KF9fdW5peCkgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXhfXykKKyNkZWZpbmUgV1RGX09T
X1VOSVggMQorI2VuZGlmCisKKy8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KKworLyogRklY
TUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQg
cG9saWN5IGNob2ljZXMuICovCisvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KKy8qIFBMQVRGT1JN
KFFUKSAqLworLyogUExBVEZPUk0oV1gpICovCisvKiBQTEFURk9STShHVEspICovCisvKiBQTEFU
Rk9STShCTEFDS0JFUlJZKSAqLworLyogUExBVEZPUk0oTUFDKSAqLworLyogUExBVEZPUk0oV0lO
KSAqLworI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NIUk9NSVVNIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX1FUIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykKKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX1dYIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjZGVmaW5lIFdU
Rl9QTEFURk9STV9HVEsgMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFDS0JFUlJZX18pCisj
ZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKKyNlbGlmIE9TKERBUldJTikKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX01BQyAxCisjZWxpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBXVEZfUExB
VEZPUk1fV0lOIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1MpICovCisvKiBGSVhNRTogdGhp
cyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGln
aGVyLWxldmVsIHRoaW5ncyAqLworI2lmIChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYg
VEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJH
RVRfT1NfSVBIT05FKQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNlbmRpZgorCisvKiBQ
TEFURk9STShJT1NfU0lNVUxBVE9SKSAqLworI2lmIGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1V
TEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCisjZGVmaW5lIFdURl9QTEFURk9STV9J
T1MgMQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCisjZWxzZQorI2RlZmlu
ZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdU
Rl9QTEFURk9STV9JT1MpCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAorI2VuZGlmCisKKy8q
IEdyYXBoaWNzIGVuZ2luZXMgKi8KKworLyogVVNFKENHKSBhbmQgUExBVEZPUk0oQ0kpICovCisj
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0cgMQor
I2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShX
SU4pICYmIFVTRShDRykpCisjZGVmaW5lIFdURl9VU0VfQ0EgMQorI2VuZGlmCisKKy8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCisjaWYgUExBVEZPUk0oQ0hST01JVU0p
CisjaWYgT1MoREFSV0lOKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKKyNkZWZpbmUg
V1RGX1VTRV9TS0lBIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlmCisjZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZGVmaW5l
IFdURl9VU0VfSUNDSlBFRyAxCisjZWxpZiBPUyhBTkRST0lEKQorI2RlZmluZSBXVEZfVVNFX1NL
SUEgMQorI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCisjZWxzZQorI2RlZmluZSBX
VEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQ
UE9SVCAwCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNkZWZpbmUgV1RGX1VTRV9NRVJT
RU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKKyNlbmRpZgorCisKKyNp
ZiBPUyhXSU5DRSkKKyNpbmNsdWRlIDxjZV90aW1lLmg+CisjZGVmaW5lIFdURl9VU0VfTUVSU0VO
TkVfVFdJU1RFUl8xOTkzNyAxCisjZW5kaWYKKworLyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVy
Zm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBX
VEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKKyNlbmRpZgorCisjaWYgT1MoV0lO
Q0UpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgTk9NSU5NQVggICAgICAgLyogV2luZG93cyBt
aW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLworI2RlZmluZSBOT1NI
TFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5DZSAqLworCisvKiBN
U0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHByb3ZpZGVkIHdpdGgg
dXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8KKyNkZWZpbmUgX191
c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KKworI2RlZmluZSBfSU5DX0FTU0VS
VCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KKyNkZWZpbmUgYXNzZXJ0KHgpCisKKyNlbmRp
ZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KKworI2lmIFBMQVRGT1JNKFFUKQor
I2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVmaW5lIFdURl9VU0VfUVQ0X1VOSUNPREUg
MQorI2VuZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNkZWZpbmUgV1RGX1VTRV9XSU5DRV9VTklDT0RF
IDEKKyNlbGlmIFBMQVRGT1JNKEdUSykKKy8qIFRoZSBHVEsrIFVuaWNvZGUgYmFja2VuZCBpcyBj
b25maWd1cmFibGUgKi8KKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSUNVX1VOSUNPREUgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCisjaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgV1RGX1VTRV9QTFVH
SU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgRU5BQkxF
X0dFU1RVUkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5ESU5HIDEKKyNkZWZp
bmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFC
TEVfSkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAxCisjZW5kaWYKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUg
SEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCisjZGVmaW5lIEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEK
KyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAx
CisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCisjZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAx
CisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisj
ZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEKKyNlbmRpZgorI2Vu
ZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KKworI2lmIFBMQVRGT1JN
KENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisKKyNkZWZp
bmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KElPUykKKyNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2Rl
ZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFU
Rk9STShHVEspICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1P
UlkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9DT05URVhU
X01FTlVTIDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TIDAKKyNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCisjZGVmaW5lIEVO
QUJMRV9HRU9MT0NBVElPTiAxCisjZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMAorI2RlZmlu
ZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNkZWZp
bmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAxCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEhBVkVfTkVUV09SS19DRkRBVEFfQVJSQVlf
Q0FMTEJBQ0sgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9S
RUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCisjZGVmaW5lIFdURl9VU0Vf
Q0YgMQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVB
RFMgMQorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKKyAgICAjZGVmaW5lIEVOQUJMRV9D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAorICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDAKKyNlbHNlCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19J
TlRFUlBSRVRFUiAwCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKKyAgICAjZGVmaW5lIEVOQUJM
RV9MTElOVCAxCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorI2VuZGlmCisKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfQ0Yg
MQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2VuZGlmCisKKyNpZiBVU0UoQ0ZO
RVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VT
RV9DRlVSTENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hS
T01JVU0pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJP
TUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXWCkKKyNpZiAh
Q1BVKFBQQykKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZGVmaW5lIEVOQUJMRV9KSVQg
MQorI2VuZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAorI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisj
ZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEK
KyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjaWYgSEFWRShQVEhSRUFEX0gp
CisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKKyNlbmRpZgorI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCisjZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
Q0hST01JVU0pCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCisjZW5kaWYKKyNlbmRpZiAv
KiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCisKKyNpZiBPUyhVTklYKQorI2RlZmlu
ZSBIQVZFX1NJR05BTF9IIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9WQVNQUklOVEYp
CisjaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAhQ09NUElMRVIoTUlO
R1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQorI2RlZmluZSBIQVZFX1ZBU1BSSU5U
RiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9TVFJOU1RSKQorI2lmIE9T
KERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisjZGVmaW5l
IEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIU9TKFdJTkRPV1MpICYmICFP
UyhTT0xBUklTKSBcCisgICAgJiYgIU9TKFJWQ1QpIFwKKyAgICAmJiAhT1MoQU5EUk9JRCkKKyNk
ZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorI2RlZmluZSBIQVZFX1RNX1pPTkUgMQorI2RlZmluZSBI
QVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKworI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQor
I2RlZmluZSBIQVZFX01FUkdFU09SVCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmluZSBXVEZfVVNF
X0FDQ0VMRVJBVEUgMQorCisjaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECisKKyNkZWZpbmUgSEFW
RV9ESVNQQVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04gMQorCisj
aWYgIVBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKKyNl
bmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VsaWYg
T1MoV0lORE9XUykKKworI2lmIE9TKFdJTkNFKQorI2RlZmluZSBIQVZFX0VSUk5PX0ggMAorI2Vs
c2UKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisjZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxM
T0MgMQorI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKKyNlbmRpZgorI2RlZmluZSBI
QVZFX1ZJUlRVQUxBTExPQyAxCisKKyNlbGlmIE9TKFFOWCkKKworI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAx
CisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFW
RV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisKKyNlbGlmIE9TKEFO
RFJPSUQpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19I
IDAKKyNkZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKKworI2Vsc2UKKworLyogRklYTUU6IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBv
ciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZpZy5oPyAqLworCisj
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCisjZGVmaW5l
IEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
CisKKyNlbmRpZgorCisvKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KKworI2lmIFBMQVRGT1JN
KFFUKQorLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFu
ZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLworI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RN
QUxMT0NfTkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNkZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQor
I2VuZGlmCisjZW5kaWYKKworLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0aW9uIGFsbG93cyBm
b3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAorICAgbmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRl
LCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8KKyNpZiAhZGVmaW5l
ZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKKyNkZWZpbmUgRU5BQkxFX0ZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfSUNPTkRBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKKyNkZWZpbmUgRU5BQkxFX1NRTF9E
QVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKQorI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKKyNkZWZpbmUgRU5BQkxFX0NP
TlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JU
KQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfSU5TUEVDVE9SKQorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2RlZmluZSBFTkFCTEVfSkFW
QV9CUklER0UgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQorI2RlZmlu
ZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9Q
Uk9DRVNTKQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMAorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQorI2RlZmluZSBFTkFCTEVf
T1JJRU5UQVRJT05fRVZFTlRTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX09QQ09E
RV9TVEFUUykKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCisjZGVmaW5lIEVOQUJMRV9HTE9C
QUxfRkFTVE1BTExPQ19ORVcgMQorI2VuZGlmCisKKyNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhf
QlJFQUtQT0lOVCAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCisjZGVmaW5l
IEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19SRUdJT05T
IDAKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCisjZGVmaW5lIEVOQUJMRV9DT0RF
QkxPQ0tfU0FNUExJTkcgMAorI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpICYmICFFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQorI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMg
T1BDT0RFX1NBTVBMSU5HIgorI2VuZGlmCisjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykgfHwg
RU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVHSU9OUykKKyNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQorI2RlZmluZSBFTkFCTEVfVklFV1BPUlQgMAor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKKyNkZWZpbmUgRU5B
QkxFX05PVElGSUNBVElPTlMgMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5l
IEVOQUJMRV9URVhUX0NBUkVUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRf
Q0FSRVQpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NLKQorI2RlZmluZSBF
TkFCTEVfUE9JTlRFUl9MT0NLIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQorI2lmIChDUFUoWDg2XzY0
KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCisgICAgfHwgKENQVShJQTY0KSAmJiAh
Q1BVKElBNjRfMzIpKSBcCisgICAgfHwgQ1BVKEFMUEhBKSBcCisgICAgfHwgQ1BVKFNQQVJDNjQp
IFwKKyAgICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8fCBDUFUoUFBDNjQpCisjZGVmaW5lIFdURl9V
U0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyXzY0IDEKKyNl
bmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KKworI2lmICFkZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RI
Uk9UVExJTkcpCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMAorI2VuZGlmCisK
Ky8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3IgdG8gNC4xICovCisj
aWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05f
QVRfTEVBU1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyogSklU
IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KKyNpZiAhZGVmaW5lZChF
TkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQorI2RlZmluZSBFTkFCTEVf
SklUIDAKKyNlbmRpZgorCisvKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwg
eDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLworI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwg
Q1BVKE1JUFMpKSBcCisgICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0ND
X1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKKyAgICAmJiAhT1MoV0lOQ0UpIFwKKyAgICAm
JiAhT1MoUU5YKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBPbiBzb21lIG9m
IHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0byBhbHNvIGhhdmUg
dGhlIAorICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9M
TElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKFFUKSkgJiYg
KENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5B
QkxFX0xMSU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVO
QUJMRShKSVQpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQuICBPbmx5
IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KKyNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKKyNkZWZpbmUgRU5BQkxFX0RG
R19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRl
c3RlZCBvbiBpT1MuICovCisjaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPUykKKyNk
ZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisjZW5kaWYKKworLyogUHJvZmlsaW5nIG9m
IHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0
LCBidXQgeW91CisgICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZHIHR1cm5lZCBvZmYg
aWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQorICAgcHJvZmlsZXIuIEluIHRo
YXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFCisgICBiZWxvdy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfVkFMVUVfUFJPRklMRVIp
ICYmIEVOQUJMRShERkdfSklUKQorI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJPRklMRVIgMQorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFC
TEUoVkFMVUVfUFJPRklMRVIpCisjZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUg
MAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HKQor
I2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKKyNlbmRpZgorCisvKiBDb3Vu
dHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4gQmUgc3Vy
ZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICovCisjaWYg
IWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVf
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlmCisKKy8qIEVuc3VyZSB0aGF0IGVpdGhl
ciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVkLiAqLworI2lmICFk
ZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxFKEpJVCkKKyNkZWZp
bmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2VuZGlmCisjaWYgIShFTkFCTEUoSklU
KSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCisjZXJyb3IgWW91IGhhdmUgdG8gaGF2
ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlNDCisjZW5k
aWYKKworI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfSklUIDEK
KyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIEpJVCAqLworI2lmIENQVShBUk0pCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1fQVJDSF9BVF9MRUFT
VCg1KQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYKKyNlbmRp
ZgorCisjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMpCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCisjZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihN
U1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQVShYODYpICYm
IENPTVBJTEVSKEdDQykKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFz
dGNhbGwpKQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTAorI2VuZGlmCisKKy8qIENvbmZp
Z3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBDT01QSUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJ
T05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCisjZGVmaW5lIEhB
VkVfQ09NUFVURURfR09UTyAxCisjZW5kaWYKKyNpZiBIQVZFKENPTVBVVEVEX0dPVE8pICYmIEVO
QUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmluZSBFTkFCTEVfQ09NUFVURURfR09UT19D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorCisvKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJh
Y2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVk
IGF0IGV4aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAKKworLyogWWV0IEFu
b3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxl
ZCBwb3J0cy4gKi8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDAKKworI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQor
I2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJl
cyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCisjZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVF9ERUJVRyAwCisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZ
QVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZW5kaWYKKworLyogUGljayB3
aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0
b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KKyAgIE9uIHg4Ni02NCB3ZSB1c2Ug
YSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1tYXAgb24gZGVtYW5k
LiAqLworI2lmIEVOQUJMRShBU1NFTUJMRVIpCisjaWYgQ1BVKFg4Nl82NCkgfHwgUExBVEZPUk0o
SU9TKQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQgMQorI2Vsc2UK
KyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYmIE9TKFdJTkRPV1Mp
CisjZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5H
IDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQorI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMAorI2VuZGlmCisKKy8qIFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRl
ciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KKy8qIFVzZSB0aGUgUVht
bFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCisjaWYgUExBVEZPUk0o
UVQpCisjaWYgIVVTRShMSUJYTUwyKQorI2RlZmluZSBXVEZfVVNFX1FYTUxTVFJFQU0gMQorI2Rl
ZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKQorLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLworI2lmbmRlZiBCVUlMRElOR19PTl9M
RU9QQVJECisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMAorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVY
VCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JF
X1RFWFQgMAorI2VuZGlmCisjZW5kaWYKKworLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8K
KyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBM
QVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAxCisj
ZW5kaWYKKworLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLwor
I2lmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQor
I2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0Vf
QVVUSF9DQUxMQkFDSyAxCisjZW5kaWYKKworI2lmICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVOSVgpICYmIChQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKSkKKyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9IQVNIIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCisjZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQorI2VuZGlmCisK
Ky8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0
byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVyIEVycm9yLiAqLwor
I2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNyb19zaG91bGRfYmVf
dXNlZF93aXRoX0NGTkVUV09SSworCisvKiBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgZW5h
YmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhlIGRlZmluZS4gKi8K
KyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQ
TEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVHSUVTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oV0lOKQorI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NP
TlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNT
SUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQor
I2VuZGlmCisKKy8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xp
Y3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlv
bi4gKi8KKyNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04gMQor
CisjaWYgQ1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYm
IEhBVkUoRElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAx
CisjZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BF
Tk1QKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCisjZWxpZiAhZGVmaW5lZChU
SFJFQURJTkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19HRU5FUklDIDEKKyNl
bmRpZgorCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
VHlwZWRlZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVl
ZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCisgICBzaW5jZSBtb3N0
IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5l
dyBoZWFkZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0
aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKKyAgIGJyZWFrYWdlcyBvbmUgcG9ydCBh
dCBhIHRpbWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oV1gpCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCisjZWxzZQorI2RlZmluZSBX
VEZfVVNFX0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oUVQpICYmICFP
UyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RG
X1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShYODYpIHx8IENQVShY
ODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0NPTVBBUkVfQU5EX1NX
QVAgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYmIChQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAmJiBFTkFCTEUoQ09N
UEFSRV9BTkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEKKyNlbmRpZgorCisj
aWZuZGVmIE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgorI2RlZmluZSBFTkFC
TEVfR0NfVkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJ
T04pCisjZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBMQVRGT1JNKFdJTikg
JiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExB
WV9NT05JVE9SIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisj
ZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKQorI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQorI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9VU0Vf
VjggMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICovCisKKyNpZiAhZGVm
aW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDAKKyNlbmRpZiAvKiAhZGVmaW5l
ZChXVEZfVVNFX1Y4KSAqLworCisvKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBKU0MgYW5k
IHZpY2UgdmVyc2EgKi8KKyNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKKworI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCisjZGVmaW5lIEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfV1RG
VVJMKQorI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdU
Rl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1pMSUIgMQorI2Vu
ZGlmCisKKyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0
cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5
Nzk2ODU0YzhkNDZjLi5hOWMxYmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEw
MDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiAr
MjcsNyBAQCBJRiAoT05MWV9CVUlMRF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RP
T0xTIE9GRikKIEVORElGICgpCiAKK1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XVEYiKQogU0VUKEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUiKQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJDb3JlIikKIFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9
L1NvdXJjZS9XZWJLaXQiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IDdlZDdkNDQ4NDE4OTU0ZjhlZjY3Y2M2MDk3NmFlODk4MzJjYThlNGIuLmJmNjNlODE5NDUwOTRk
OTA1N2FkODY4OWZlNGUxMjU0ZTE4ZjA3NTIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmlj
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3Jp
cHRDb3JlIHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEy
LTAzLTE3ICBDaGFybGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gRW5hYmxlIFdlYiBUaW1pbmcgZm9yIHBlcmZvcm1hbmNlIHBy
b2ZpbGluZyBhbmQgaW1wcm92ZW1lbnQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132742</attachid>
            <date>2012-03-19 18:51:17 -0700</date>
            <delta_ts>2012-03-19 22:45:14 -0700</delta_ts>
            <desc>fix Mac</desc>
            <filename>bug-80911-20120319185116.patch</filename>
            <type>text/plain</type>
            <size>81187</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
MTI5MjNjOWQ0N2E4YWMwYWQ0MzExMzA3ZGY1ODg3NjcxZDg4ZmI5Li4yYzM2MWY5OTQxNjg3OGFl
OTI3ZWFlMjcyNzQ4MDY4MDBlODQ2NzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERGRyBjYW4gbm8g
bG9uZ2VyIGNvbXBpbGUgVjgtdjQvcmVnZXhwIGluIGRlYnVnIG1vZGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYjUwZTc3MDE2
MzRkMjlhZjhiMDViYTU4ZTg3NjFhNzljMDcwZDc0YS4uZmIwYWMyMTdhZTg4MDUxM2UwNzdmZjg3
Mzg0YjFmY2Q1NjQ1OTYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMy0xOSAgRXJpYyBT
ZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBm
cm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgdG8gdGVzdCB3aGF0IGJ1
aWxkcyBicmVhayBhbmQgaG93LgorICAgICAgICBNYWM6IHNob3VsZCBidWlsZAorICAgICAgICBX
aW46IGNhbid0IGJlIGZpeGVkIHVudGlsIGJ1ZyA4MDY4MCBsYW5kcy4KKyAgICAgICAgR3RrOiBt
aWdodCBidWlsZAorICAgICAgICBRdDogbWlnaHQgYnVpbGQsIGxpa2VseSBuZWVkcyBoZWxwIGZy
b20gUXQgZm9sa3MuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFdURi5neXBpOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oLgorCiAyMDEyLTAzLTE5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgU2V0IHRoZSBzdm46aWdub3JlIHByb3BlcnR5IG9uIHRoZSBYY29k
ZSBwcm9qZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQyMDg2ODhl
YWM5ZmIzYzgzY2FiYzhmYjk2NjY5M2JhYWY3ZGY2N2YuLmRiZTQyYzhlZWNhZTdiYjg1ZWUwZmI3
ZGYxZDVlMWJjMGM0NzY0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTEsNSArMSw2IEBACiBTRVQoSmF2YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke0NNQUtFX0JJTkFSWV9ESVJ9IgorICAgICIke1dURl9ESVJ9IgogICAgICIke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0iCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9BUEkiCiAgICAgIiR7SkFW
QVNDUklQVENPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpCmluZGV4IGVlYWNlMTc2NDk4OWRiMTQ5MDI1ZjkzZDlkODU5OTZk
NjhlZDZhYzkuLmJlMDhlMDkwZjEzYzFjMzlhYTg0YmVhZDRhMGQ2ZGUyNGU0YmMyYjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMTEsNyArMTEsOCBAQCBK
QVZBU0NSSVBUQ09SRV9HRU5FUkFURURfU09VUkNFU19ESVIgPSAkJHtST09UX0JVSUxEX0RJUn0v
U291cmNlL0phdmFTY3JpcHRDb3JlLwogCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRTT1VSQ0Vf
RElSIFwKLSAgICAkJFNPVVJDRV9ESVIvLi4gXAorICAgICQkU09VUkNFX0RJUi8uLiBcICAjIFRo
aXMgc2VlbXMgbGlrZSBhIGJhZCBpZGVhIQorICAgICQkU09VUkNFX0RJUi8uLi9XVEYgXAogICAg
ICQkU09VUkNFX0RJUi9hc3NlbWJsZXIgXAogICAgICQkU09VUkNFX0RJUi9ieXRlY29kZSBcCiAg
ICAgJCRTT1VSQ0VfRElSL2J5dGVjb21waWxlciBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagppbmRleCAz
YmY3ODE3ZjMxODUwOGNjMjk3MTE1N2YzYjRhOWVkYzY0NjNjNzdkLi5jMzQxZGE2NmE1NWZlOGVl
MWI3Y2Y0YjMyNmI2MDI0ZGM5MDczNTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTk5Nywx
MCArOTk3LDYgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlx3dGZcUGxhdGZvcm0uaCIKLQkJCT4KLQkJPC9GaWxlPgotCQk8RmlsZQogCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlx3dGZcUG9zc2libHlOdWxsLmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2JmNjVmZmJlYjJmNDM5YjBkMDU5OGZmNWVkZjhj
MWNkM2I1YThhNy4uMzQ4ZDZjZDdmMjE3MTJmMjg0NzA4NGZkOWMzNTFiYzEyZTE4MDg0YyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTMsNyArMTA5Myw2IEBACiAJCTY1QzY0
N0IzMDkzRUY4RDYwMDIyQzM4MCAvKiBSZWZQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVDN0ExNzEwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3Jh
cHBlck9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNX
cmFwcGVyT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVDN0ExNzIw
QThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjVERkM5MkEwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hGdW5jdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaEZ1bmN0
aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1REZD
OTJCMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQzA4RUExNzNBMDBGNzMwMEIgLyogSGFz
aFNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIYXNoU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKQEAg
LTIxNDEsNyArMjE0MCw2IEBACiAJCQkJNDRERDQ4NTIwRkFFQTg1MDAwRDZCNEVCIC8qIFBhc3NP
d25QdHIuaCAqLywKIAkJCQk2NTgwRjc5NTA5NDA3MDU2MDA4MkMyMTkgLyogUGFzc1JlZlB0ci5o
ICovLAogCQkJCTY1MURDQTAyMTM2QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJhaXRzLmggKi8sCi0J
CQkJNjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8sCiAJCQkJQTdENjQ5
QTkxMDE1MjI0RTAwOUIyRTFCIC8qIFBvc3NpYmx5TnVsbC5oICovLAogCQkJCTA4OEZBNUI5MEVG
NzZENDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuY3BwICovLAogCQkJCTA4OEZBNUJBMEVGNzZE
NDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0NNYWtlTGlzdHMudHh0CmluZGV4IDcyNDIwMTI4YTdhZjU5MTY4OGFkNDRmZTUxYjBmNTg1ZWE2
NzJiNmEuLmFkYWI3Mjg2YTcwOTM5Y2UyOTdiMDU5MzJiNWQxOGE4NDRjNmNjZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNjksNyArNjksNyBAQCBTRVQo
V1RGX0hFQURFUlMKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmgKICAgICBQYXJhbGxlbEpvYnNM
aWJkaXNwYXRjaC5oCiAgICAgUGFyYWxsZWxKb2JzT3Blbk1QLmgKLSAgICBQbGF0Zm9ybS5oCisg
ICAgJHtXVEZfRElSfS93dGYvUGxhdGZvcm0uaAogICAgIFBvc3NpYmx5TnVsbC5oCiAgICAgUmFu
ZG9tTnVtYmVyLmgKICAgICBSYW5kb21OdW1iZXJTZWVkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgzNGI1Mzk4NGY5MzMz
NTA3NDVlODc1NGNjZGE0MTcwYzBmMDIwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwxMjEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBXVEZfUGxhdGZvcm1faAotI2RlZmluZSBXVEZfUGxhdGZvcm1f
aAotCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUgPHd0
Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBl
bnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKLSAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJl
IHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgotICAgbWFjcm9zLCBw
b2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuID09
PT0gKi8KLSNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9QTEFURk9S
TV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSkKLQotCi0vKiA9
PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVz
IG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KLQotLyogQ1BVKCkgLSB0aGUgdGFy
Z2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNkZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVBVFVSRSkKLS8qIEhB
VkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVuY3Rpb25zIG9yIHNp
bWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCi0jZGVmaW5lIEhBVkUoV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dURl9GRUFUVVJFKQot
LyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZv
ciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZpcnR1YWwgbWVtb3J5LCBu
b3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KLSNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChk
ZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKLQot
Ci0vKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hv
aWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KLQotLyogVVNFKCkgLSB1c2UgYSBw
YXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLwot
I2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNXVEZfRkVBVFVSRSAg
JiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQotLyogRU5BQkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lm
aWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KLSNkZWZpbmUgRU5BQkxFKFdURl9GRUFUVVJFKSAoZGVm
aW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZFQVRVUkUpCi0KLQot
LyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9PT09ICovCi0KLS8q
IFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlERExFX0VORElBTikg
b3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCi0KLS8qIENQVShBTFBIQSkgLSBERUMgQWxw
aGEgKi8KLSNpZiBkZWZpbmVkKF9fYWxwaGFfXykKLSNkZWZpbmUgV1RGX0NQVV9BTFBIQSAxCi0j
ZW5kaWYKLQotLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCi0jaWYgZGVmaW5lZChf
X2lhNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKLS8qIDMyLWJpdCBtb2RlIG9uIEl0YW5p
dW0gKi8KLSNpZiAhZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEK
LSNlbmRpZgotI2VuZGlmCi0KLS8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCi0vKiBOb3Rl
OiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkgZm9y
IG5vdy4gICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVm
aW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKLSAgICAmJiBkZWZpbmVkKF9BQklPMzIp
Ci0jZGVmaW5lIFdURl9DUFVfTUlQUyAxCi0jaWYgZGVmaW5lZChfX01JUFNFQl9fKQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0jZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVm
aW5lZCBfX1BJQ19fKQotI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcwotI2RlZmluZSBXVEZf
TUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYp
Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNI
ICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKLSNkZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBz
X2lzYV9yZXYKLSNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19B
UkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19ET1VC
TEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmluZWQgX19taXBzX3Np
bmdsZV9mbG9hdCkKLSNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBfX21pcHNfZnByICYm
IF9fbWlwc19mcHIgPT0gNjQpCi0vKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFs
aWduZWQgbWVtb3J5ICovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lO
VEVHRVIgMQotI2VuZGlmIC8qIE1JUFMgKi8KLQotLyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJp
dCAqLwotI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUENf
XykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCi0gICAgfHwgZGVmaW5lZChf
X3Bvd2VycGMpICAgXAotICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9NX1BQQykgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQykKLSNkZWZpbmUgV1RGX0NQ
VV9QUEMgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShQ
UEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3BwYzY0X18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCi0jZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNINCkgLSBTdXBlckggU0gt
NCAqLwotI2lmIGRlZmluZWQoX19TSDRfXykKLSNkZWZpbmUgV1RGX0NQVV9TSDQgMQotI2VuZGlm
Ci0KLS8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFy
YykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjdjgpCi0jZGVmaW5l
IFdURl9DUFVfU1BBUkMzMiAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYK
LQotLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3NwYXJj
X18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFyY3Y5KQotI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlm
Ci0KLS8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShTUEFSQzMyKSBhbmQg
Q1BVKFNQQVJDNjQpICovCi0jaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFSQzY0KQotI2RlZmlu
ZSBXVEZfQ1BVX1NQQVJDIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQg
Ki8KLSNpZiBkZWZpbmVkKF9fczM5MHhfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwWCAxCi0jZGVm
aW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTApIC0gUzM5MCAz
Mi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MF9fKQotI2RlZmluZSBXVEZfQ1BVX1MzOTAgMQot
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShYODYpIC0gaTM4
NiAvIHg4NiAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwKLSAgICB8fCBkZWZp
bmVkKGkzODYpICAgICBcCi0gICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAotICAgIHx8IGRlZmlu
ZWQoX1g4Nl8pICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQotI2RlZmluZSBXVEZf
Q1BVX1g4NiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4
ODZfNjQgNjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwKLSAgICB8fCBkZWZp
bmVkKF9NX1g2NCkKLSNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQotI2VuZGlmCi0KLS8qIENQVShB
Uk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCi0jaWYgICBkZWZpbmVkKGFybSkgXAotICAgIHx8IGRl
ZmluZWQoX19hcm1fXykgXAotICAgIHx8IGRlZmluZWQoQVJNKSBcCi0gICAgfHwgZGVmaW5lZChf
QVJNXykKLSNkZWZpbmUgV1RGX0NQVV9BUk0gMQotCi0jaWYgZGVmaW5lZChfX0FSTUVCX18pIHx8
IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCi0jZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCi0KLSNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgXAotICAgICYm
ICFkZWZpbmVkKF9fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19WRlBfRlBfXykgXAotICAg
ICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKLSAgICAmJiAhZGVmaW5lZChBTkRST0lEKQotI2Rl
ZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQotCi0jZW5kaWYKLQotI2RlZmluZSBXVEZfQVJN
X0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4p
Ci0KLS8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9B
UkNIXzRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCi0gICAgfHwgZGVm
aW5lZChfX01BUk1fQVJNVjRfXykgXAotICAgIHx8IGRlZmluZWQoX0FSTVY0SV8pCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwgZGVmaW5lZChfX01B
Uk1fQVJNVjVfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotCi0jZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDUKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVk
IG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZa
S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTVY2X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYKLQotI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykK
LSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNwotCi0vKiBSVkNUIHNldHMgX1RBUkdFVF9B
UkNIX0FSTSAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkKLSNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KLQotI2lmIGRlZmluZWQoX19UQVJH
RVRfQVJDSF81RSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEUpIFwKLSAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0
b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLSNlbHNlCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDAKLQotI2VuZGlmCi0KLS8qIFNldCBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OICov
Ci0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiAxCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwgZGVm
aW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpf
XykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCi0KLSNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82
WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQotI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIDMKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0g
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfN01fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA0Ci0K
LS8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCi0jZWxpZiBkZWZpbmVkKF9fVEFS
R0VUX0FSQ0hfVEhVTUIpCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19UQVJHRVRf
QVJDSF9USFVNQgotCi0jZWxzZQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKLSNl
bmRpZgotCi0KLS8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1
IG9yIGVhcmxpZXIgKi8KLS8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1l
bnQgaXMgcmVxdWlyZWQuIAotICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVyIGRpZmZlcmVuY2Vz
IGZvciB2NSBvciBlYXJsaWVyLiAqLwotI2lmICFkZWZpbmVkKEFSTVY1X09SX0xPV0VSKSAmJiAh
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCi0jZGVmaW5lIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIg
MQotI2VuZGlmCi0KLQotLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVtYjIgaXMgbm90IGF2
YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIpICovCi0vKiBDUFUo
QVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWlsYWJsZSAqLwotLyog
T25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLwotI2lmICFkZWZpbmVkKFdURl9D
UFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpCi0jICBp
ZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCi0gICAgfHwgKChkZWZp
bmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiA9PSA0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMAotIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKLSMgIGVsaWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KDQpCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCi0jICAgIGRlZmluZSBX
VEZfQ1BVX0FSTV9USFVNQjIgMAotIyAgZWxzZQotIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBB
Uk0gYXJjaGl0ZWN0dXJlIgotIyAgZW5kaWYKLSNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpICYm
IENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KLSMgIGVycm9yICJDYW5ub3QgdXNl
IGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVfQVJNX1RIVU1CMiBw
bGF0Zm9ybXMiCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYm
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KLQotI2lmIGRlZmluZWQoX19BUk1fTkVP
Tl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQotI2RlZmluZSBXVEZfQ1BVX0FSTV9O
RU9OIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogQVJNICovCi0KLSNpZiBDUFUoQVJNKSB8fCBDUFUo
TUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQotI2RlZmluZSBXVEZfQ1BVX05FRURTX0FM
SUdORURfQUNDRVNTIDEKLSNlbmRpZgotCi0vKiA9PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJh
dGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZp
Y2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0
ID09PT0gKi8KLQotLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCi0jaWZkZWYgQU5EUk9JRAot
I2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCi0jZW5kaWYKLQotLyogT1MoQUlYKSAtIEFJWCAqLwot
I2lmZGVmIF9BSVgKLSNkZWZpbmUgV1RGX09TX0FJWCAxCi0jZW5kaWYKLQotLyogT1MoREFSV0lO
KSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgaVBob25lIE9T
ICovCi0jaWZkZWYgX19BUFBMRV9fCi0jZGVmaW5lIFdURl9PU19EQVJXSU4gMQotCi0jaW5jbHVk
ZSA8QXZhaWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+Ci0jaW5j
bHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jZW5kaWYKLQotLyogT1MoSU9TKSAtIGlPUyAq
LwotLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcgaU9TKSAqLwotI2lm
IE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09T
X0VNQkVEREVEKSBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VU
X09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKLSAgICB8fCAoZGVmaW5lZChUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQotI2RlZmluZSBXVEZf
T1NfSU9TIDEKLSNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBU
QVJHRVRfT1NfTUFDCi0jZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCi0vKiBGSVhNRTogQlVJTERJ
TkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBmb2xkZWQgaW50byB0
aGUgT1MoKSBzeXN0ZW0gKi8KLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNk
ZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzcKLSNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZp
bmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2RlZmluZSBCVUlMRElOR19PTl9MSU9OIDEKLSNl
bmRpZgotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNkZWZpbmUgVEFSR0VU
SU5HX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNwotI2Rl
ZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZF
UlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKLSNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQotI2VuZGlmCi0jZW5kaWYKLQot
LyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCi0jaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwg
ZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKLSNk
ZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQotI2VuZGlmCi0KLS8qIE9TKEhVUkQpIC0gR05VL0h1cmQg
Ki8KLSNpZmRlZiBfX0dOVV9fCi0jZGVmaW5lIFdURl9PU19IVVJEIDEKLSNlbmRpZgotCi0vKiBP
UyhMSU5VWCkgLSBMaW51eCAqLwotI2lmZGVmIF9fbGludXhfXwotI2RlZmluZSBXVEZfT1NfTElO
VVggMQotI2VuZGlmCi0KLS8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KLSNpZiBkZWZpbmVkKF9f
TmV0QlNEX18pCi0jZGVmaW5lIFdURl9PU19ORVRCU0QgMQotI2VuZGlmCi0KLS8qIE9TKE9QRU5C
U0QpIC0gT3BlbkJTRCAqLwotI2lmZGVmIF9fT3BlbkJTRF9fCi0jZGVmaW5lIFdURl9PU19PUEVO
QlNEIDEKLSNlbmRpZgotCi0vKiBPUyhRTlgpIC0gUU5YICovCi0jaWYgZGVmaW5lZChfX1FOWE5U
T19fKQotI2RlZmluZSBXVEZfT1NfUU5YIDEKLSNlbmRpZgotCi0vKiBPUyhTT0xBUklTKSAtIFNv
bGFyaXMgKi8KLSNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikKLSNkZWZpbmUgV1RG
X09TX1NPTEFSSVMgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUg
dGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRlZmluZWQgKi8KLSNp
ZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCi0jZGVmaW5lIFdURl9PU19XSU5DRSAxCi0jZW5kaWYKLQot
LyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCi0jaWYgZGVmaW5lZChX
SU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCi0jZGVmaW5lIFdURl9PU19XSU5ET1dTIDEKLSNlbmRp
ZgotCi0jZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJ
TiIKLSNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJVEggT1MgTk9UIE1B
QyIKLQotLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLwotI2lmICAgT1MoQUlY
KSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAgIFwKLSAgICB8fCBP
UyhEQVJXSU4pICAgICAgICAgICBcCi0gICAgfHwgT1MoRlJFRUJTRCkgICAgICAgICAgXAotICAg
IHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhMSU5VWCkgICAgICAgICAgICBc
Ci0gICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAotICAgIHx8IE9TKE9QRU5CU0QpICAgICAg
ICAgIFwKLSAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCi0gICAgfHwgT1MoU09MQVJJUykg
ICAgICAgICAgXAotICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKLSAgICB8fCBkZWZpbmVk
KF9fdW5peCkgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXhfXykKLSNkZWZpbmUgV1RGX09T
X1VOSVggMQotI2VuZGlmCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KLQotLyogRklY
TUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQg
cG9saWN5IGNob2ljZXMuICovCi0vKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLS8qIFBMQVRGT1JN
KFFUKSAqLwotLyogUExBVEZPUk0oV1gpICovCi0vKiBQTEFURk9STShHVEspICovCi0vKiBQTEFU
Rk9STShCTEFDS0JFUlJZKSAqLwotLyogUExBVEZPUk0oTUFDKSAqLwotLyogUExBVEZPUk0oV0lO
KSAqLwotI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NIUk9NSVVNIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX1FUIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX1dYIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9HVEsgMQotI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFDS0JFUlJZX18pCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKLSNlbGlmIE9TKERBUldJTikKLSNkZWZp
bmUgV1RGX1BMQVRGT1JNX01BQyAxCi0jZWxpZiBPUyhXSU5ET1dTKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fV0lOIDEKLSNlbmRpZgotCi0vKiBQTEFURk9STShJT1MpICovCi0vKiBGSVhNRTogdGhp
cyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGln
aGVyLWxldmVsIHRoaW5ncyAqLwotI2lmIChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYg
VEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJH
RVRfT1NfSVBIT05FKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNlbmRpZgotCi0vKiBQ
TEFURk9STShJT1NfU0lNVUxBVE9SKSAqLwotI2lmIGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1V
TEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCi0jZGVmaW5lIFdURl9QTEFURk9STV9J
T1MgMQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCi0jZWxzZQotI2RlZmlu
ZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdU
Rl9QTEFURk9STV9JT1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAotI2VuZGlmCi0KLS8q
IEdyYXBoaWNzIGVuZ2luZXMgKi8KLQotLyogVVNFKENHKSBhbmQgUExBVEZPUk0oQ0kpICovCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQot
I2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShX
SU4pICYmIFVTRShDRykpCi0jZGVmaW5lIFdURl9VU0VfQ0EgMQotI2VuZGlmCi0KLS8qIFVTRShT
S0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0p
Ci0jaWYgT1MoREFSV0lOKQotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKLSNkZWZpbmUg
V1RGX1VTRV9TS0lBIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQotI2VuZGlmCi0jZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5l
IFdURl9VU0VfSUNDSlBFRyAxCi0jZWxpZiBPUyhBTkRST0lEKQotI2RlZmluZSBXVEZfVVNFX1NL
SUEgMQotI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQ
UE9SVCAwCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNkZWZpbmUgV1RGX1VTRV9NRVJT
RU5ORV9UV0lTVEVSXzE5OTM3IDEKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oR1RLKQotI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKLSNlbmRpZgotCi0KLSNp
ZiBPUyhXSU5DRSkKLSNpbmNsdWRlIDxjZV90aW1lLmg+Ci0jZGVmaW5lIFdURl9VU0VfTUVSU0VO
TkVfVFdJU1RFUl8xOTkzNyAxCi0jZW5kaWYKLQotLyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVy
Zm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KLSNpZiBPUyhXSU5ET1dTKQotI2RlZmluZSBX
VEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKLSNlbmRpZgotCi0jaWYgT1MoV0lO
Q0UpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgTk9NSU5NQVggICAgICAgLyogV2luZG93cyBt
aW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLwotI2RlZmluZSBOT1NI
TFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5DZSAqLwotCi0vKiBN
U0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHByb3ZpZGVkIHdpdGgg
dXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8KLSNkZWZpbmUgX191
c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KLQotI2RlZmluZSBfSU5DX0FTU0VS
VCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KLSNkZWZpbmUgYXNzZXJ0KHgpCi0KLSNlbmRp
ZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KLQotI2lmIFBMQVRGT1JNKFFUKQot
I2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCi0jZGVmaW5lIFdURl9VU0VfUVQ0X1VOSUNPREUg
MQotI2VuZGlmCi0jZWxpZiBPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9XSU5DRV9VTklDT0RF
IDEKLSNlbGlmIFBMQVRGT1JNKEdUSykKLS8qIFRoZSBHVEsrIFVuaWNvZGUgYmFja2VuZCBpcyBj
b25maWd1cmFibGUgKi8KLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSUNVX1VOSUNPREUgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCi0jaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgV1RGX1VTRV9QTFVH
SU5fSE9TVF9QUk9DRVNTIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgRU5BQkxF
X0dFU1RVUkVfRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5ESU5HIDEKLSNkZWZp
bmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChFTkFC
TEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAxCi0jZW5kaWYKLSNp
ZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNkZWZpbmUg
SEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCi0jZGVmaW5lIEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSAxCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEK
LSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAx
Ci0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCi0jZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAx
Ci0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCi0j
ZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEKLSNlbmRpZgotI2Vu
ZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KLQotI2lmIFBMQVRGT1JN
KENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0KLSNkZWZp
bmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KElPUykKLSNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBIQVZFX0RJU1BBVENIX0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pICYmICFQTEFU
Rk9STShHVEspICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1P
UlkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhU
X01FTlVTIDAKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVmaW5lIEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TIDAKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZGVmaW5lIEVO
QUJMRV9HRU9MT0NBVElPTiAxCi0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMAotI2RlZmlu
ZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNkZWZp
bmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAotI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAxCi0jZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEhBVkVfTkVUV09SS19DRkRBVEFfQVJSQVlf
Q0FMTEJBQ0sgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNkZWZpbmUgSEFWRV9S
RUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCi0jZGVmaW5lIFdURl9VU0Vf
Q0YgMQotI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVB
RFMgMQotCi0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLSAgICAjZGVmaW5lIEVOQUJMRV9D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKLSAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAotICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDAKLSNlbHNlCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19J
TlRFUlBSRVRFUiAwCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDEKLSAgICAjZGVmaW5lIEVOQUJM
RV9MTElOVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotI2VuZGlmCi0KLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfQ0Yg
MQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2VuZGlmCi0KLSNpZiBVU0UoQ0ZO
RVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VT
RV9DRlVSTENBQ0hFIDEKLSNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hS
T01JVU0pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJP
TUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFUKQotI2RlZmluZSBF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXWCkKLSNpZiAh
Q1BVKFBQQykKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZGVmaW5lIEVOQUJMRV9KSVQg
MQotI2VuZGlmCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAotI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMAotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0j
ZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEK
LSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0jaWYgSEFWRShQVEhSRUFEX0gp
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKLSNlbmRpZgotI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCi0jZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQotI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
Q0hST01JVU0pCi0jZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCi0jZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCi0KLSNpZiBPUyhVTklYKQotI2RlZmlu
ZSBIQVZFX1NJR05BTF9IIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9WQVNQUklOVEYp
Ci0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAhQ09NUElMRVIoTUlO
R1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQotI2RlZmluZSBIQVZFX1ZBU1BSSU5U
RiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9TVFJOU1RSKQotI2lmIE9T
KERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCi0jZGVmaW5l
IEhBVkVfU1RSTlNUUiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIU9TKFdJTkRPV1MpICYmICFP
UyhTT0xBUklTKSBcCi0gICAgJiYgIU9TKFJWQ1QpIFwKLSAgICAmJiAhT1MoQU5EUk9JRCkKLSNk
ZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQotI2RlZmluZSBIQVZFX1RNX1pPTkUgMQotI2RlZmluZSBI
QVZFX1RJTUVHTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQot
I2RlZmluZSBIQVZFX01FUkdFU09SVCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBXVEZfVVNF
X0FDQ0VMRVJBVEUgMQotCi0jaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECi0KLSNkZWZpbmUgSEFW
RV9ESVNQQVRDSF9IIDEKLSNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04gMQotCi0j
aWYgIVBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKLSNl
bmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VsaWYg
T1MoV0lORE9XUykKLQotI2lmIE9TKFdJTkNFKQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMAotI2Vs
c2UKLSNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxM
T0MgMQotI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKLSNlbmRpZgotI2RlZmluZSBI
QVZFX1ZJUlRVQUxBTExPQyAxCi0KLSNlbGlmIE9TKFFOWCkKLQotI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAx
Ci0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFW
RV9TWVNfVElNRV9IIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0KLSNlbGlmIE9TKEFO
RFJPSUQpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19I
IDAKLSNkZWZpbmUgSEFWRV9OTUFQIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKLQotI2Vsc2UKLQotLyogRklYTUU6IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBv
ciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZpZy5oPyAqLwotCi0j
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCi0jZGVmaW5l
IEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
Ci0KLSNlbmRpZgotCi0vKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KLQotI2lmIFBMQVRGT1JN
KFFUKQotLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFu
ZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLwotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RN
QUxMT0NfTkVXIDAKLSNpZiAhT1MoVU5JWCkKLSNkZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQot
I2VuZGlmCi0jZW5kaWYKLQotLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0aW9uIGFsbG93cyBm
b3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAotICAgbmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRl
LCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKLSNkZWZpbmUgRU5BQkxFX0ZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfSUNPTkRBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX1NRTF9E
QVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKQotI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKLSNkZWZpbmUgRU5BQkxFX0NP
TlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JU
KQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFW
QV9CUklER0UgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSkKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQotI2RlZmlu
ZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9Q
Uk9DRVNTKQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQotI2RlZmluZSBFTkFCTEVf
T1JJRU5UQVRJT05fRVZFTlRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09QQ09E
RV9TVEFUUykKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCi0jZGVmaW5lIEVOQUJMRV9HTE9C
QUxfRkFTVE1BTExPQ19ORVcgMQotI2VuZGlmCi0KLSNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhf
QlJFQUtQT0lOVCAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCi0jZGVmaW5l
IEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19SRUdJT05T
IDAKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCi0jZGVmaW5lIEVOQUJMRV9DT0RF
QkxPQ0tfU0FNUExJTkcgMAotI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpICYmICFFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQotI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMg
T1BDT0RFX1NBTVBMSU5HIgotI2VuZGlmCi0jaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykgfHwg
RU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVHSU9OUykKLSNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9HRU9MT0NBVElPTikKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQotI2RlZmluZSBFTkFCTEVfVklFV1BPUlQgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5B
QkxFX05PVElGSUNBVElPTlMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5l
IEVOQUJMRV9URVhUX0NBUkVUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRf
Q0FSRVQpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NLKQotI2RlZmluZSBF
TkFCTEVfUE9JTlRFUl9MT0NLIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQotI2lmIChDUFUoWDg2XzY0
KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCi0gICAgfHwgKENQVShJQTY0KSAmJiAh
Q1BVKElBNjRfMzIpKSBcCi0gICAgfHwgQ1BVKEFMUEhBKSBcCi0gICAgfHwgQ1BVKFNQQVJDNjQp
IFwKLSAgICB8fCBDUFUoUzM5MFgpIFwKLSAgICB8fCBDUFUoUFBDNjQpCi0jZGVmaW5lIFdURl9V
U0VfSlNWQUxVRTY0IDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyXzY0IDEKLSNl
bmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KLQotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RI
Uk9UVExJTkcpCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMAotI2VuZGlmCi0K
LS8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3IgdG8gNC4xICovCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05f
QVRfTEVBU1QoNCwgMSwgMCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogSklU
IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQotI2RlZmluZSBFTkFCTEVf
SklUIDAKLSNlbmRpZgotCi0vKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwg
eDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVQpIFwKLSAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwg
Q1BVKE1JUFMpKSBcCi0gICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0ND
X1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKLSAgICAmJiAhT1MoV0lOQ0UpIFwKLSAgICAm
JiAhT1MoUU5YKQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotCi0vKiBPbiBzb21lIG9m
IHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0byBhbHNvIGhhdmUg
dGhlIAotICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9M
TElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKFFUKSkgJiYg
KENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5B
QkxFX0xMSU5UIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVO
QUJMRShKSVQpCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQuICBPbmx5
IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KLSNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKLSNkZWZpbmUgRU5BQkxFX0RG
R19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRl
c3RlZCBvbiBpT1MuICovCi0jaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPUykKLSNk
ZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogUHJvZmlsaW5nIG9m
IHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0
LCBidXQgeW91Ci0gICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZHIHR1cm5lZCBvZmYg
aWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQotICAgcHJvZmlsZXIuIEluIHRo
YXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFCi0gICBiZWxvdy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkFMVUVfUFJPRklMRVIp
ICYmIEVOQUJMRShERkdfSklUKQotI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJPRklMRVIgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFC
TEUoVkFMVUVfUFJPRklMRVIpCi0jZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HKQot
I2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBDb3Vu
dHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4gQmUgc3Vy
ZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICovCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQotI2RlZmluZSBFTkFCTEVf
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIEVuc3VyZSB0aGF0IGVpdGhl
ciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVkLiAqLwotI2lmICFk
ZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxFKEpJVCkKLSNkZWZp
bmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQotI2VuZGlmCi0jaWYgIShFTkFCTEUoSklU
KSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCi0jZXJyb3IgWW91IGhhdmUgdG8gaGF2
ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlNDCi0jZW5k
aWYKLQotI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBFTkFCTEVfSklUIDEK
LSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIEpJVCAqLwotI2lmIENQVShBUk0pCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1fQVJDSF9BVF9MRUFT
VCg1KQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMpCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCi0jZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihN
U1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlmIENQVShYODYpICYm
IENPTVBJTEVSKEdDQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFz
dGNhbGwpKQotI2Vsc2UKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTAotI2VuZGlmCi0KLS8qIENvbmZp
Z3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01QSUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJ
T05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCi0jZGVmaW5lIEhB
VkVfQ09NUFVURURfR09UTyAxCi0jZW5kaWYKLSNpZiBIQVZFKENPTVBVVEVEX0dPVE8pICYmIEVO
QUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQotI2RlZmluZSBFTkFCTEVfQ09NUFVURURfR09UT19D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotCi0vKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJh
Y2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVk
IGF0IGV4aXQgKi8KLSNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAKLQotLyogWWV0IEFu
b3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxl
ZCBwb3J0cy4gKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDAKLQotI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQot
I2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotCi0vKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJl
cyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCi0jZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVF9ERUJVRyAwCi0jZW5kaWYKLQotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZ
QVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYKLQotLyogUGljayB3
aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0
b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KLSAgIE9uIHg4Ni02NCB3ZSB1c2Ug
YSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1tYXAgb24gZGVtYW5k
LiAqLwotI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgQ1BVKFg4Nl82NCkgfHwgUExBVEZPUk0o
SU9TKQotI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQgMQotI2Vsc2UK
LSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYmIE9TKFdJTkRPV1Mp
Ci0jZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5H
IDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQotI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMAotI2VuZGlmCi0KLS8qIFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRl
ciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KLS8qIFVzZSB0aGUgUVht
bFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCi0jaWYgUExBVEZPUk0o
UVQpCi0jaWYgIVVTRShMSUJYTUwyKQotI2RlZmluZSBXVEZfVVNFX1FYTUxTVFJFQU0gMQotI2Rl
ZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKQotLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLwotI2lmbmRlZiBCVUlMRElOR19PTl9M
RU9QQVJECi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMAotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVY
VCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JF
X1RFWFQgMAotI2VuZGlmCi0jZW5kaWYKLQotLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8K
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBM
QVRGT1JNKEVGTCkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAxCi0j
ZW5kaWYKLQotLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLwot
I2lmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQot
I2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSkgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0Vf
QVVUSF9DQUxMQkFDSyAxCi0jZW5kaWYKLQotI2lmICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVOSVgpICYmIChQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKSkKLSNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9IQVNIIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCi0jZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQotI2VuZGlmCi0K
LS8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0
byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVyIEVycm9yLiAqLwot
I2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNyb19zaG91bGRfYmVf
dXNlZF93aXRoX0NGTkVUV09SSwotCi0vKiBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgZW5h
YmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhlIGRlZmluZS4gKi8K
LSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQ
TEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVHSUVTIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oV0lOKQotI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NP
TlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNT
SUJJTElUWSkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQot
I2VuZGlmCi0KLS8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xp
Y3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlv
bi4gKi8KLSNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04gMQot
Ci0jaWYgQ1BVKEFSTV9USFVNQjIpCi0jZGVmaW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYm
IEhBVkUoRElTUEFUQ0hfSCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAx
Ci0jZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BF
Tk1QKQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCi0jZWxpZiAhZGVmaW5lZChU
SFJFQURJTkdfR0VORVJJQykKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19HRU5FUklDIDEKLSNl
bmRpZgotCi0jaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
VHlwZWRlZnMuaD4KLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVl
ZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCi0gICBzaW5jZSBtb3N0
IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5l
dyBoZWFkZXJzCi0gICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0
aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKLSAgIGJyZWFrYWdlcyBvbmUgcG9ydCBh
dCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oV1gpCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX0VYUE9SVF9NQUNST1MgMAotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oUVQpICYmICFP
UyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKLSNkZWZpbmUgV1RG
X1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShYODYpIHx8IENQVShY
ODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5BQkxFX0NPTVBBUkVfQU5EX1NX
QVAgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYmIChQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAmJiBFTkFCTEUoQ09N
UEFSRV9BTkRfU1dBUCkKLSNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEKLSNlbmRpZgotCi0j
aWZuZGVmIE5ERUJVRwotI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgotI2RlZmluZSBFTkFC
TEVfR0NfVkFMSURBVElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCi0jZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJ
T04pCi0jZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBMQVRGT1JNKFdJTikg
JiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfVElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEJM
QUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExB
WV9NT05JVE9SIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0j
ZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oTUFDKQotI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCi0jZGVmaW5lIFdURl9VU0Vf
VjggMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0KLSNpZiAhZGVm
aW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDAKLSNlbmRpZiAvKiAhZGVmaW5l
ZChXVEZfVVNFX1Y4KSAqLwotCi0vKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBKU0MgYW5k
IHZpY2UgdmVyc2EgKi8KLSNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKLQotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfV1RG
VVJMKQotI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdU
Rl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNFX1pMSUIgMQotI2Vu
ZGlmCi0KLSNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGE1MjZmNGEzN2YzNzg0NjIyZDBjNTEwMzU4ZTNhNDVkZDczY2M1ZjkuLmM5Zjc2MTI1MzFm
M2ZiZTRjMTkxYzY4ZjM3M2JjZWI5YjAzNDE0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTEsMyArMSw0IEBACiB3dGZfc291cmNlcyArPSBcCiAJU291cmNlL1dURi9TdHViLmNwcCBcCi0J
U291cmNlL1dURi9TdHViLmgKKwlTb3VyY2UvV1RGL1N0dWIuaCBcCisgICAgU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYuZ3lwaSBiL1NvdXJjZS9X
VEYvV1RGLmd5cGkKaW5kZXggYWVkMTc2MmJhMTYxYzIyMDY2MmYzNmQ1MDEzOWNkMjYxZWFjNWJk
MC4uNzFjNjc0Yzg0NDljZThjMjkwYTA5OTg0M2ZjNjUzMTU3Y2UyNmVmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9XVEYuZ3lwaQorKysgYi9Tb3VyY2UvV1RGL1dURi5neXBpCkBAIC0zLDYgKzMs
NyBAQAogICAgICAgICAncHJvamVjdF9kaXInOiBbJy4nXSwKICAgICAgICAgJ3d0Zl9wcml2YXRl
aGVhZGVyX2ZpbGVzJzogWwogICAgICAgICAgICAgJ1N0dWIuaCcsCisgICAgICAgICAgICAnd3Rm
L1BsYXRmb3JtLmgnLAogICAgICAgICBdLAogICAgICAgICAnd3RmX2ZpbGVzJzogWwogICAgICAg
ICAgICAgJ1N0dWIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnBybyBiL1NvdXJj
ZS9XVEYvV1RGLnBybwppbmRleCBiMTE3YjBkMmQ3NGZjOGZhYTVkNTQyZTI5MmM4NjFkNmMwYzM1
Nzc4Li5jNGUwZTkwY2U1YzM3NDJlMjFhMzRkZmZlNWZlYTEwNWI3YjIxMzAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1dURi5wcm8KKysrIGIvU291cmNlL1dURi9XVEYucHJvCkBAIC0xMDIsNyAr
MTAyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgUGFzc093blB0ci5oIFwKICAgICBQYXNzUmVmUHRy
LmggXAogICAgIFBhc3NUcmFpdHMuaCBcCi0gICAgUGxhdGZvcm0uaCBcCisgICAgLi4vLi4vV1RG
L3d0Zi9QbGF0Zm9ybS5oUGxhdGZvcm0uaCBcCiAgICAgUG9zc2libHlOdWxsLmggXAogICAgIHF0
L1V0aWxzUXQuaCBcCiAgICAgUmFuZG9tTnVtYmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmY4YmRjNjI2ZDZmOTExNGJjNjU2ZWEyMmMxMjVkNzM5
NGI4ZTdjYy4uOGJkZTEyOWJkNTA2MTYzZjVmODc5ZTllMWVkMzlhZjNjYzcyNTAwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05LDYgKzksNyBAQAogLyog
QmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAkJNUQyNDdCNzkxNDY4OUQ4OTAwRTc4Qjc2
IC8qIFN0dWIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovOyB9OwogCQk1RDI0N0I3
QTE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQlBODc2REJEODE1MTgxNkU1MDBE
QURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovOyB9Owog
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVu
Y2Ugc2VjdGlvbiAqLwpAQCAtMjAsNiArMjEsNyBAQAogCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhC
NzYgLyogU3R1Yi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHVi
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4
Qjc2IC8qIFN0dWIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R1Yi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDI0N0VCMTE0NjhCMDE1MDBFNzhCNzYgLyog
SGVhZGVyRGV0ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhlYWRl
ckRldGVjdGlvbi5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV1RGL0hlYWRlckRldGVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlBODc2REJENzE1MTgxNkU1
MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGxhdGZvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVm
ZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLwpAQCAtNjcsMTAgKzY5LDE5IEBACiAJCQkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2
IC8qIEhlYWRlckRldGVjdGlvbi5oICovLAogCQkJCTVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAv
KiBTdHViLmNwcCAqLywKIAkJCQk1RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oICov
LAorCQkJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkpOwogCQkJbmFt
ZSA9IFNvdXJjZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE4NzZEQkQ2
MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICov
LAorCQkJKTsKKwkJCXBhdGggPSB3dGY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwpAQCAtNzgsOCArODksOCBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1
aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAo
Ci0JCQkJNUQyNDdFQjIxNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE4NzZEQkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0xNDMsNyArMTU0LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVs
bFNjcmlwdCA9ICJpZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07
IHRoZW5cbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30k
e1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVS
U19QQVRIPVwiJHtEU1RST09UJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5m
aTtcblxubWtkaXIgLXAgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1u
by1vd25lciAtLW5vLWdyb3VwIC0tcHJ1bmUtZW1wdHktZGlycyAtLWV4Y2x1ZGUgXCIuc3ZuXCIg
LS1leGNsdWRlIFwidXNyXCIgLS1leGNsdWRlIFwiRGVyaXZlZFNvdXJjZXNcIiAtLWluY2x1ZGUg
XCIqL1wiIC0taW5jbHVkZSBcIiouaFwiIC0tZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vXCIg
XCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sg
XCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFU
RV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNf
Rk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9P
VCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwi
JHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91
cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwi
IC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUg
XCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L3d0Zi9cIiBcIiR7UFJJVkFURV9I
RUFERVJTX1BBVEh9XCJcbiI7CiAJCX07CiAJCTVEMjQ3RTlEMTQ2OEFFRTIwMEU3OEI3NiAvKiBE
ZXRlY3QgQXZhaWxhYmxlIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1
aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODM0YjUzOTg0ZjkzMzM1MDc0NWU4NzU0
Y2NkYTQxNzBjMGYwMjBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaApAQCAtMCwwICsxLDEyMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAs
IDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXVEZfUGxhdGZvcm1faAorI2RlZmluZSBXVEZfUGxhdGZvcm1faAorCisv
KiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLworI2luY2x1ZGUgPHd0Zi9Db21w
aWxlci5oPgorCisvKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9u
bWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKKyAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNl
ZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgorICAgbWFjcm9zLCBwb2xpY3kg
ZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuID09PT0gKi8K
KyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9QTEFURk9STV8jI1dU
Rl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBs
YXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRo
ZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KKworLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQ
VSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
Q1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVBVFVSRSkKKy8qIEhBVkUoKSAt
IHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVuY3Rpb25zIG9yIHNpbWlsYXIp
IHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCisjZGVmaW5lIEhBVkUoV1RGX0ZFQVRVUkUpIChk
ZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dURl9GRUFUVVJFKQorLyogT1Mo
KSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5k
YXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8g
Y2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVk
IFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9
PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBm
b3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KKworLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1
bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLworI2RlZmlu
ZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNXVEZfRkVBVFVSRSAgJiYgV1RG
X1VTRV8jI1dURl9GRUFUVVJFKQorLyogRU5BQkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lmaWMgZmVh
dHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZpbmUgRU5BQkxFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBF
TkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09
PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9PT09ICovCisKKy8qIFRoaXMg
YWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlERExFX0VORElBTikgb3IgbmVp
dGhlciwgYXMgYXBwcm9wcmlhdGUuICovCisKKy8qIENQVShBTFBIQSkgLSBERUMgQWxwaGEgKi8K
KyNpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyNkZWZpbmUgV1RGX0NQVV9BTFBIQSAxCisjZW5kaWYK
KworLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCisjaWYgZGVmaW5lZChfX2lhNjRf
XykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKKy8qIDMyLWJpdCBtb2RlIG9uIEl0YW5pdW0gKi8K
KyNpZiAhZGVmaW5lZChfX0xQNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEKKyNlbmRp
ZgorI2VuZGlmCisKKy8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCisvKiBOb3RlOiBPbmx5
IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkgZm9yIG5vdy4g
ICovCisjaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChN
SVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKKyAgICAmJiBkZWZpbmVkKF9BQklPMzIpCisjZGVm
aW5lIFdURl9DUFVfTUlQUyAxCisjaWYgZGVmaW5lZChfX01JUFNFQl9fKQorI2RlZmluZSBXVEZf
Q1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisjZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVmaW5lZCBf
X1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcworI2RlZmluZSBXVEZfTUlQU19J
U0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYpCisjZGVm
aW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdU
Rl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9y
ZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JF
ViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19ET1VCTEVfRkxP
QVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmluZWQgX19taXBzX3NpbmdsZV9m
bG9hdCkKKyNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBfX21pcHNfZnByICYmIF9fbWlw
c19mcHIgPT0gNjQpCisvKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQg
bWVtb3J5ICovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQorI2VuZGlmIC8qIE1JUFMgKi8KKworLyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLwor
I2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAorICAgIHx8IGRlZmluZWQoX19QUENfXykgICAg
IFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCisgICAgfHwgZGVmaW5lZChfX3Bvd2Vy
cGMpICAgXAorICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwKKyAgICB8fCBkZWZpbmVkKF9N
X1BQQykgICAgICBcCisgICAgfHwgZGVmaW5lZChfX1BQQykKKyNkZWZpbmUgV1RGX0NQVV9QUEMg
MQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShQUEM2NCkg
LSBQb3dlclBDIDY0LWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwYzY0X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCisjZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNINCkgLSBTdXBlckggU0gtNCAqLwor
I2lmIGRlZmluZWQoX19TSDRfXykKKyNkZWZpbmUgV1RGX0NQVV9TSDQgMQorI2VuZGlmCisKKy8q
IENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyYykgJiYg
IWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjdjgpCisjZGVmaW5lIFdURl9D
UFVfU1BBUkMzMiAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyog
Q1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3NwYXJjX18pICYm
IGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFyY3Y5KQorI2RlZmluZSBXVEZf
Q1BVX1NQQVJDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8q
IENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShTUEFSQzMyKSBhbmQgQ1BVKFNQ
QVJDNjQpICovCisjaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFSQzY0KQorI2RlZmluZSBXVEZf
Q1BVX1NQQVJDIDEKKyNlbmRpZgorCisvKiBDUFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQgKi8KKyNp
ZiBkZWZpbmVkKF9fczM5MHhfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwWCAxCisjZGVmaW5lIFdU
Rl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFMzOTApIC0gUzM5MCAzMi1iaXQg
Ki8KKyNpZiBkZWZpbmVkKF9fczM5MF9fKQorI2RlZmluZSBXVEZfQ1BVX1MzOTAgMQorI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShYODYpIC0gaTM4NiAvIHg4
NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwKKyAgICB8fCBkZWZpbmVkKGkz
ODYpICAgICBcCisgICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAorICAgIHx8IGRlZmluZWQoX1g4
Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQorI2RlZmluZSBXVEZfQ1BVX1g4
NiAxCisjZW5kaWYKKworLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4ODZfNjQg
NjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9N
X1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQorI2VuZGlmCisKKy8qIENQVShBUk0pIC0g
QVJNLCBhbnkgdmVyc2lvbiovCisjaWYgICBkZWZpbmVkKGFybSkgXAorICAgIHx8IGRlZmluZWQo
X19hcm1fXykgXAorICAgIHx8IGRlZmluZWQoQVJNKSBcCisgICAgfHwgZGVmaW5lZChfQVJNXykK
KyNkZWZpbmUgV1RGX0NQVV9BUk0gMQorCisjaWYgZGVmaW5lZChfX0FSTUVCX18pIHx8IChDT01Q
SUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCisjZGVmaW5lIFdURl9DUFVfQklH
X0VORElBTiAxCisKKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgXAorICAgICYmICFkZWZp
bmVkKF9fRUFCSV9fKSBcCisgICAgJiYgIWRlZmluZWQoX19WRlBfRlBfXykgXAorICAgICYmICFk
ZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAgICAmJiAhZGVmaW5lZChBTkRST0lEKQorI2RlZmluZSBX
VEZfQ1BVX01JRERMRV9FTkRJQU4gMQorCisjZW5kaWYKKworI2RlZmluZSBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4pCisKKy8q
IFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCisgICAgfHwgZGVmaW5lZChf
X01BUk1fQVJNVjRfXykgXAorICAgIHx8IGRlZmluZWQoX0FSTVY0SV8pCisjZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDQKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJN
VjVfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorCisjZWxpZiBkZWZpbmVkKF9f
QVJNX0FSQ0hfNUVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIDUKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9y
eSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorCisj
ZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBc
CisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FS
TVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykKKyNkZWZp
bmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNworCisvKiBSVkNUIHNldHMgX1RBUkdFVF9BUkNIX0FS
TSAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkKKyNkZWZpbmUgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KKworI2lmIGRlZmluZWQoX19UQVJHRVRfQVJD
SF81RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEUpIFwKKyAgICB8fCBkZWZp
bmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05N
RU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKyNlbHNlCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIDAKKworI2VuZGlmCisKKy8qIFNldCBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OICovCisjaWYg
ICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNk
ZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykg
XAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OIDMKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83QV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN01fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA0CisKKy8qIFJW
Q1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCisjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FS
Q0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9U
SFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKKyNlbmRpZgor
CisKKy8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1IG9yIGVh
cmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1lbnQgaXMg
cmVxdWlyZWQuIAorICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVyIGRpZmZlcmVuY2VzIGZvciB2
NSBvciBlYXJsaWVyLiAqLworI2lmICFkZWZpbmVkKEFSTVY1X09SX0xPV0VSKSAmJiAhV1RGX0FS
TV9BUkNIX0FUX0xFQVNUKDYpCisjZGVmaW5lIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIgMQorI2Vu
ZGlmCisKKworLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVtYjIgaXMgbm90IGF2YWlsYWJs
ZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIpICovCisvKiBDUFUoQVJNX1RI
VU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWlsYWJsZSAqLworLyogT25seSBv
bmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLworI2lmICFkZWZpbmVkKFdURl9DUFVfQVJN
X1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpCisjICBpZiBkZWZp
bmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCisgICAgfHwgKChkZWZpbmVkKF9f
dGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA9
PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMAorIyAgICBkZWZpbmUg
V1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMgIGVsaWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDQpCisj
ICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCisjICAgIGRlZmluZSBXVEZfQ1BV
X0FSTV9USFVNQjIgMAorIyAgZWxzZQorIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJj
aGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENQVShB
Uk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KKyMgIGVycm9yICJDYW5ub3QgdXNlIGJvdGgg
b2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVfQVJNX1RIVU1CMiBwbGF0Zm9y
bXMiCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZp
bmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KKworI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAm
JiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQorI2RlZmluZSBXVEZfQ1BVX0FSTV9ORU9OIDEK
KyNlbmRpZgorCisjZW5kaWYgLyogQVJNICovCisKKyNpZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykg
fHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQorI2RlZmluZSBXVEZfQ1BVX05FRURTX0FMSUdORURf
QUNDRVNTIDEKKyNlbmRpZgorCisvKiA9PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBz
eXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxp
a2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ID09PT0g
Ki8KKworLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCisjaWZkZWYgQU5EUk9JRAorI2RlZmlu
ZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5kaWYKKworLyogT1MoQUlYKSAtIEFJWCAqLworI2lmZGVm
IF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJWCAxCisjZW5kaWYKKworLyogT1MoREFSV0lOKSAtIEFu
eSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgaVBob25lIE9TICovCisj
aWZkZWYgX19BUFBMRV9fCisjZGVmaW5lIFdURl9PU19EQVJXSU4gMQorCisjaW5jbHVkZSA8QXZh
aWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CisjaW5jbHVkZSA8
VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjZW5kaWYKKworLyogT1MoSU9TKSAtIGlPUyAqLworLyog
T1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcgaU9TKSAqLworI2lmIE9TKERB
UldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVE
REVEKSBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQ
SE9ORSkgICAgICAgICAgICAgICAgIFwKKyAgICB8fCAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJ
TVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQorI2RlZmluZSBXVEZfT1NfSU9T
IDEKKyNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRf
T1NfTUFDCisjZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCisvKiBGSVhNRTogQlVJTERJTkdfT05f
Li4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBmb2xkZWQgaW50byB0aGUgT1Mo
KSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUg
QlVJTERJTkdfT05fTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEw
XzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEw
XzcKKyNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1B
Q19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1B
Q19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBCVUlMRElOR19PTl9MSU9OIDEKKyNlbmRpZgor
I2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgVEFSR0VUSU5HX0xF
T1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBU
QVJHRVRJTkdfU05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05f
MTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQorI2VuZGlmCisjZW5kaWYKKworLyogT1Mo
RlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5l
ZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKKyNkZWZpbmUg
V1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisKKy8qIE9TKEhVUkQpIC0gR05VL0h1cmQgKi8KKyNp
ZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdURl9PU19IVVJEIDEKKyNlbmRpZgorCisvKiBPUyhMSU5V
WCkgLSBMaW51eCAqLworI2lmZGVmIF9fbGludXhfXworI2RlZmluZSBXVEZfT1NfTElOVVggMQor
I2VuZGlmCisKKy8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KKyNpZiBkZWZpbmVkKF9fTmV0QlNE
X18pCisjZGVmaW5lIFdURl9PU19ORVRCU0QgMQorI2VuZGlmCisKKy8qIE9TKE9QRU5CU0QpIC0g
T3BlbkJTRCAqLworI2lmZGVmIF9fT3BlbkJTRF9fCisjZGVmaW5lIFdURl9PU19PUEVOQlNEIDEK
KyNlbmRpZgorCisvKiBPUyhRTlgpIC0gUU5YICovCisjaWYgZGVmaW5lZChfX1FOWE5UT19fKQor
I2RlZmluZSBXVEZfT1NfUU5YIDEKKyNlbmRpZgorCisvKiBPUyhTT0xBUklTKSAtIFNvbGFyaXMg
Ki8KKyNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikKKyNkZWZpbmUgV1RGX09TX1NP
TEFSSVMgMQorI2VuZGlmCisKKy8qIE9TKFdJTkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUgdGhhdCBm
b3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRlZmluZWQgKi8KKyNpZiBkZWZp
bmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5lIFdURl9PU19XSU5DRSAxCisjZW5kaWYKKworLyogT1Mo
V0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCisjaWYgZGVmaW5lZChXSU4zMikg
fHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5lIFdURl9PU19XSU5ET1dTIDEKKyNlbmRpZgorCisj
ZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJTiIKKyNk
ZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJVEggT1MgTk9UIE1BQyIKKwor
LyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLworI2lmICAgT1MoQUlYKSAgICAg
ICAgICAgICAgXAorICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAgIFwKKyAgICB8fCBPUyhEQVJX
SU4pICAgICAgICAgICBcCisgICAgfHwgT1MoRlJFRUJTRCkgICAgICAgICAgXAorICAgIHx8IE9T
KEhVUkQpICAgICAgICAgICAgIFwKKyAgICB8fCBPUyhMSU5VWCkgICAgICAgICAgICBcCisgICAg
fHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAorICAgIHx8IE9TKE9QRU5CU0QpICAgICAgICAgIFwK
KyAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCisgICAgfHwgT1MoU09MQVJJUykgICAgICAg
ICAgXAorICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5p
eCkgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXhfXykKKyNkZWZpbmUgV1RGX09TX1VOSVgg
MQorI2VuZGlmCisKKy8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KKworLyogRklYTUU6IHRo
ZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQgcG9saWN5
IGNob2ljZXMuICovCisvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KKy8qIFBMQVRGT1JNKFFUKSAq
LworLyogUExBVEZPUk0oV1gpICovCisvKiBQTEFURk9STShHVEspICovCisvKiBQTEFURk9STShC
TEFDS0JFUlJZKSAqLworLyogUExBVEZPUk0oTUFDKSAqLworLyogUExBVEZPUk0oV0lOKSAqLwor
I2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0NI
Uk9NSVVNIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX1FUIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykKKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX1dYIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9HVEsgMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFDS0JFUlJZX18pCisjZGVmaW5l
IFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKKyNlbGlmIE9TKERBUldJTikKKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX01BQyAxCisjZWxpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
V0lOIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1MpICovCisvKiBGSVhNRTogdGhpcyBpcyBz
b21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGlnaGVyLWxl
dmVsIHRoaW5ncyAqLworI2lmIChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VU
X09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1Nf
SVBIT05FKQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNlbmRpZgorCisvKiBQTEFURk9S
TShJT1NfU0lNVUxBVE9SKSAqLworI2lmIGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1Ip
ICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQor
I2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCisjZWxzZQorI2RlZmluZSBXVEZf
UExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9QTEFU
Rk9STV9JT1MpCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAorI2VuZGlmCisKKy8qIEdyYXBo
aWNzIGVuZ2luZXMgKi8KKworLyogVVNFKENHKSBhbmQgUExBVEZPUk0oQ0kpICovCisjaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlm
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShXSU4pICYm
IFVTRShDRykpCisjZGVmaW5lIFdURl9VU0VfQ0EgMQorI2VuZGlmCisKKy8qIFVTRShTS0lBKSBm
b3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYg
T1MoREFSV0lOKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKKyNkZWZpbmUgV1RGX1VT
RV9TS0lBIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlmCisjZGVmaW5lIFdU
Rl9VU0VfQVRTVUkgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIFdURl9V
U0VfSUNDSlBFRyAxCisjZWxpZiBPUyhBTkRST0lEKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQor
I2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCisjZWxzZQorI2RlZmluZSBXVEZfVVNF
X1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCisjZW5kaWYKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAw
CisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9U
V0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oR1RLKQorI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKKyNlbmRpZgorCisKKyNpZiBPUyhX
SU5DRSkKKyNpbmNsdWRlIDxjZV90aW1lLmg+CisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJ
U1RFUl8xOTkzNyAxCisjZW5kaWYKKworLyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVyZm9ybWFu
Y2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBXVEZfVVNF
X1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKKyNlbmRpZgorCisjaWYgT1MoV0lOQ0UpICYm
ICFQTEFURk9STShRVCkKKyNkZWZpbmUgTk9NSU5NQVggICAgICAgLyogV2luZG93cyBtaW4gYW5k
IG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLworI2RlZmluZSBOT1NITFdBUEkg
ICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5DZSAqLworCisvKiBNU0ROIGRv
Y3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHByb3ZpZGVkIHdpdGggdXNwY2Uu
bGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8KKyNkZWZpbmUgX191c3AxMF9f
ICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KKworI2RlZmluZSBfSU5DX0FTU0VSVCAgICAv
KiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KKyNkZWZpbmUgYXNzZXJ0KHgpCisKKyNlbmRpZiAgLyog
T1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KKworI2lmIFBMQVRGT1JNKFFUKQorI2lmbmRl
ZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVmaW5lIFdURl9VU0VfUVQ0X1VOSUNPREUgMQorI2Vu
ZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNkZWZpbmUgV1RGX1VTRV9XSU5DRV9VTklDT0RFIDEKKyNl
bGlmIFBMQVRGT1JNKEdUSykKKy8qIFRoZSBHVEsrIFVuaWNvZGUgYmFja2VuZCBpcyBjb25maWd1
cmFibGUgKi8KKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSUNVX1VOSUNPREUgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCisjaWYgIWRlZmluZWQoQlVJTERJ
TkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9T
VF9QUk9DRVNTIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgRU5BQkxFX0dFU1RV
UkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5ESU5HIDEKKyNkZWZpbmUgV1RG
X1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFW
QV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAxCisjZW5kaWYKKyNpZiAhZGVm
aW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0Vf
UFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9S
RUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCisjZGVmaW5lIEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSAxCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAxCisjaWYg
ZGVmaW5lZChFTkFCTEVfVklERU8pCisjZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAxCisjZW5k
aWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5l
IEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEKKyNlbmRpZgorI2VuZGlmIC8q
IFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KKworI2lmIFBMQVRGT1JNKENIUk9N
SVVNKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisKKyNkZWZpbmUgV1RG
X1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykK
KyNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBI
QVZFX0RJU1BBVENIX0ggMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShH
VEspICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVT
IDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TIDAKKyNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCisjZGVmaW5lIEVOQUJMRV9H
RU9MT0NBVElPTiAxCisjZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMAorI2RlZmluZSBFTkFC
TEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNkZWZpbmUgRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZF
TlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAxCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEhBVkVfTkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJB
Q0sgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElO
RSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCisjZGVmaW5lIFdURl9VU0VfQ0YgMQor
I2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQor
CisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKKyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lD
X0lOVEVSUFJFVEVSIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAorICAgICNkZWZpbmUgRU5B
QkxFX1lBUlJfSklUIDAKKyNlbHNlCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBS
RVRFUiAwCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9MTElO
VCAxCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorI2VuZGlmCisKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAh
T1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykK
KyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2VuZGlmCisKKyNpZiBVU0UoQ0ZORVRXT1JL
KSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9DRlVS
TENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0p
ICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkg
JiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVf
RlVMTFNDUkVFTl9BUEkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXWCkKKyNpZiAhQ1BVKFBQ
QykKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2Vu
ZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAorI2RlZmluZSBFTkFC
TEVfTExJTlQgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5l
IFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRp
ZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjaWYgSEFWRShQVEhSRUFEX0gpCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNl
bmRpZgorI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCisjZGVmaW5lIFdURl9VU0VfUFRI
UkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01J
VU0pCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVm
aW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCisKKyNpZiBPUyhVTklYKQorI2RlZmluZSBIQVZF
X1NJR05BTF9IIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9WQVNQUklOVEYpCisjaWYg
IUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAhQ09NUElMRVIoTUlOR1cpICYm
ICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQorI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCisj
ZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9TVFJOU1RSKQorI2lmIE9TKERBUldJ
TikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisjZGVmaW5lIEhBVkVf
U1RSTlNUUiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIU9TKFdJTkRPV1MpICYmICFPUyhTT0xB
UklTKSBcCisgICAgJiYgIU9TKFJWQ1QpIFwKKyAgICAmJiAhT1MoQU5EUk9JRCkKKyNkZWZpbmUg
SEFWRV9UTV9HTVRPRkYgMQorI2RlZmluZSBIQVZFX1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1RJ
TUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX01FUkdFU09SVCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmluZSBXVEZfVVNFX0FDQ0VM
RVJBVEUgMQorCisjaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECisKKyNkZWZpbmUgSEFWRV9ESVNQ
QVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04gMQorCisjaWYgIVBM
QVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZF
X01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKKyNlbmRpZgor
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VsaWYgT1MoV0lO
RE9XUykKKworI2lmIE9TKFdJTkNFKQorI2RlZmluZSBIQVZFX0VSUk5PX0ggMAorI2Vsc2UKKyNk
ZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisjZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxMT0MgMQor
I2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKKyNlbmRpZgorI2RlZmluZSBIQVZFX1ZJ
UlRVQUxBTExPQyAxCisKKyNlbGlmIE9TKFFOWCkKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQor
I2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCisjZGVm
aW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNf
VElNRV9IIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisKKyNlbGlmIE9TKEFORFJPSUQp
CisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDAKKyNk
ZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElN
RV9IIDEKKworI2Vsc2UKKworLyogRklYTUU6IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBvciBkbyBv
dGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZpZy5oPyAqLworCisjZGVmaW5l
IEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCisjZGVmaW5lIEhBVkVf
TU1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNl
bmRpZgorCisvKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KKworI2lmIFBMQVRGT1JNKFFUKQor
LyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFuZCBkZWxl
dGUgZm9yIHRoZSBRdCBwb3J0LiAqLworI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0Nf
TkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNkZWZpbmUgVVNFX1NZU1RFTV9NQUxMT0MgMQorI2VuZGlm
CisjZW5kaWYKKworLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0aW9uIGFsbG93cyBmb3IgcnVu
dGltZSB2ZXJpZmljYXRpb24gdGhhdAorICAgbmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRlLCBmYXN0
TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8KKyNpZiAhZGVmaW5lZChFTkFC
TEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKKyNkZWZpbmUgRU5BQkxFX0ZBU1RfTUFM
TE9DX01BVENIX1ZBTElEQVRJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSUNP
TkRBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKKyNkZWZpbmUgRU5BQkxFX1NRTF9EQVRBQkFT
RSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKQor
I2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9GVFBESVIpCisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRf
TUVOVVMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2Rl
ZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
IDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2Rl
ZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfSU5TUEVDVE9SKQorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklE
R0UgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSkK
KyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQorI2RlZmluZSBFTkFC
TEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVN
T1JZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNT
KQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQorI2RlZmluZSBFTkFCTEVfT1JJRU5U
QVRJT05fRVZFTlRTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX09QQ09ERV9TVEFU
UykKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFT
VE1BTExPQ19ORVcgMQorI2VuZGlmCisKKyNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhfQlJFQUtQ
T0lOVCAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCisjZGVmaW5lIEVOQUJM
RV9TQU1QTElOR19GTEFHUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19SRUdJT05TIDAKKyNk
ZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCisjZGVmaW5lIEVOQUJMRV9DT0RFQkxPQ0tf
U0FNUExJTkcgMAorI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpICYmICFFTkFCTEUoT1BD
T0RFX1NBTVBMSU5HKQorI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMgT1BDT0RF
X1NBTVBMSU5HIgorI2VuZGlmCisjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykgfHwgRU5BQkxF
KFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVHSU9OUykKKyNkZWZpbmUgRU5B
QkxFX1NBTVBMSU5HX1RIUkVBRCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HRU9M
T0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQorI2RlZmluZSBFTkFCTEVfVklFV1BPUlQgMAorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKKyNkZWZpbmUgRU5BQkxFX05P
VElGSUNBVElPTlMgMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJM
RV9URVhUX0NBUkVUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQp
CisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NLKQorI2RlZmluZSBFTkFCTEVf
UE9JTlRFUl9MT0NLIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQp
ICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQorI2lmIChDUFUoWDg2XzY0KSAmJiAo
T1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCisgICAgfHwgKENQVShJQTY0KSAmJiAhQ1BVKElB
NjRfMzIpKSBcCisgICAgfHwgQ1BVKEFMUEhBKSBcCisgICAgfHwgQ1BVKFNQQVJDNjQpIFwKKyAg
ICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8fCBDUFUoUFBDNjQpCisjZGVmaW5lIFdURl9VU0VfSlNW
QUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyXzY0IDEKKyNlbmRpZgor
I2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNF
X0pTVkFMVUUzMl82NCkgKi8KKworI2lmICFkZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJ
TkcpCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMAorI2VuZGlmCisKKy8qIERp
c2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3IgdG8gNC4xICovCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05fQVRfTEVB
U1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyogSklUIGlzIG5v
dCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVf
SklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQorI2RlZmluZSBFTkFCTEVfSklUIDAK
KyNlbmRpZgorCisvKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LCB4
ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQp
IFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKE1J
UFMpKSBcCisgICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZFUlNJ
T05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKKyAgICAmJiAhT1MoV0lOQ0UpIFwKKyAgICAmJiAhT1Mo
UU5YKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBPbiBzb21lIG9mIHRoZSBw
bGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0byBhbHNvIGhhdmUgdGhlIAor
ICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9MTElOVCkg
JiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKFFUKSkgJiYgKENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0xM
SU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVOQUJMRShK
SVQpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQuICBPbmx5IHRlc3Rl
ZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KKyNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkp
ICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQg
MQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBv
biBpT1MuICovCisjaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUg
RU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisjZW5kaWYKKworLyogUHJvZmlsaW5nIG9mIHR5cGVz
IGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0LCBidXQg
eW91CisgICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZHIHR1cm5lZCBvZmYgaWYgeW91
IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQorICAgcHJvZmlsZXIuIEluIHRoYXQgY2Fz
ZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVSQk9TRV9WQUxVRV9QUk9GSUxF
CisgICBiZWxvdy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfVkFMVUVfUFJPRklMRVIpICYmIEVO
QUJMRShERkdfSklUKQorI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJPRklMRVIgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFCTEUoVkFM
VUVfUFJPRklMRVIpCisjZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HKQorI2RlZmlu
ZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKKyNlbmRpZgorCisvKiBDb3VudHMgdXNl
cyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4gQmUgc3VyZSB0byBh
bHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICovCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVfV1JJVEVf
QkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlmCisKKy8qIEVuc3VyZSB0aGF0IGVpdGhlciB0aGUg
SklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVkLiAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5B
QkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2VuZGlmCisjaWYgIShFTkFCTEUoSklUKSB8fCBF
TkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCisjZXJyb3IgWW91IGhhdmUgdG8gaGF2ZSBhdCBs
ZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlNDCisjZW5kaWYKKwor
I2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRp
ZgorCisvKiBDb25maWd1cmUgdGhlIEpJVCAqLworI2lmIENQVShBUk0pCisjaWYgIWRlZmluZWQo
RU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg1KQor
I2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCisjZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9E
VUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQor
I2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJ
TEVSKEdDQykKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwp
KQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTAorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0
aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBDT01QSUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJT05fQVRf
TEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCisjZGVmaW5lIEhBVkVfQ09N
UFVURURfR09UTyAxCisjZW5kaWYKKyNpZiBIQVZFKENPTVBVVEVEX0dPVE8pICYmIEVOQUJMRShD
TEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmluZSBFTkFCTEVfQ09NUFVURURfR09UT19DTEFTU0lD
X0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorCisvKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAt
IFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4
aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAKKworLyogWWV0IEFub3RoZXIg
UmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0
cy4gKi8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAK
KworI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQorI2RlZmlu
ZSBFTkFCTEVfWUFSUl9KSVQgMQorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQg
cmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCisjZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVF9ERUJVRyAwCisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJ
VCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZW5kaWYKKworLyogUGljayB3aGljaCBh
bGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0b3IgaWYg
dGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KKyAgIE9uIHg4Ni02NCB3ZSB1c2UgYSBzaW5n
bGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1tYXAgb24gZGVtYW5kLiAqLwor
I2lmIEVOQUJMRShBU1NFTUJMRVIpCisjaWYgQ1BVKFg4Nl82NCkgfHwgUExBVEZPUk0oSU9TKQor
I2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQgMQorI2Vsc2UKKyNkZWZp
bmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAxCisjZW5kaWYKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYmIE9TKFdJTkRPV1MpCisjZGVm
aW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDAKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQorI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMAorI2VuZGlmCisKKy8qIFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRlciBpbXBs
ZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KKy8qIFVzZSB0aGUgUVhtbFF1ZXJ5
IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCisjaWYgUExBVEZPUk0oUVQpCisj
aWYgIVVTRShMSUJYTUwyKQorI2RlZmluZSBXVEZfVVNFX1FYTUxTVFJFQU0gMQorI2RlZmluZSBX
VEZfVVNFX1FYTUxRVUVSWSAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQor
LyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLworI2lmbmRlZiBCVUlMRElOR19PTl9MRU9QQVJE
CisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMAorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisj
ZWxzZQorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQg
MAorI2VuZGlmCisjZW5kaWYKKworLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8KKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JN
KEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAxCisjZW5kaWYK
KworLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLworI2lmIFBM
QVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQorI2VuZGlm
CisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkg
fHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSyAxCisjZW5kaWYKKworI2lmICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgfHwg
KEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVOSVgpICYmIChQTEFURk9STShR
VCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKSkK
KyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9IQVNIIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJ
T04pCisjZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQorI2VuZGlmCisKKy8qIFNl
dCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0byBjYXVz
ZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVyIEVycm9yLiAqLworI2RlZmlu
ZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNyb19zaG91bGRfYmVfdXNlZF93
aXRoX0NGTkVUV09SSworCisvKiBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRo
aXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhlIGRlZmluZS4gKi8KKyNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShRVCkKKyNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVHSUVTIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oV0lOKQorI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NPTlRFWFRf
TUVOVVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNTSUJJTElU
WSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlm
CisKKy8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xpY3kgaXMg
dG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlvbi4gKi8K
KyNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04gMQorCisjaWYg
Q1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAxCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYmIEhBVkUo
RElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAxCisjZWxp
ZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BFTk1QKQor
I2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCisjZWxpZiAhZGVmaW5lZChUSFJFQURJ
TkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19HRU5FUklDIDEKKyNlbmRpZgor
CisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HVHlwZWRl
ZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVlZGVkIG9u
Y2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCisgICBzaW5jZSBtb3N0IHBvcnRz
IHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFk
ZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0aGlzIHdh
eSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKKyAgIGJyZWFrYWdlcyBvbmUgcG9ydCBhdCBhIHRp
bWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gp
CisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNF
X0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oUVQpICYmICFPUyhEQVJX
SU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9V
TklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0NPTVBB
UkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQp
IHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVAgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYmIChQTEFURk9STShN
QUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAmJiBFTkFCTEUoQ09NUEFSRV9B
TkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEKKyNlbmRpZgorCisjaWZuZGVm
IE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgorI2RlZmluZSBFTkFCTEVfR0Nf
VkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisj
ZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
VElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEJMQUNLQkVS
UlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05J
VE9SIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5l
IEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFD
KQorI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQorI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdURl9VU0VfVjggMQor
I2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICovCisKKyNpZiAhZGVmaW5lZChX
VEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDAKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZf
VVNFX1Y4KSAqLworCisvKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBKU0MgYW5kIHZpY2Ug
dmVyc2EgKi8KKyNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKKworI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCisjZGVmaW5lIEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfV1RGVVJMKQor
I2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0Vf
WkxJQikgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1pMSUIgMQorI2VuZGlmCisK
KyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQg
Yi9DTWFrZUxpc3RzLnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5Nzk2ODU0
YzhkNDZjLi5hOWMxYmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEwMDY0NAot
LS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBA
QCBJRiAoT05MWV9CVUlMRF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RPT0xTIE9G
RikKIEVORElGICgpCiAKK1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
VEYiKQogU0VUKEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUiKQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJDb3JlIikKIFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJj
ZS9XZWJLaXQiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDdlZDdk
NDQ4NDE4OTU0ZjhlZjY3Y2M2MDk3NmFlODk4MzJjYThlNGIuLmJmNjNlODE5NDUwOTRkOTA1N2Fk
ODY4OWZlNGUxMjU0ZTE4ZjA3NTIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3Jl
IHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEyLTAzLTE3
ICBDaGFybGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAg
ICBbQmxhY2tCZXJyeV0gRW5hYmxlIFdlYiBUaW1pbmcgZm9yIHBlcmZvcm1hbmNlIHByb2ZpbGlu
ZyBhbmQgaW1wcm92ZW1lbnQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132763</attachid>
            <date>2012-03-19 22:45:23 -0700</date>
            <delta_ts>2012-03-19 23:49:30 -0700</delta_ts>
            <desc>attempt to fix Qt</desc>
            <filename>bug-80911-20120319224522.patch</filename>
            <type>text/plain</type>
            <size>84177</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NGMwMmVhZTI1YWMxMzcwMDdhOGYxZDIyOWQwOWRkMjEyOTA4M2FhLi45ZDQ0ZTU1OWQ3M2E0MjJh
YWU3NTE2YjM2MmJmYmZhYjFhMWMyYWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRG8g
bm90IGNvcHkgdGhlIHNjcmlwdCBzb3VyY2UgaW4gdGhlIFNvdXJjZVByb3ZpZGVyLCBqdXN0IHJl
ZmVyZW5jZSB0aGUgZXhpc3Rpbmcgc3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1MGU3NzAxNjM0ZDI5YWY4YjA1YmE1
OGU4NzYxYTc5YzA3MGQ3NGEuLmZiMGFjMjE3YWU4ODA1MTNlMDc3ZmY4NzM4NGIxZmNkNTY0NTk2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0
Q29yZSB0byBTb3VyY2UvV1RGL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIHRvIHRlc3Qgd2hhdCBidWlsZHMgYnJlYWsgYW5k
IGhvdy4KKyAgICAgICAgTWFjOiBzaG91bGQgYnVpbGQKKyAgICAgICAgV2luOiBjYW4ndCBiZSBm
aXhlZCB1bnRpbCBidWcgODA2ODAgbGFuZHMuCisgICAgICAgIEd0azogbWlnaHQgYnVpbGQKKyAg
ICAgICAgUXQ6IG1pZ2h0IGJ1aWxkLCBsaWtlbHkgbmVlZHMgaGVscCBmcm9tIFF0IGZvbGtzLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAg
ICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm0uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aC4KKwogMjAxMi0wMy0xOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNldCB0aGUgc3ZuOmlnbm9yZSBwcm9wZXJ0eSBvbiB0aGUgWGNvZGUgcHJvamVjdC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4
ZmI5NjY2OTNiYWFmN2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2
NDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAog
U0VUKEphdmFTY3JpcHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5B
UllfRElSfSIKKyAgICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9Igog
ICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vRm9yd2FyZGluZ0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnByaQppbmRleCBlZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li5iZTA4
ZTA5MGYxM2MxYzM5YWE4NGJlYWQ0YTBkNmRlMjRlNGJjMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKQEAgLTExLDcgKzExLDggQEAgSkFWQVNDUklQVENPUkVf
R0VORVJBVEVEX1NPVVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS8KIAogSU5DTFVERVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUiBcCi0gICAgJCRT
T1VSQ0VfRElSLy4uIFwKKyAgICAkJFNPVVJDRV9ESVIvLi4gXCAgIyBUaGlzIHNlZW1zIGxpa2Ug
YSBiYWQgaWRlYSEKKyAgICAkJFNPVVJDRV9ESVIvLi4vV1RGIFwKICAgICAkJFNPVVJDRV9ESVIv
YXNzZW1ibGVyIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvZGUgXAogICAgICQkU09VUkNFX0RJ
Ui9ieXRlY29tcGlsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggM2JmNzgxN2YzMTg1MDhj
YzI5NzExNTdmM2I0YTllZGM2NDYzYzc3ZC4uYzM0MWRhNjZhNTVmZThlZTFiN2NmNGIzMjZiNjAy
NGRjOTA3MzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC05OTcsMTAgKzk5Nyw2IEBACiAJ
CQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBsYXRm
b3JtLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXFBvc3NpYmx5TnVsbC5oIgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDNiZjY1ZmZiZWIyZjQzOWIwZDA1OThmZjVlZGY4YzFjZDNiNWE4YTcuLjM0
OGQ2Y2Q3ZjIxNzEyZjI4NDcwODRmZDljMzUxYmMxMmUxODA4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2NDdCMzA5M0VGOEQ2MDAy
MkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdF
QSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NUQ2RDg3
RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1REZD
OTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5jdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQjA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hTZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaFNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBAIC0yMTQxLDcgKzIxNDAs
NiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNzT3duUHRyLmggKi8sCiAJ
CQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJCQk2NTFE
Q0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICovLAotCQkJCTY1RDZEODdFMDlC
NUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE3RDY0OUE5MTAxNTIyNEUwMDlC
MkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhGQTVCOTBFRjc2RDQzMDA1NzhFNkYg
LyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVCQTBFRjc2RDQzMDA1NzhFNkYgLyog
UmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4
dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIwZjU4NWVhNjcyYjZhLi5hZGFiNzI4
NmE3MDkzOWNlMjk3YjA1OTMyYjVkMThhODQ0YzZjY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcgQEAgU0VUKFdURl9IRUFERVJTCiAg
ICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAog
ICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZvcm0uaAorICAgICR7V1RGX0RJUn0v
d3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAogICAgIFJhbmRvbU51bWJlci5oCiAg
ICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2Rh
NDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKLQotLyogSW5jbHVk
ZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
LQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdy
YXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGlu
IGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9u
IG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCi0jZGVmaW5l
IFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVS
RSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQbGF0Zm9ybSBh
ZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0
IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0
ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dU
Rl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZFKCkgLSBzcGVjaWZp
YyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFy
ZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBI
QVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8qIE9TKCkgLSB1bmRl
cmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93
LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBh
IEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1Nf
IyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQb2xp
Y3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFy
dGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGly
ZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUgVVNFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNX
VEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2Yg
V2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMj
V1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gQ1BVKCkg
LSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBUaGlzIGFsc28gZGVm
aW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFz
IGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCi0jaWYgZGVm
aW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2VuZGlmCi0KLS8qIENQ
VShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19pYTY0X18pCi0jZGVm
aW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCi0jaWYgIWRl
ZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTogT25seSBPMzIgQUJJ
IGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwotI2lm
IChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwg
ZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQotI2RlZmluZSBXVEZf
Q1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykK
LSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChk
ZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQotI2RlZmluZSBXVEZf
TUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19B
UkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Ci0jZGVm
aW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RG
X01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZp
bmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCi0j
ZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09
IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAq
LwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRp
ZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KLSNpZiAgIGRl
ZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCi0gICAg
fHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9QUEMpICAg
ICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVfUFBDIDEKLSNkZWZp
bmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0gUG93ZXJQ
QyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KLSNpZiBkZWZp
bmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJD
MzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFS
QzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAq
LwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCi0jaWYgZGVmaW5l
ZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCi0jaWYg
ZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNkZWZpbmUgV1RGX0NQ
VV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0
ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5lZChpMzg2KSAgICAg
XAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBc
Ci0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQVV9YODYgMQotI2Vu
ZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAq
LwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9YNjQpCi0j
ZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNKSAtIEFSTSwgYW55
IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZpbmVkKF9fYXJtX18p
IFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FSTV8pCi0jZGVmaW5l
IFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZD
VCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAhZGVmaW5lZChfX0VB
QklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAmJiAhZGVmaW5lZChf
V0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX0NQVV9N
SURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQotCi0vKiBTZXQgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FS
TVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCi0j
ZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0v
KkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLQotI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0jZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KLSNl
bGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwK
LSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwgZGVmaW5lZChfX1RB
UkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxp
Z25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRF
R0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCi0K
LSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5l
ZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQotCi0j
ZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdU
Rl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0vKiBSVkNUIHNldHMg
X19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1C
KQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKLQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5kaWYKLQotCi0vKiBD
UFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICov
Ci0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVk
LiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFy
bGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9B
VF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKLSNlbmRpZgotCi0K
LS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkg
dHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFSTV9USFVNQjIpIC0g
VGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9ubHkgb25lIG9mIHRo
ZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJ
T05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYgZGVmaW5lZCh0aHVt
YjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8
fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKLSMg
ICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQotIyAgICBkZWZp
bmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhV
TUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVy
ZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1C
MikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9D
UFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgotI2Vu
ZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZf
Q1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmlu
ZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCi0jZW5kaWYK
LQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShT
SDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAx
Ci0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBv
bmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAg
dmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCi0KLS8q
IE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNkZWZpbmUgV1RGX09T
X0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNpZmRlZiBfQUlYCi0j
ZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikgLSBBbnkgRGFyd2lu
LWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLwotI2lmZGVmIF9f
QVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUgPEF2YWlsYWJpbGl0
eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1ZGUgPFRhcmdldENv
bmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8KLS8qIE9TKE1BQ19P
U19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBPUyhEQVJXSU4pICYm
ICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAot
ICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAg
ICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1Ip
ICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09TX0lPUyAxCi0jZWxp
ZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQwot
I2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQg
VEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVt
ICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIEJVSUxESU5H
X09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVm
aW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9W
RVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5kaWYKLSNpZiAhZGVm
aW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEK
LSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgVEFSR0VUSU5H
X1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84Ci0j
ZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE9TKEZSRUVCU0Qp
IC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFn
b25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVmaW5lIFdURl9PU19G
UkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCi0jaWZkZWYgX19H
TlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1MoTElOVVgpIC0gTGlu
dXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVYIDEKLSNlbmRpZgot
Ci0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05ldEJTRF9fKQotI2Rl
ZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0Qg
Ki8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCi0jZW5kaWYK
LQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9fXykKLSNkZWZpbmUg
V1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCi0jaWYg
ZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9PU19TT0xBUklTIDEK
LSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMg
cGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYgZGVmaW5lZChfV0lO
MzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkRPV1Mp
IC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmlu
ZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYKLQotI2RlZmluZSBX
VEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCi0jZGVmaW5lIFdU
Rl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCi0KLS8qIE9TKFVO
SVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkgICAgICAgICAgICAg
IFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0gICAgfHwgT1MoREFSV0lOKSAgICAg
ICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhIVVJEKSAg
ICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAotICAgIHx8IE9TKE5F
VEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCi0gICAgfHwg
T1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAg
XAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5lIFdURl9PU19VTklYIDEKLSNlbmRp
ZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1FOiB0aGVzZSBhcmUg
YWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2Vz
LiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQTEFURk9STShRVCkgKi8KLS8qIFBM
QVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZPUk0oQkxBQ0tCRVJS
WSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikgKi8KLSNpZiBkZWZp
bmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9RVCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9XWCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fR1RL
IDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCi0j
ZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVz
IHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGlu
Z3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJF
RERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TX1NJ
TVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJH
RVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1BMQVRGT1JN
X0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9T
KQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBHcmFwaGljcyBlbmdp
bmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cp
KQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmIE9TKERBUldJ
TikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0FU
U1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBXVEZfVVNFX0lDQ0pQ
RUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUg
V1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEK
LSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmlu
ZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8x
OTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdU
SykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYgT1MoV0lOQ0UpCi0j
aW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5
MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRl
ciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1VTRV9RVUVSWV9Q
RVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29u
ZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExXQVBJICAgICAgLyog
c2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNETiBkb2N1bWVudGF0
aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1
dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8q
IGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJs
ZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYgIC8qIE9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNpZm5kZWYgV1RGX1VT
RV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKLSNlbmRpZgotI2Vs
aWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxpZiBQTEFU
Rk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICov
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VT
UyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5U
UyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5lIFdURl9VU0VfU0NS
T0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdF
KQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
MQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUg
MQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0jZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQotI2lmIGRlZmluZWQo
RU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQotI2VuZGlmCi0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBIQVZFX0xB
WUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYg
T1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFE
UyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5lIFdURl9VU0VfV0tf
U0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5l
IERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShR
VCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgSEFWRV9ESVNQ
QVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCi0jZGVm
aW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJ
T04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUgRU5BQkxFX0lOU1BF
Q1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5lIEVOQUJMRV9ORVRT
Q0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCi0j
ZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FS
Q0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUg
V1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2lmIFBM
QVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAot
ICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQotICAg
ICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0jZGVmaW5l
IFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVUV09SSykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAx
Ci0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExB
VEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFU
Rk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQVShQUEMpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotI2Rl
ZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUgRU5BQkxFX0xMSU5U
IDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNF
X0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQotI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLSNl
bGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEK
LSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhB
VkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQotI2Rl
ZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoSEFW
RV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQotI2lmICFDT01QSUxF
UihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJ
TEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2VuZGlmCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhEQVJXSU4pIHx8IChP
UyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBIQVZFX1NUUk5TVFIg
MQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAot
ICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVmaW5lIEhBVkVfVE1f
R01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFWRV9USU1FR00gMQot
I2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZp
bmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9N
RVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEK
LQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAx
Ci0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lmICFQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUg
SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9TKFdJTkRPV1MpCi0K
LSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNlCi0jZGVmaW5lIEhB
VkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKLSNkZWZpbmUg
SEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFWRV9WSVJUVUFMQUxM
T0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUg
SEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmluZSBIQVZF
X01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRST0lEKQotCi0jZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCi0jZGVmaW5lIEhB
VkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
LSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0K
LSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxh
dGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KLQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQot
I2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZW5kaWYKLQot
LyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShRVCkKLS8qIFdlIG11
c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0
aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0j
aWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgotI2VuZGlm
Ci0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVy
aWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBp
cyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1Rf
TUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRD
SF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFT
RSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKLSNkZWZpbmUg
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lO
U1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCi0jZGVmaW5l
IEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUgRU5BQkxFX05FVFND
QVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKLSNkZWZp
bmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VW
RU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCi0jZGVm
aW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
R0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0Nf
TkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJ
TkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCi0jZGVmaW5lIEVO
QUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5H
IDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1Q
TElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElO
RyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElO
R19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04p
Ci0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJ
T05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfVEVYVF9D
QVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQotI2RlZmlu
ZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJf
TE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgp
IHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkg
XAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBcCi0gICAgfHwgQ1BV
KFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVF
MzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQotI2Rl
ZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0vKiBEaXNhYmxlIHRo
ZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEs
IDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBpcyBub3QgaW1wbGVt
ZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYg
T1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYK
LQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBB
Uk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCi0gICAg
JiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAot
ICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xF
QVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYgIU9TKFFOWCkKLSNk
ZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1z
IHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKLSAgIGxvdy1s
ZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJM
RShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQotLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFj
IGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExB
VEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRp
ZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAq
LwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9E
RkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFs
dWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQotICAg
Y2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRv
IHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBw
cm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQotICAgYmVs
b3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZH
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJ
TEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxF
X1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQotLyogQ291bnRzIHVzZXMgb2Ygd3Jp
dGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwotICAg
c2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJf
UFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0
aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
Q0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJMRV9DTEFT
U0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENM
QVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25l
IGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlmCi0KLSNpZiBDUFUo
U0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyog
Q29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKLSNkZWZpbmUg
RU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRf
VVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKLSNkZWZpbmUg
SlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0Mp
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbHNl
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIGludGVy
cHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQs
IDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dP
VE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19J
TlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8g
MSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCi0j
ZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1
bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCi0j
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0KLSNlbGlm
IEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxF
X1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMg
d2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVC
VUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hpY2ggYWxsb2NhdG9y
IHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3Nl
bWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVk
IG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KLSNpZiBFTkFC
TEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
RU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJM
RV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQotI2RlZmluZSBFTkFC
TEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRp
b24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1l
bnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2lmICFVU0Uo
TElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZpbmUgV1RGX1VTRV9R
WE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLS8qIENvbXBs
ZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAotI2RlZmlu
ZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKLSNlbmRp
ZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAm
JiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCi0j
ZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2VuZGlmCi0KLS8qIENv
bXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNpZiBQTEFURk9STShR
VCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRG
T1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sg
MQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBM
QVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCi0jZGVmaW5l
IEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2Rl
ZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0vKiBTZXQgdXAgYSBk
ZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWls
ZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5F
VFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBh
bGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0jaWYgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCi0j
ZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0jZGVm
aW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0vKiBH
ZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVp
cmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCi0jZGVmaW5l
IFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKLQotI2lmIENQVShBUk1f
VEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENI
X0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYgIWRlZmlu
ZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVS
SUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQotI2lmIEVO
QUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+Ci0j
ZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1
MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8g
c3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwotICAg
dG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2Fu
IGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLwot
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQotI2RlZmlu
ZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9FWFBPUlRf
TUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfVU5JWF9ET01B
SU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9T
V0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVAp
Ci0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5kaWYKLQotI2lmbmRlZiBOREVCVUcK
LSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJ
T04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQot
I2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBX
VEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFD
S0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2Rl
ZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBIQVZFX0lO
VkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZp
bmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkK
LSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDEKLSNlbmRpZgot
I2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9W
OCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkg
Ki8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICov
Ci0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05T
X09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKLSNkZWZpbmUg
V1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYm
ICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0jZW5kaWYg
LyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2ZjRhMzdm
Mzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5MWM2OGYz
NzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEsNCBAQAog
d3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9XVEYvU3R1
Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmlu
ZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3NGM4NDQ5
Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RG
Lmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAg
J3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6
IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywK
ICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8K
aW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYxZDZjMGMzNTc3OC4uYzRlMGU5MGNl
NWMzNzQyZTIxYTM0ZGZmZTVmZWExMDViN2IyMTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9X
VEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBAIEhFQURF
UlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAgICBQYXNz
VHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0u
aFBsYXRmb3JtLmggXAogICAgIFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0LmggXAog
ICAgIFJhbmRvbU51bWJlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDZmOGJkYzYyNmQ2ZjkxMTRiYzY1NmVhMjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUx
MjliZDUwNjE2M2Y1Zjg3OWU5ZTFlZDM5YWYzY2M3MjUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOSw2ICs5LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxk
RmlsZSBzZWN0aW9uICovCiAJCTVEMjQ3Qjc5MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2
ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLzsgfTsKIAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4
Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRm
b3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2
REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8K
QEAgLTIwLDYgKzIxLDcgQEAKIAkJNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dURi9IZWFkZXJEZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBs
YXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3
LDEwICs2OSwxOSBAQAogCQkJCTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRl
Y3Rpb24uaCAqLywKIAkJCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8s
CiAJCQkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLywKKwkJCQlBODc2REJE
NjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovLAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlBODc2REJENjE1MTgxNkU1MDBEQURC
OTUgLyogd3RmICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gd3RmOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhH
cm91cCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KQEAgLTc4LDggKzg5LDggQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTVEMjQ3RUIy
MTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
ODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTQzLDcgKzE1NCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYg
W1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJ
VkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURF
UlNfRk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNU
Uk9PVCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1w
IFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1n
cm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVz
clwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1
ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L1wiIFwiJHtQUklWQVRFX0hF
QURFUlNfUEFUSH1cIlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRI
PVwiJHtUQVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwi
XG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRF
X0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFE
RVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0
eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJE
ZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNs
dWRlIFwiKlwiIFwiJHtTUkNST09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwi
XG4iOwogCQl9OwogCQk1RDI0N0U5RDE0NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJs
ZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTAsMCAr
MSwxMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5
IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5jbHVkZSBjb21w
aWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyog
PT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNz
IEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9y
IG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3Jv
cywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVmaW5lIFBMQVRG
T1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYg
V1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0
aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmly
b25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJl
ICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFU
VVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0
ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVz
ZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMj
V1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1bmRlcmx5aW5n
IG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVs
IHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0
b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVj
aXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxh
ciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0
eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVB
VFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0
ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BVKCkgLSB0aGUg
dGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28gZGVmaW5lcyBD
UFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJv
cHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYgZGVmaW5lZChf
X2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8qIENQVShJQTY0
KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdU
Rl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYgIWRlZmluZWQo
X19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNlbmRpZgorCisv
KiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRl
c3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLworI2lmIChkZWZp
bmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5l
ZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBXVEZfQ1BVX01J
UFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKKyNkZWZp
bmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVk
IFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19J
U0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49
IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2CisjZGVmaW5lIFdU
Rl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNf
QVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9f
bWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCisjZGVmaW5l
IFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQor
LyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZiAvKiBN
SVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisgICAgfHwgZGVm
aW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAor
ICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1i
aXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0
X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBkZWZpbmVkKF9f
U0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMzMikg
LSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzY0KSAt
IFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEK
KyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMpIC0g
YW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLworI2lm
IENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCisj
ZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3Mz
OTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisjaWYgZGVmaW5l
ZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCisj
aWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAorICAg
IHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCisgICAg
fHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQorI2VuZGlmCisK
Ky8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLworI2lm
ICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQpCisjZGVmaW5l
IFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNp
b24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKKyAg
ICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVmaW5lIFdURl9D
UFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYg
ZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorCisj
ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX0VBQklfXykg
XAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5lZChfV0lOMzJf
V0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQVV9NSURETEVf
RU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChD
UFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18p
IFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCisjZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisvKkFSTXY1
VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBX
VEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQorI2RlZmlu
ZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9B
UkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBt
ZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
KyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCisKKyNlbmRp
ZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FS
TV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQorCisjZWxpZiBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCisK
KyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18p
CisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNldHMgX19UQVJH
RVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKKworI2Vsc2UK
KyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisvKiBDUFUoQVJN
VjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCisvKiBP
biBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKKyAg
IEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4g
Ki8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFT
VCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgorCisKKy8qIENQ
VShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0
aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIy
IGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9mIHRoZXNlIHdp
bGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkg
JiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8
IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZp
bmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKKyMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RI
VU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBkZWZpbmUgV1RG
X0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAK
KyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKKyMg
IGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyog
U2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJN
X1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgorI2VuZGlmIC8q
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FS
TV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RG
X0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5kaWYKKworI2Vu
ZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8
IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCisjZW5k
aWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRv
IGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVh
bCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisKKy8qIE9TKEFO
RFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RGX09TX0FORFJP
SUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlYCisjZGVmaW5l
IFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2Vk
IE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVmIF9fQVBQTEVf
XworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgor
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlv
bmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1BQ19PU19YKSAt
IE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4pICYmICgoZGVm
aW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAorICAgIHx8
IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAg
ICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRB
UkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisjZWxpZiBPUyhE
QVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQworI2RlZmlu
ZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VU
SU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCisj
aWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxESU5HX09OX0xF
T1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9O
XzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VUSU5HX1NOT1df
TEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5l
IFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVCU0QpIC0gRnJl
ZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlf
XykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9PU19GUkVFQlNE
IDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYgX19HTlVfXwor
I2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0gTGludXggKi8K
KyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBP
UyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBX
VEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNp
ZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyog
T1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX09T
X1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisjaWYgZGVmaW5l
ZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklTIDEKKyNlbmRp
ZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZv
cm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChfV0lOMzJfV0NF
KQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRPV1MpIC0gQW55
IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmluZSBXVEZfT1Nf
V0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdURl9PU19N
QUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9TKFVOSVgpIC0g
QW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAg
XAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJEKSAgICAgICAg
ICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9TKE5FVEJTRCkg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoUU5Y
KSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAorICAg
IHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNlbmRpZgorCisv
KiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1p
eGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwor
LyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8qIFBMQVRGT1JN
KFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8K
Ky8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBkZWZpbmVkKEJV
SUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKKyNl
bGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
QkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFURk9STV9NQUMg
MQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCisjZW5kaWYK
KworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQg
YXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8K
KyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
fHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TX1NJTVVMQVRP
UikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19T
SU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQorI2Rl
ZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBlbmdpbmVzICov
CisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQorI2Rl
ZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9N
YWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERBUldJTikKKyNp
ZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEK
KyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQor
I2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VT
RV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBVU0Vf
U1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAx
CisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNk
ZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0UpCisjaW5jbHVk
ZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQor
I2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBk
ZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JN
QU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQp
CisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qg
d2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2Fw
aS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVudGF0aW9uIHNh
eXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBj
YW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2Fi
bGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNz
ZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RGX1VTRV9JQ1Vf
VU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgorI2VsaWYgT1Mo
V0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQTEFURk9STShH
VEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCisj
ZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCisj
ZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0VfU0NST0xMQkFS
X1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2Rl
ZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQorI2Vu
ZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJf
QVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmluZWQoRU5BQkxF
X1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZFX0xBWUVSX0hP
U1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShNQUMp
ICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFS
V0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0VfV0tfU0NST0xM
QkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERPTlRf
RklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgJiYg
T1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9I
IDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZP
Uk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisjZGVmaW5lIEVO
QUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAw
CisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQor
I2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
CisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCisjZGVmaW5l
IEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUg
MQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBI
QVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lmIFBMQVRGT1JN
KElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAw
CisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAorICAgICNk
ZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQorICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVmaW5lIFdURl9V
U0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCisjZGVm
aW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0o
UVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShX
SU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorI2RlZmluZSBF
TkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKKyNp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVf
VEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBXVEZfVVNFX1BU
SFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKyNlbGlmIFBM
QVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQUND
RVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBI
QVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NF
U1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01QSUxFUihNU1ZD
KSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdD
QykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlmCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVF
QlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQorI2Vu
ZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAorICAgICYm
ICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVfVE1fR01UT0ZG
IDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00gMQorI2VuZGlm
CisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NRVJHRVNP
UlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKKworI2lm
bmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZGVm
aW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9STShJT1MpCisj
ZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1MpCisKKyNpZiBP
UyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfU1lT
X1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZpbmUgSEFWRV9J
U0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQor
CisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9N
TUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZf
RlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5lIEhBVkVfTk1B
UCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbHNl
CisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1z
IGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYKKworLyogRU5B
QkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdlIG11c3Qgbm90
IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQg
cG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjaWYgIU9T
KFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2VuZGlmCisKKy8q
IGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0
aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRj
aGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9D
X01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJ
REFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKKyNk
ZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZpbmUgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQ
RElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RS
QUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RP
UikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVmaW5lIEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJH
RUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNkZWZpbmUgV1RG
X1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisjZGVmaW5lIEVO
QUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEK
KyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAorI2RlZmlu
ZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxB
R1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5lIEVOQUJMRV9P
UENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKKyNp
ZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykK
KyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKKyNl
bmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFH
UykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19U
SFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVm
aW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9W
SUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2RlZmluZSBFTkFC
TEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9T
KFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAorICAg
IHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwgQ1BVKFMzOTBY
KSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQp
ICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQorI2RlZmluZSBF
TkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxlIHRoZSBKSVQg
b24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCisj
ZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQg
Zm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lO
RE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyog
VGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBN
SVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisgICAgJiYgKENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAorICAgICYm
IChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkKKyNkZWZpbmUg
RU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJl
IHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxvdy1sZXZlbCBp
bnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQp
ICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBH
TlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0o
TUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLworI2lm
IENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklU
IDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVz
ZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQorICAgY2FuIGVu
YWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBp
dCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJs
eSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAgYmVsb3cuICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkK
KyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQor
I2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1NJTVBM
RV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFy
cmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbworICAgc2V0IEVO
QUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9XUklU
RV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklM
SU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50
ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lO
VEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNf
SU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1
dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBDUFUoU0g0KSAm
JiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogQ29uZmln
dXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNF
X1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZpbmUgRU5BQkxF
X0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVy
ICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAs
IDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQor
I2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBS
RVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0
cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCisjZGVmaW5l
IEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUg
LSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNlbGlmIEVOQUJM
RShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBp
bnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAor
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVz
ZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIg
aXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAs
IG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxF
X0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9FWEVD
VVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBFTkFCTEVfUEFO
X1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xM
SU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAK
KyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9y
IFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlv
biBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFVU0UoTElCWE1M
MikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VTRV9RWE1MUVVF
UlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENvbXBsZXggdGV4
dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2RlZmluZSBXVEZf
VVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5l
IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8qIENvbXBvc2l0
aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9STShRVCkKKyNk
ZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisjaWYgKFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2Vu
ZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVmaW5lIEVOQUJM
RV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBF
TkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAgYSBkZWZpbmUg
Zm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJv
ciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RGX1BMQVRGT1JN
X0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksK
KworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxh
dGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5l
IFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVmaW5lIFdURl9V
U0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShBUk1fVEhVTUIy
KQorI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5B
QkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShH
TElCX1NVUFBPUlQpCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYK
KworLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBm
dWxseSBsYW5kZWQuIEhvd2V2ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9y
dCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RG
IGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJl
c3MgdGhlIGJ1aWxkCisgICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2RlZmluZSBXVEZf
VVNFX0VYUE9SVF9NQUNST1MgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9T
IDAKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09D
S0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAm
JiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RI
VU1CMikpCisjZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCisjZGVm
aW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVCVUcKKyNpZm5k
ZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQor
I2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmlu
ZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBXVEZfVVNF
X0NPUkVNRURJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZ
KQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBX
VEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZFX0lOVkVSVEVE
X1dIRUVMX0VWRU5UUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiAh
ZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRpZgorI2VuZGlm
IC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNk
ZWZpbmUgV1RGX1VTRV9WOCAwCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KKwor
LyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCisjZGVm
aW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
JiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZpbmUgV1RGX1VT
RV9XVEZVUkwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFU
Rk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RG
X1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRh
YmFzZV9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCmluZGV4IGVj
MDNlYTVlMjAyOWQ3OGY2NDk0OTQ5NDQ3MDM5MDQxZjc2YTM2Y2UuLjI5ODQ3MDQ0MjU1MGM4OTRl
ZmY4ZDBjMzc4ZTMzMWE5ZWY4OTgzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJkYXRhYmFzZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNl
X3AuaApAQCAtMjQsNyArMjQsNyBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAogCiBjbGFzcyBRV2ViRGF0YWJhc2VQcml2YXRlIDogcHVibGljIFFT
aGFyZWREYXRhIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3
b3JsZF9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCmluZGV4
IDcxMTVlYjJjNTBiOTE5Y2YyODU4NWIxNDE5MjBhM2Q0MDQ1NGQ1ZjQuLjhjMThlMjNlZDg0N2Q3
YTkxODRhYTFmOTBlODFlNDQ0MTAyMzJjNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNj
cmlwdHdvcmxkX3AuaApAQCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBfUVdFQlNDUklQVFdPUkxE
X1BfSF8KICNkZWZpbmUgX1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAKLSNpbmNsdWRlICJSZWZQdHIu
aCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBET01XcmFwcGVyV29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2VjdXJpdHlvcmlnaW5fcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5
b3JpZ2luX3AuaAppbmRleCBjZGM5M2JkMTQxYWNiYzQxZmExMDcwYTBhZmVkMzZlY2U3MTU2ZTE1
Li4xYjY0YzQ5ZjBjMTQyMDllZjAxODU0NTg2MWFjMmQzYzU3NjUyM2UxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNk
ZWZpbmUgX1dFQlNFQ1VSSVRZT1JJR0lOX1BfSF8KIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBjbGFz
cyBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKIHB1Ymxp
YzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuaAppbmRleCBjOTRkNjFhMzI5NDBhNmE0M2Q1NmU5ZGVlOWU0MTgyOGI3ZDI0MWRjLi42
YzdkMDBmODVkNzg0OWY1NWI4MjE1OTY0NzA3ZjkxZmE5NTRlNjU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC0zMiwx
MCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKLSNpbmNsdWRlICJPd25QdHIuaCIKLSNpbmNs
dWRlICJQYXNzT3duUHRyLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FTdHJpbmc+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogY2xhc3MgUVdlYlBhZ2U7CiBjbGFzcyBRV2ViVmlldzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCmlu
ZGV4IGVhMTExZmE1Y2ZlMWMzNjJiOTRjY2M0ZmMwZDM1MWRlOTg1MmJlOTMuLjI5ODBkNDU4MjRh
NjdlZGVlNDk5MTJhYTRhOGUyZThhZDk0YTM5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaApAQCAtMjAsOCArMjAsOCBA
QAogI2lmbmRlZiBRdEZhbGxiYWNrV2ViUG9wdXBfaAogI2RlZmluZSBRdEZhbGxiYWNrV2ViUG9w
dXBfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKICNpbmNsdWRlICJxd2Via2l0cGxhdGZvcm1w
bHVnaW4uaCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogI2luY2x1ZGUgPFFDb21ib0Jv
eD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNv
bWJvQm94LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3gu
aAppbmRleCBiY2EyZTVmMzgyYmYyYWMwY2M2NDA0YjFiMGU1YTgxYmVlM2JlODExLi40MjY0NzU3
NjY3ODIyNGI0NThjYjYwNjkxNTU1ZTdjYjBlZGRkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaApAQCAtMjEsNyArMjEsNyBAQAogI2lm
bmRlZiBRdFdlYkNvbWJvQm94X2gKICNkZWZpbmUgUXRXZWJDb21ib0JveF9oCiAKLSNpbmNsdWRl
ICJQbGF0Zm9ybS5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNv
bWJvQm94PgogCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDRmODFhNDU0MjA3NGMwOWIwNmYwOWRmMGY3Mjk3OTY4NTRjOGQ0NmMuLmE5YzFiYTlhNDRj
ZDU0ZDM3NmI0ZjY0ZGU2ZDRmMTUxNzc3MGIzZTEgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0
CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC0yNyw2ICsyNyw3IEBAIElGIChPTkxZX0JVSUxEX0pB
VkFTQ1JJUFRDT1JFKQogICAgIFNFVChFTkFCTEVfVE9PTFMgT0ZGKQogRU5ESUYgKCkKIAorU0VU
KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBTRVQoSkFWQVNDUklQ
VENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBT
RVQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQogU0VU
KFdFQktJVF9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdCIpCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYjBhYWQyNTM4MjEyY2Q0MGY1NjIwMzRj
ZmU4NWE5MzMwY2I2NmQ0Mi4uNDljM2M5NzI5ZjRhNWMxMWJkZGNhNjY2ZWViMDk1ZmM5M2NmNWFk
OSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDEyLTAzLTE5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBN
b3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogRGVmaW5lIFdURl9ESVIuCisKIDIwMTItMDMtMTkgIFRvbnkgQ2hhbmcgIDx0b255
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBjbGVhbiB1cCBnaXRpZ25vcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132771</attachid>
            <date>2012-03-19 23:49:37 -0700</date>
            <delta_ts>2012-03-20 00:43:06 -0700</delta_ts>
            <desc>attempt to fix qt-wk2</desc>
            <filename>bug-80911-20120319234935.patch</filename>
            <type>text/plain</type>
            <size>85926</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NGMwMmVhZTI1YWMxMzcwMDdhOGYxZDIyOWQwOWRkMjEyOTA4M2FhLi45ZDQ0ZTU1OWQ3M2E0MjJh
YWU3NTE2YjM2MmJmYmZhYjFhMWMyYWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRG8g
bm90IGNvcHkgdGhlIHNjcmlwdCBzb3VyY2UgaW4gdGhlIFNvdXJjZVByb3ZpZGVyLCBqdXN0IHJl
ZmVyZW5jZSB0aGUgZXhpc3Rpbmcgc3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1MGU3NzAxNjM0ZDI5YWY4YjA1YmE1
OGU4NzYxYTc5YzA3MGQ3NGEuLmZiMGFjMjE3YWU4ODA1MTNlMDc3ZmY4NzM4NGIxZmNkNTY0NTk2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0
Q29yZSB0byBTb3VyY2UvV1RGL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIHRvIHRlc3Qgd2hhdCBidWlsZHMgYnJlYWsgYW5k
IGhvdy4KKyAgICAgICAgTWFjOiBzaG91bGQgYnVpbGQKKyAgICAgICAgV2luOiBjYW4ndCBiZSBm
aXhlZCB1bnRpbCBidWcgODA2ODAgbGFuZHMuCisgICAgICAgIEd0azogbWlnaHQgYnVpbGQKKyAg
ICAgICAgUXQ6IG1pZ2h0IGJ1aWxkLCBsaWtlbHkgbmVlZHMgaGVscCBmcm9tIFF0IGZvbGtzLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAg
ICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm0uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aC4KKwogMjAxMi0wMy0xOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNldCB0aGUgc3ZuOmlnbm9yZSBwcm9wZXJ0eSBvbiB0aGUgWGNvZGUgcHJvamVjdC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4
ZmI5NjY2OTNiYWFmN2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2
NDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAog
U0VUKEphdmFTY3JpcHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5B
UllfRElSfSIKKyAgICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9Igog
ICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vRm9yd2FyZGluZ0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnByaQppbmRleCBlZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li5iZTA4
ZTA5MGYxM2MxYzM5YWE4NGJlYWQ0YTBkNmRlMjRlNGJjMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKQEAgLTExLDcgKzExLDggQEAgSkFWQVNDUklQVENPUkVf
R0VORVJBVEVEX1NPVVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS8KIAogSU5DTFVERVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUiBcCi0gICAgJCRT
T1VSQ0VfRElSLy4uIFwKKyAgICAkJFNPVVJDRV9ESVIvLi4gXCAgIyBUaGlzIHNlZW1zIGxpa2Ug
YSBiYWQgaWRlYSEKKyAgICAkJFNPVVJDRV9ESVIvLi4vV1RGIFwKICAgICAkJFNPVVJDRV9ESVIv
YXNzZW1ibGVyIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvZGUgXAogICAgICQkU09VUkNFX0RJ
Ui9ieXRlY29tcGlsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggM2JmNzgxN2YzMTg1MDhj
YzI5NzExNTdmM2I0YTllZGM2NDYzYzc3ZC4uYzM0MWRhNjZhNTVmZThlZTFiN2NmNGIzMjZiNjAy
NGRjOTA3MzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC05OTcsMTAgKzk5Nyw2IEBACiAJ
CQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBsYXRm
b3JtLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXFBvc3NpYmx5TnVsbC5oIgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDNiZjY1ZmZiZWIyZjQzOWIwZDA1OThmZjVlZGY4YzFjZDNiNWE4YTcuLjM0
OGQ2Y2Q3ZjIxNzEyZjI4NDcwODRmZDljMzUxYmMxMmUxODA4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2NDdCMzA5M0VGOEQ2MDAy
MkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdF
QSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NUQ2RDg3
RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1REZD
OTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5jdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQjA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hTZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaFNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBAIC0yMTQxLDcgKzIxNDAs
NiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNzT3duUHRyLmggKi8sCiAJ
CQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJCQk2NTFE
Q0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICovLAotCQkJCTY1RDZEODdFMDlC
NUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE3RDY0OUE5MTAxNTIyNEUwMDlC
MkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhGQTVCOTBFRjc2RDQzMDA1NzhFNkYg
LyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVCQTBFRjc2RDQzMDA1NzhFNkYgLyog
UmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4
dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIwZjU4NWVhNjcyYjZhLi5hZGFiNzI4
NmE3MDkzOWNlMjk3YjA1OTMyYjVkMThhODQ0YzZjY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcgQEAgU0VUKFdURl9IRUFERVJTCiAg
ICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAog
ICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZvcm0uaAorICAgICR7V1RGX0RJUn0v
d3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAogICAgIFJhbmRvbU51bWJlci5oCiAg
ICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2Rh
NDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKLQotLyogSW5jbHVk
ZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
LQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdy
YXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGlu
IGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9u
IG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCi0jZGVmaW5l
IFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVS
RSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQbGF0Zm9ybSBh
ZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0
IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0
ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dU
Rl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZFKCkgLSBzcGVjaWZp
YyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFy
ZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBI
QVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8qIE9TKCkgLSB1bmRl
cmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93
LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBh
IEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1Nf
IyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQb2xp
Y3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFy
dGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGly
ZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUgVVNFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNX
VEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2Yg
V2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMj
V1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gQ1BVKCkg
LSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBUaGlzIGFsc28gZGVm
aW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFz
IGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCi0jaWYgZGVm
aW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2VuZGlmCi0KLS8qIENQ
VShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19pYTY0X18pCi0jZGVm
aW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCi0jaWYgIWRl
ZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTogT25seSBPMzIgQUJJ
IGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwotI2lm
IChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwg
ZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQotI2RlZmluZSBXVEZf
Q1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykK
LSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChk
ZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQotI2RlZmluZSBXVEZf
TUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19B
UkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Ci0jZGVm
aW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RG
X01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZp
bmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCi0j
ZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09
IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAq
LwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRp
ZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KLSNpZiAgIGRl
ZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCi0gICAg
fHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9QUEMpICAg
ICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVfUFBDIDEKLSNkZWZp
bmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0gUG93ZXJQ
QyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KLSNpZiBkZWZp
bmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJD
MzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFS
QzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAq
LwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCi0jaWYgZGVmaW5l
ZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCi0jaWYg
ZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNkZWZpbmUgV1RGX0NQ
VV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0
ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5lZChpMzg2KSAgICAg
XAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBc
Ci0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQVV9YODYgMQotI2Vu
ZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAq
LwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9YNjQpCi0j
ZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNKSAtIEFSTSwgYW55
IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZpbmVkKF9fYXJtX18p
IFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FSTV8pCi0jZGVmaW5l
IFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZD
VCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAhZGVmaW5lZChfX0VB
QklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAmJiAhZGVmaW5lZChf
V0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX0NQVV9N
SURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQotCi0vKiBTZXQgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FS
TVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCi0j
ZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0v
KkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLQotI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0jZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KLSNl
bGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwK
LSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwgZGVmaW5lZChfX1RB
UkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxp
Z25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRF
R0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCi0K
LSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5l
ZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQotCi0j
ZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdU
Rl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0vKiBSVkNUIHNldHMg
X19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1C
KQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKLQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5kaWYKLQotCi0vKiBD
UFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICov
Ci0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVk
LiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFy
bGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9B
VF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKLSNlbmRpZgotCi0K
LS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkg
dHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFSTV9USFVNQjIpIC0g
VGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9ubHkgb25lIG9mIHRo
ZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJ
T05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYgZGVmaW5lZCh0aHVt
YjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8
fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKLSMg
ICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQotIyAgICBkZWZp
bmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhV
TUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVy
ZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1C
MikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9D
UFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgotI2Vu
ZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZf
Q1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmlu
ZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCi0jZW5kaWYK
LQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShT
SDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAx
Ci0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBv
bmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAg
dmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCi0KLS8q
IE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNkZWZpbmUgV1RGX09T
X0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNpZmRlZiBfQUlYCi0j
ZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikgLSBBbnkgRGFyd2lu
LWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLwotI2lmZGVmIF9f
QVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUgPEF2YWlsYWJpbGl0
eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1ZGUgPFRhcmdldENv
bmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8KLS8qIE9TKE1BQ19P
U19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBPUyhEQVJXSU4pICYm
ICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAot
ICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAg
ICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1Ip
ICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09TX0lPUyAxCi0jZWxp
ZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQwot
I2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQg
VEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVt
ICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIEJVSUxESU5H
X09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVm
aW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9W
RVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5kaWYKLSNpZiAhZGVm
aW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEK
LSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgVEFSR0VUSU5H
X1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84Ci0j
ZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE9TKEZSRUVCU0Qp
IC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFn
b25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVmaW5lIFdURl9PU19G
UkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCi0jaWZkZWYgX19H
TlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1MoTElOVVgpIC0gTGlu
dXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVYIDEKLSNlbmRpZgot
Ci0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05ldEJTRF9fKQotI2Rl
ZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0Qg
Ki8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCi0jZW5kaWYK
LQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9fXykKLSNkZWZpbmUg
V1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCi0jaWYg
ZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9PU19TT0xBUklTIDEK
LSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMg
cGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYgZGVmaW5lZChfV0lO
MzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkRPV1Mp
IC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmlu
ZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYKLQotI2RlZmluZSBX
VEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCi0jZGVmaW5lIFdU
Rl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCi0KLS8qIE9TKFVO
SVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkgICAgICAgICAgICAg
IFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0gICAgfHwgT1MoREFSV0lOKSAgICAg
ICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhIVVJEKSAg
ICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAotICAgIHx8IE9TKE5F
VEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCi0gICAgfHwg
T1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAg
XAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5lIFdURl9PU19VTklYIDEKLSNlbmRp
ZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1FOiB0aGVzZSBhcmUg
YWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2Vz
LiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQTEFURk9STShRVCkgKi8KLS8qIFBM
QVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZPUk0oQkxBQ0tCRVJS
WSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikgKi8KLSNpZiBkZWZp
bmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9RVCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9XWCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fR1RL
IDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCi0j
ZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVz
IHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGlu
Z3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJF
RERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TX1NJ
TVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJH
RVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1BMQVRGT1JN
X0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9T
KQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBHcmFwaGljcyBlbmdp
bmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cp
KQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmIE9TKERBUldJ
TikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0FU
U1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBXVEZfVVNFX0lDQ0pQ
RUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUg
V1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEK
LSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmlu
ZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8x
OTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdU
SykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYgT1MoV0lOQ0UpCi0j
aW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5
MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRl
ciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1VTRV9RVUVSWV9Q
RVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29u
ZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExXQVBJICAgICAgLyog
c2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNETiBkb2N1bWVudGF0
aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1
dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8q
IGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJs
ZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYgIC8qIE9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNpZm5kZWYgV1RGX1VT
RV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKLSNlbmRpZgotI2Vs
aWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxpZiBQTEFU
Rk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICov
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VT
UyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5U
UyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5lIFdURl9VU0VfU0NS
T0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdF
KQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
MQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUg
MQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0jZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQotI2lmIGRlZmluZWQo
RU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQotI2VuZGlmCi0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBIQVZFX0xB
WUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYg
T1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFE
UyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5lIFdURl9VU0VfV0tf
U0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5l
IERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShR
VCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgSEFWRV9ESVNQ
QVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCi0jZGVm
aW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJ
T04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUgRU5BQkxFX0lOU1BF
Q1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5lIEVOQUJMRV9ORVRT
Q0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCi0j
ZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FS
Q0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUg
V1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2lmIFBM
QVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAot
ICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQotICAg
ICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0jZGVmaW5l
IFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVUV09SSykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAx
Ci0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExB
VEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFU
Rk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQVShQUEMpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotI2Rl
ZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUgRU5BQkxFX0xMSU5U
IDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNF
X0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQotI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLSNl
bGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEK
LSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhB
VkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQotI2Rl
ZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoSEFW
RV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQotI2lmICFDT01QSUxF
UihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJ
TEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2VuZGlmCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhEQVJXSU4pIHx8IChP
UyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBIQVZFX1NUUk5TVFIg
MQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAot
ICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVmaW5lIEhBVkVfVE1f
R01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFWRV9USU1FR00gMQot
I2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZp
bmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9N
RVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEK
LQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAx
Ci0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lmICFQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUg
SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9TKFdJTkRPV1MpCi0K
LSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNlCi0jZGVmaW5lIEhB
VkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKLSNkZWZpbmUg
SEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFWRV9WSVJUVUFMQUxM
T0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUg
SEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmluZSBIQVZF
X01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRST0lEKQotCi0jZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCi0jZGVmaW5lIEhB
VkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
LSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0K
LSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxh
dGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KLQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQot
I2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZW5kaWYKLQot
LyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShRVCkKLS8qIFdlIG11
c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0
aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0j
aWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgotI2VuZGlm
Ci0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVy
aWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBp
cyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1Rf
TUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRD
SF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFT
RSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKLSNkZWZpbmUg
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lO
U1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCi0jZGVmaW5l
IEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUgRU5BQkxFX05FVFND
QVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKLSNkZWZp
bmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VW
RU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCi0jZGVm
aW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
R0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0Nf
TkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJ
TkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCi0jZGVmaW5lIEVO
QUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5H
IDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1Q
TElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElO
RyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElO
R19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04p
Ci0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJ
T05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfVEVYVF9D
QVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQotI2RlZmlu
ZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJf
TE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgp
IHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkg
XAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBcCi0gICAgfHwgQ1BV
KFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVF
MzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQotI2Rl
ZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0vKiBEaXNhYmxlIHRo
ZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEs
IDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBpcyBub3QgaW1wbGVt
ZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYg
T1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYK
LQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBB
Uk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCi0gICAg
JiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAot
ICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xF
QVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYgIU9TKFFOWCkKLSNk
ZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1z
IHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKLSAgIGxvdy1s
ZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJM
RShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQotLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFj
IGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExB
VEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRp
ZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAq
LwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9E
RkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFs
dWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQotICAg
Y2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRv
IHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBw
cm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQotICAgYmVs
b3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZH
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJ
TEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxF
X1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQotLyogQ291bnRzIHVzZXMgb2Ygd3Jp
dGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwotICAg
c2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJf
UFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0
aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
Q0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJMRV9DTEFT
U0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENM
QVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25l
IGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlmCi0KLSNpZiBDUFUo
U0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyog
Q29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKLSNkZWZpbmUg
RU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRf
VVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKLSNkZWZpbmUg
SlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0Mp
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbHNl
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIGludGVy
cHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQs
IDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dP
VE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19J
TlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8g
MSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCi0j
ZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1
bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCi0j
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0KLSNlbGlm
IEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxF
X1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMg
d2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVC
VUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hpY2ggYWxsb2NhdG9y
IHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3Nl
bWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVk
IG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KLSNpZiBFTkFC
TEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
RU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJM
RV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQotI2RlZmluZSBFTkFC
TEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRp
b24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1l
bnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2lmICFVU0Uo
TElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZpbmUgV1RGX1VTRV9R
WE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLS8qIENvbXBs
ZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAotI2RlZmlu
ZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKLSNlbmRp
ZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAm
JiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCi0j
ZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2VuZGlmCi0KLS8qIENv
bXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNpZiBQTEFURk9STShR
VCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRG
T1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sg
MQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBM
QVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCi0jZGVmaW5l
IEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2Rl
ZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0vKiBTZXQgdXAgYSBk
ZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWls
ZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5F
VFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBh
bGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0jaWYgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCi0j
ZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0jZGVm
aW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0vKiBH
ZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVp
cmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCi0jZGVmaW5l
IFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKLQotI2lmIENQVShBUk1f
VEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENI
X0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYgIWRlZmlu
ZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVS
SUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQotI2lmIEVO
QUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+Ci0j
ZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1
MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8g
c3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwotICAg
dG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2Fu
IGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLwot
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQotI2RlZmlu
ZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9FWFBPUlRf
TUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfVU5JWF9ET01B
SU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9T
V0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVAp
Ci0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5kaWYKLQotI2lmbmRlZiBOREVCVUcK
LSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJ
T04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQot
I2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBX
VEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFD
S0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2Rl
ZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBIQVZFX0lO
VkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZp
bmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkK
LSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDEKLSNlbmRpZgot
I2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9W
OCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkg
Ki8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICov
Ci0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05T
X09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKLSNkZWZpbmUg
V1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYm
ICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0jZW5kaWYg
LyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2ZjRhMzdm
Mzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5MWM2OGYz
NzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEsNCBAQAog
d3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9XVEYvU3R1
Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmlu
ZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3NGM4NDQ5
Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RG
Lmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAg
J3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6
IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywK
ICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8K
aW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYxZDZjMGMzNTc3OC4uYzRlMGU5MGNl
NWMzNzQyZTIxYTM0ZGZmZTVmZWExMDViN2IyMTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9X
VEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBAIEhFQURF
UlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAgICBQYXNz
VHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0u
aFBsYXRmb3JtLmggXAogICAgIFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0LmggXAog
ICAgIFJhbmRvbU51bWJlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDZmOGJkYzYyNmQ2ZjkxMTRiYzY1NmVhMjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUx
MjliZDUwNjE2M2Y1Zjg3OWU5ZTFlZDM5YWYzY2M3MjUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOSw2ICs5LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxk
RmlsZSBzZWN0aW9uICovCiAJCTVEMjQ3Qjc5MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2
ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLzsgfTsKIAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4
Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRm
b3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2
REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8K
QEAgLTIwLDYgKzIxLDcgQEAKIAkJNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dURi9IZWFkZXJEZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBs
YXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3
LDEwICs2OSwxOSBAQAogCQkJCTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRl
Y3Rpb24uaCAqLywKIAkJCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8s
CiAJCQkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLywKKwkJCQlBODc2REJE
NjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovLAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlBODc2REJENjE1MTgxNkU1MDBEQURC
OTUgLyogd3RmICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gd3RmOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhH
cm91cCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KQEAgLTc4LDggKzg5LDggQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTVEMjQ3RUIy
MTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
ODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTQzLDcgKzE1NCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYg
W1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJ
VkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURF
UlNfRk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNU
Uk9PVCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1w
IFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1n
cm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVz
clwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1
ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L1wiIFwiJHtQUklWQVRFX0hF
QURFUlNfUEFUSH1cIlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRI
PVwiJHtUQVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwi
XG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRF
X0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFE
RVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0
eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJE
ZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNs
dWRlIFwiKlwiIFwiJHtTUkNST09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwi
XG4iOwogCQl9OwogCQk1RDI0N0U5RDE0NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJs
ZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTAsMCAr
MSwxMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5
IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5jbHVkZSBjb21w
aWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyog
PT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNz
IEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9y
IG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3Jv
cywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVmaW5lIFBMQVRG
T1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYg
V1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0
aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmly
b25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJl
ICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFU
VVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0
ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVz
ZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMj
V1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1bmRlcmx5aW5n
IG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVs
IHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0
b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVj
aXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxh
ciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0
eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVB
VFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0
ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BVKCkgLSB0aGUg
dGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28gZGVmaW5lcyBD
UFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJv
cHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYgZGVmaW5lZChf
X2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8qIENQVShJQTY0
KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdU
Rl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYgIWRlZmluZWQo
X19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNlbmRpZgorCisv
KiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRl
c3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLworI2lmIChkZWZp
bmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5l
ZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBXVEZfQ1BVX01J
UFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKKyNkZWZp
bmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVk
IFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19J
U0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49
IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2CisjZGVmaW5lIFdU
Rl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNf
QVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9f
bWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCisjZGVmaW5l
IFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQor
LyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZiAvKiBN
SVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisgICAgfHwgZGVm
aW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAor
ICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1i
aXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0
X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBkZWZpbmVkKF9f
U0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMzMikg
LSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzY0KSAt
IFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEK
KyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMpIC0g
YW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLworI2lm
IENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCisj
ZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3Mz
OTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisjaWYgZGVmaW5l
ZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCisj
aWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAorICAg
IHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCisgICAg
fHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQorI2VuZGlmCisK
Ky8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLworI2lm
ICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQpCisjZGVmaW5l
IFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNp
b24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKKyAg
ICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVmaW5lIFdURl9D
UFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYg
ZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorCisj
ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX0VBQklfXykg
XAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5lZChfV0lOMzJf
V0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQVV9NSURETEVf
RU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChD
UFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18p
IFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCisjZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisvKkFSTXY1
VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBX
VEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQorI2RlZmlu
ZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9B
UkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBt
ZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
KyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCisKKyNlbmRp
ZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FS
TV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQorCisjZWxpZiBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCisK
KyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18p
CisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNldHMgX19UQVJH
RVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKKworI2Vsc2UK
KyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisvKiBDUFUoQVJN
VjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCisvKiBP
biBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKKyAg
IEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4g
Ki8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFT
VCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgorCisKKy8qIENQ
VShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0
aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIy
IGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9mIHRoZXNlIHdp
bGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkg
JiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8
IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZp
bmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKKyMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RI
VU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBkZWZpbmUgV1RG
X0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAK
KyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKKyMg
IGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyog
U2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJN
X1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgorI2VuZGlmIC8q
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FS
TV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RG
X0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5kaWYKKworI2Vu
ZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8
IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCisjZW5k
aWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRv
IGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVh
bCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisKKy8qIE9TKEFO
RFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RGX09TX0FORFJP
SUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlYCisjZGVmaW5l
IFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2Vk
IE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVmIF9fQVBQTEVf
XworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgor
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlv
bmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1BQ19PU19YKSAt
IE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4pICYmICgoZGVm
aW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAorICAgIHx8
IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAg
ICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRB
UkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisjZWxpZiBPUyhE
QVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQworI2RlZmlu
ZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VU
SU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCisj
aWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxESU5HX09OX0xF
T1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9O
XzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VUSU5HX1NOT1df
TEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5l
IFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVCU0QpIC0gRnJl
ZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlf
XykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9PU19GUkVFQlNE
IDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYgX19HTlVfXwor
I2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0gTGludXggKi8K
KyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBP
UyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBX
VEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNp
ZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyog
T1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX09T
X1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisjaWYgZGVmaW5l
ZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklTIDEKKyNlbmRp
ZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZv
cm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChfV0lOMzJfV0NF
KQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRPV1MpIC0gQW55
IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmluZSBXVEZfT1Nf
V0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdURl9PU19N
QUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9TKFVOSVgpIC0g
QW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAg
XAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJEKSAgICAgICAg
ICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9TKE5FVEJTRCkg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoUU5Y
KSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAorICAg
IHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNlbmRpZgorCisv
KiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1p
eGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwor
LyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8qIFBMQVRGT1JN
KFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8K
Ky8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBkZWZpbmVkKEJV
SUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKKyNl
bGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
QkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFURk9STV9NQUMg
MQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCisjZW5kaWYK
KworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQg
YXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8K
KyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
fHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TX1NJTVVMQVRP
UikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19T
SU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQorI2Rl
ZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBlbmdpbmVzICov
CisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQorI2Rl
ZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9N
YWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERBUldJTikKKyNp
ZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEK
KyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQor
I2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VT
RV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBVU0Vf
U1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAx
CisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNk
ZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0UpCisjaW5jbHVk
ZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQor
I2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBk
ZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JN
QU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQp
CisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qg
d2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2Fw
aS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVudGF0aW9uIHNh
eXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBj
YW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2Fi
bGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNz
ZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RGX1VTRV9JQ1Vf
VU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgorI2VsaWYgT1Mo
V0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQTEFURk9STShH
VEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCisj
ZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCisj
ZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0VfU0NST0xMQkFS
X1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2Rl
ZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQorI2Vu
ZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJf
QVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmluZWQoRU5BQkxF
X1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZFX0xBWUVSX0hP
U1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShNQUMp
ICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFS
V0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0VfV0tfU0NST0xM
QkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERPTlRf
RklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgJiYg
T1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9I
IDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZP
Uk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisjZGVmaW5lIEVO
QUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAw
CisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQor
I2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
CisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCisjZGVmaW5l
IEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUg
MQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBI
QVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lmIFBMQVRGT1JN
KElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAw
CisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAorICAgICNk
ZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQorICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVmaW5lIFdURl9V
U0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCisjZGVm
aW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0o
UVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShX
SU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorI2RlZmluZSBF
TkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKKyNp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVf
VEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBXVEZfVVNFX1BU
SFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKyNlbGlmIFBM
QVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQUND
RVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBI
QVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NF
U1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01QSUxFUihNU1ZD
KSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdD
QykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlmCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVF
QlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQorI2Vu
ZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAorICAgICYm
ICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVfVE1fR01UT0ZG
IDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00gMQorI2VuZGlm
CisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NRVJHRVNP
UlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKKworI2lm
bmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZGVm
aW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9STShJT1MpCisj
ZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1MpCisKKyNpZiBP
UyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfU1lT
X1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZpbmUgSEFWRV9J
U0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQor
CisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9N
TUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZf
RlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5lIEhBVkVfTk1B
UCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbHNl
CisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1z
IGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYKKworLyogRU5B
QkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdlIG11c3Qgbm90
IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQg
cG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjaWYgIU9T
KFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2VuZGlmCisKKy8q
IGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0
aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRj
aGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9D
X01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJ
REFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKKyNk
ZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZpbmUgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQ
RElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RS
QUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RP
UikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVmaW5lIEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJH
RUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNkZWZpbmUgV1RG
X1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisjZGVmaW5lIEVO
QUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEK
KyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAorI2RlZmlu
ZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxB
R1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5lIEVOQUJMRV9P
UENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKKyNp
ZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykK
KyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKKyNl
bmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFH
UykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19U
SFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVm
aW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9W
SUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2RlZmluZSBFTkFC
TEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9T
KFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAorICAg
IHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwgQ1BVKFMzOTBY
KSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQp
ICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQorI2RlZmluZSBF
TkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxlIHRoZSBKSVQg
b24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCisj
ZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQg
Zm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lO
RE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyog
VGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBN
SVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisgICAgJiYgKENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAorICAgICYm
IChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkKKyNkZWZpbmUg
RU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJl
IHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxvdy1sZXZlbCBp
bnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQp
ICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBH
TlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0o
TUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLworI2lm
IENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklU
IDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVz
ZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQorICAgY2FuIGVu
YWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBp
dCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJs
eSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAgYmVsb3cuICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkK
KyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQor
I2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1NJTVBM
RV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFy
cmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbworICAgc2V0IEVO
QUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9XUklU
RV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklM
SU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50
ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lO
VEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNf
SU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1
dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBDUFUoU0g0KSAm
JiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogQ29uZmln
dXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNF
X1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZpbmUgRU5BQkxF
X0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVy
ICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAs
IDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQor
I2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBS
RVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0
cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCisjZGVmaW5l
IEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUg
LSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNlbGlmIEVOQUJM
RShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBp
bnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAor
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVz
ZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIg
aXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAs
IG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxF
X0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9FWEVD
VVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBFTkFCTEVfUEFO
X1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xM
SU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAK
KyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9y
IFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlv
biBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFVU0UoTElCWE1M
MikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VTRV9RWE1MUVVF
UlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENvbXBsZXggdGV4
dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2RlZmluZSBXVEZf
VVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5l
IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8qIENvbXBvc2l0
aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9STShRVCkKKyNk
ZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisjaWYgKFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2Vu
ZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVmaW5lIEVOQUJM
RV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBF
TkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAgYSBkZWZpbmUg
Zm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJv
ciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RGX1BMQVRGT1JN
X0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksK
KworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxh
dGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5l
IFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVmaW5lIFdURl9V
U0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShBUk1fVEhVTUIy
KQorI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5B
QkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShH
TElCX1NVUFBPUlQpCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYK
KworLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBm
dWxseSBsYW5kZWQuIEhvd2V2ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9y
dCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RG
IGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJl
c3MgdGhlIGJ1aWxkCisgICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2RlZmluZSBXVEZf
VVNFX0VYUE9SVF9NQUNST1MgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9T
IDAKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09D
S0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAm
JiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RI
VU1CMikpCisjZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCisjZGVm
aW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVCVUcKKyNpZm5k
ZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQor
I2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmlu
ZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBXVEZfVVNF
X0NPUkVNRURJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZ
KQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBX
VEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZFX0lOVkVSVEVE
X1dIRUVMX0VWRU5UUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiAh
ZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRpZgorI2VuZGlm
IC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNk
ZWZpbmUgV1RGX1VTRV9WOCAwCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KKwor
LyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCisjZGVm
aW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
JiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZpbmUgV1RGX1VT
RV9XVEZVUkwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFU
Rk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RG
X1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRh
YmFzZV9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCmluZGV4IGVj
MDNlYTVlMjAyOWQ3OGY2NDk0OTQ5NDQ3MDM5MDQxZjc2YTM2Y2UuLjI5ODQ3MDQ0MjU1MGM4OTRl
ZmY4ZDBjMzc4ZTMzMWE5ZWY4OTgzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJkYXRhYmFzZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNl
X3AuaApAQCAtMjQsNyArMjQsNyBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAogCiBjbGFzcyBRV2ViRGF0YWJhc2VQcml2YXRlIDogcHVibGljIFFT
aGFyZWREYXRhIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3
b3JsZF9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCmluZGV4
IDcxMTVlYjJjNTBiOTE5Y2YyODU4NWIxNDE5MjBhM2Q0MDQ1NGQ1ZjQuLjhjMThlMjNlZDg0N2Q3
YTkxODRhYTFmOTBlODFlNDQ0MTAyMzJjNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNj
cmlwdHdvcmxkX3AuaApAQCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBfUVdFQlNDUklQVFdPUkxE
X1BfSF8KICNkZWZpbmUgX1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAKLSNpbmNsdWRlICJSZWZQdHIu
aCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBET01XcmFwcGVyV29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2VjdXJpdHlvcmlnaW5fcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5
b3JpZ2luX3AuaAppbmRleCBjZGM5M2JkMTQxYWNiYzQxZmExMDcwYTBhZmVkMzZlY2U3MTU2ZTE1
Li4xYjY0YzQ5ZjBjMTQyMDllZjAxODU0NTg2MWFjMmQzYzU3NjUyM2UxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNk
ZWZpbmUgX1dFQlNFQ1VSSVRZT1JJR0lOX1BfSF8KIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBjbGFz
cyBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKIHB1Ymxp
YzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuaAppbmRleCBjOTRkNjFhMzI5NDBhNmE0M2Q1NmU5ZGVlOWU0MTgyOGI3ZDI0MWRjLi42
YzdkMDBmODVkNzg0OWY1NWI4MjE1OTY0NzA3ZjkxZmE5NTRlNjU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC0zMiwx
MCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKLSNpbmNsdWRlICJPd25QdHIuaCIKLSNpbmNs
dWRlICJQYXNzT3duUHRyLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FTdHJpbmc+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogY2xhc3MgUVdlYlBhZ2U7CiBjbGFzcyBRV2ViVmlldzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCmlu
ZGV4IGVhMTExZmE1Y2ZlMWMzNjJiOTRjY2M0ZmMwZDM1MWRlOTg1MmJlOTMuLjI5ODBkNDU4MjRh
NjdlZGVlNDk5MTJhYTRhOGUyZThhZDk0YTM5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaApAQCAtMjAsOCArMjAsOCBA
QAogI2lmbmRlZiBRdEZhbGxiYWNrV2ViUG9wdXBfaAogI2RlZmluZSBRdEZhbGxiYWNrV2ViUG9w
dXBfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKICNpbmNsdWRlICJxd2Via2l0cGxhdGZvcm1w
bHVnaW4uaCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogI2luY2x1ZGUgPFFDb21ib0Jv
eD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNv
bWJvQm94LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3gu
aAppbmRleCBiY2EyZTVmMzgyYmYyYWMwY2M2NDA0YjFiMGU1YTgxYmVlM2JlODExLi40MjY0NzU3
NjY3ODIyNGI0NThjYjYwNjkxNTU1ZTdjYjBlZGRkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaApAQCAtMjEsNyArMjEsNyBAQAogI2lm
bmRlZiBRdFdlYkNvbWJvQm94X2gKICNkZWZpbmUgUXRXZWJDb21ib0JveF9oCiAKLSNpbmNsdWRl
ICJQbGF0Zm9ybS5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNv
bWJvQm94PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3Jr
UmVwbHlEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRh
LmgKaW5kZXggZDE1NjViZWMyMGRkZWFhMDM0YjM4MzgyMTkxYmY5MTBjMTlkMDYwNS4uNDU3ZDdi
ZTI3YWYwM2Y4YzRhMmRmNDNhZGEyNzk1NTM2OTBmYTY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWZu
ZGVmIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAK
LSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKICNpbmNs
dWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+Cisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRh
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAK
aW5kZXggZjIxMDY2MGZkNGU1MzM2MTVjM2EyY2Y3YTAwNzdhNDkxZTU3N2M1Mi4uOGE4MGZiMzY5
OTFmZjU4YmQ2NGZmNmVlMThmNTY5OWFlMmUzZTkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCkBAIC0yNywxMSArMjcsMTEgQEAK
ICNpbmNsdWRlICJRdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIgogCiAjaW5jbHVkZSAiQXJndW1lbnRD
b2RlcnNRdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KICNpbmNsdWRlIDxRTmV0d29y
a1JlcXVlc3Q+CiAjaW5jbHVkZSA8UVV1aWQ+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAppbmRleCAw
ODJkNDk5Y2MyNjljYTE5YmQzYTJkNmNiN2FmNWRlZmYwYjI0NzRlLi45NDBiZjgxNWY2MjUzMWZi
MzEyNDVjYzkzNzM1ZWM5Y2Q2NmUyMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
cXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBRdE5l
dHdvcmtSZXF1ZXN0RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcXVlc3REYXRhX2gKIAotI2lu
Y2x1ZGUgIlJlZkNvdW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1n
aXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IDRmODFhNDU0MjA3NGMw
OWIwNmYwOWRmMGY3Mjk3OTY4NTRjOGQ0NmMuLmE5YzFiYTlhNDRjZDU0ZDM3NmI0ZjY0ZGU2ZDRm
MTUxNzc3MGIzZTEgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMu
dHh0CkBAIC0yNyw2ICsyNyw3IEBAIElGIChPTkxZX0JVSUxEX0pBVkFTQ1JJUFRDT1JFKQogICAg
IFNFVChFTkFCTEVfVE9PTFMgT0ZGKQogRU5ESUYgKCkKIAorU0VUKFdURl9ESVIgIiR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBTRVQoSkFWQVNDUklQVENPUkVfRElSICIke0NNQUtF
X1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBTRVQoV0VCQ09SRV9ESVIgIiR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQogU0VUKFdFQktJVF9ESVIgIiR7Q01B
S0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdCIpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9D
aGFuZ2VMb2cKaW5kZXggYjBhYWQyNTM4MjEyY2Q0MGY1NjIwMzRjZmU4NWE5MzMwY2I2NmQ0Mi4u
NDljM2M5NzI5ZjRhNWMxMWJkZGNhNjY2ZWViMDk1ZmM5M2NmNWFkOSAxMDA2NDQKLS0tIGEvQ2hh
bmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAzLTE5ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5o
IGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogRGVmaW5lIFdU
Rl9ESVIuCisKIDIwMTItMDMtMTkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBjbGVhbiB1cCBnaXRpZ25vcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132775</attachid>
            <date>2012-03-20 00:43:12 -0700</date>
            <delta_ts>2012-03-20 01:49:44 -0700</delta_ts>
            <desc>Another attempt to fix qt-wk2</desc>
            <filename>bug-80911-20120320004311.patch</filename>
            <type>text/plain</type>
            <size>86461</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NGMwMmVhZTI1YWMxMzcwMDdhOGYxZDIyOWQwOWRkMjEyOTA4M2FhLi45ZDQ0ZTU1OWQ3M2E0MjJh
YWU3NTE2YjM2MmJmYmZhYjFhMWMyYWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRG8g
bm90IGNvcHkgdGhlIHNjcmlwdCBzb3VyY2UgaW4gdGhlIFNvdXJjZVByb3ZpZGVyLCBqdXN0IHJl
ZmVyZW5jZSB0aGUgZXhpc3Rpbmcgc3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1MGU3NzAxNjM0ZDI5YWY4YjA1YmE1
OGU4NzYxYTc5YzA3MGQ3NGEuLmZiMGFjMjE3YWU4ODA1MTNlMDc3ZmY4NzM4NGIxZmNkNTY0NTk2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0
Q29yZSB0byBTb3VyY2UvV1RGL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIHRvIHRlc3Qgd2hhdCBidWlsZHMgYnJlYWsgYW5k
IGhvdy4KKyAgICAgICAgTWFjOiBzaG91bGQgYnVpbGQKKyAgICAgICAgV2luOiBjYW4ndCBiZSBm
aXhlZCB1bnRpbCBidWcgODA2ODAgbGFuZHMuCisgICAgICAgIEd0azogbWlnaHQgYnVpbGQKKyAg
ICAgICAgUXQ6IG1pZ2h0IGJ1aWxkLCBsaWtlbHkgbmVlZHMgaGVscCBmcm9tIFF0IGZvbGtzLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAg
ICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm0uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aC4KKwogMjAxMi0wMy0xOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNldCB0aGUgc3ZuOmlnbm9yZSBwcm9wZXJ0eSBvbiB0aGUgWGNvZGUgcHJvamVjdC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4
ZmI5NjY2OTNiYWFmN2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2
NDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAog
U0VUKEphdmFTY3JpcHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5B
UllfRElSfSIKKyAgICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9Igog
ICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vRm9yd2FyZGluZ0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnByaQppbmRleCBlZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li5iZTA4
ZTA5MGYxM2MxYzM5YWE4NGJlYWQ0YTBkNmRlMjRlNGJjMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKQEAgLTExLDcgKzExLDggQEAgSkFWQVNDUklQVENPUkVf
R0VORVJBVEVEX1NPVVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS8KIAogSU5DTFVERVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUiBcCi0gICAgJCRT
T1VSQ0VfRElSLy4uIFwKKyAgICAkJFNPVVJDRV9ESVIvLi4gXCAgIyBUaGlzIHNlZW1zIGxpa2Ug
YSBiYWQgaWRlYSEKKyAgICAkJFNPVVJDRV9ESVIvLi4vV1RGIFwKICAgICAkJFNPVVJDRV9ESVIv
YXNzZW1ibGVyIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvZGUgXAogICAgICQkU09VUkNFX0RJ
Ui9ieXRlY29tcGlsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggM2JmNzgxN2YzMTg1MDhj
YzI5NzExNTdmM2I0YTllZGM2NDYzYzc3ZC4uYzM0MWRhNjZhNTVmZThlZTFiN2NmNGIzMjZiNjAy
NGRjOTA3MzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC05OTcsMTAgKzk5Nyw2IEBACiAJ
CQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBsYXRm
b3JtLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXFBvc3NpYmx5TnVsbC5oIgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDNiZjY1ZmZiZWIyZjQzOWIwZDA1OThmZjVlZGY4YzFjZDNiNWE4YTcuLjM0
OGQ2Y2Q3ZjIxNzEyZjI4NDcwODRmZDljMzUxYmMxMmUxODA4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2NDdCMzA5M0VGOEQ2MDAy
MkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdF
QSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NUQ2RDg3
RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1REZD
OTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5jdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQjA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hTZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaFNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBAIC0yMTQxLDcgKzIxNDAs
NiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNzT3duUHRyLmggKi8sCiAJ
CQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJCQk2NTFE
Q0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICovLAotCQkJCTY1RDZEODdFMDlC
NUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE3RDY0OUE5MTAxNTIyNEUwMDlC
MkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhGQTVCOTBFRjc2RDQzMDA1NzhFNkYg
LyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVCQTBFRjc2RDQzMDA1NzhFNkYgLyog
UmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4
dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIwZjU4NWVhNjcyYjZhLi5hZGFiNzI4
NmE3MDkzOWNlMjk3YjA1OTMyYjVkMThhODQ0YzZjY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcgQEAgU0VUKFdURl9IRUFERVJTCiAg
ICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAog
ICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZvcm0uaAorICAgICR7V1RGX0RJUn0v
d3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAogICAgIFJhbmRvbU51bWJlci5oCiAg
ICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2Rh
NDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKLQotLyogSW5jbHVk
ZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
LQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdy
YXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGlu
IGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9u
IG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCi0jZGVmaW5l
IFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVS
RSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQbGF0Zm9ybSBh
ZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0
IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0
ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dU
Rl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZFKCkgLSBzcGVjaWZp
YyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFy
ZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBI
QVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8qIE9TKCkgLSB1bmRl
cmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93
LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBh
IEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1Nf
IyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQb2xp
Y3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFy
dGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGly
ZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUgVVNFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNX
VEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2Yg
V2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMj
V1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gQ1BVKCkg
LSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBUaGlzIGFsc28gZGVm
aW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFz
IGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCi0jaWYgZGVm
aW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2VuZGlmCi0KLS8qIENQ
VShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19pYTY0X18pCi0jZGVm
aW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCi0jaWYgIWRl
ZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTogT25seSBPMzIgQUJJ
IGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwotI2lm
IChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwg
ZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQotI2RlZmluZSBXVEZf
Q1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykK
LSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChk
ZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQotI2RlZmluZSBXVEZf
TUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19B
UkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Ci0jZGVm
aW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RG
X01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZp
bmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCi0j
ZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09
IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAq
LwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRp
ZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KLSNpZiAgIGRl
ZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCi0gICAg
fHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9QUEMpICAg
ICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVfUFBDIDEKLSNkZWZp
bmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0gUG93ZXJQ
QyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KLSNpZiBkZWZp
bmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJD
MzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFS
QzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVk
KF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BB
UkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAq
LwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFS
QyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCi0jaWYgZGVmaW5l
ZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCi0jaWYg
ZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNkZWZpbmUgV1RGX0NQ
VV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0
ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5lZChpMzg2KSAgICAg
XAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBc
Ci0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQVV9YODYgMQotI2Vu
ZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAq
LwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9YNjQpCi0j
ZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNKSAtIEFSTSwgYW55
IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZpbmVkKF9fYXJtX18p
IFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FSTV8pCi0jZGVmaW5l
IFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZD
VCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAhZGVmaW5lZChfX0VB
QklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAmJiAhZGVmaW5lZChf
V0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX0NQVV9N
SURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNU
KE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQotCi0vKiBTZXQgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FS
TVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCi0j
ZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0v
KkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLQotI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0jZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KLSNl
bGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwK
LSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwgZGVmaW5lZChfX1RB
UkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxp
Z25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRF
R0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCi0K
LSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5l
ZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQotCi0j
ZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdU
Rl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykg
XAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0vKiBSVkNUIHNldHMg
X19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1C
KQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKLQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5kaWYKLQotCi0vKiBD
UFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICov
Ci0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVk
LiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFy
bGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9B
VF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKLSNlbmRpZgotCi0K
LS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkg
dHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFSTV9USFVNQjIpIC0g
VGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9ubHkgb25lIG9mIHRo
ZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJ
T05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYgZGVmaW5lZCh0aHVt
YjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8
fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKLSMg
ICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQotIyAgICBkZWZp
bmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhV
TUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVy
ZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1C
MikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9D
UFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgotI2Vu
ZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZf
Q1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmlu
ZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCi0jZW5kaWYK
LQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShT
SDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAx
Ci0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBv
bmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAg
dmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCi0KLS8q
IE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNkZWZpbmUgV1RGX09T
X0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNpZmRlZiBfQUlYCi0j
ZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikgLSBBbnkgRGFyd2lu
LWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLwotI2lmZGVmIF9f
QVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUgPEF2YWlsYWJpbGl0
eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1ZGUgPFRhcmdldENv
bmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8KLS8qIE9TKE1BQ19P
U19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBPUyhEQVJXSU4pICYm
ICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAot
ICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAg
ICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1Ip
ICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09TX0lPUyAxCi0jZWxp
ZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQwot
I2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQg
VEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVt
ICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIEJVSUxESU5H
X09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVm
aW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9W
RVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9W
RVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5kaWYKLSNpZiAhZGVm
aW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEK
LSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgVEFSR0VUSU5H
X1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8
IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84Ci0j
ZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE9TKEZSRUVCU0Qp
IC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFn
b25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVmaW5lIFdURl9PU19G
UkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCi0jaWZkZWYgX19H
TlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1MoTElOVVgpIC0gTGlu
dXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVYIDEKLSNlbmRpZgot
Ci0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05ldEJTRF9fKQotI2Rl
ZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0Qg
Ki8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCi0jZW5kaWYK
LQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9fXykKLSNkZWZpbmUg
V1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCi0jaWYg
ZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9PU19TT0xBUklTIDEK
LSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMg
cGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYgZGVmaW5lZChfV0lO
MzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkRPV1Mp
IC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmlu
ZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYKLQotI2RlZmluZSBX
VEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCi0jZGVmaW5lIFdU
Rl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCi0KLS8qIE9TKFVO
SVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkgICAgICAgICAgICAg
IFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0gICAgfHwgT1MoREFSV0lOKSAgICAg
ICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhIVVJEKSAg
ICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAotICAgIHx8IE9TKE5F
VEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCi0gICAgfHwg
T1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAg
XAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5lIFdURl9PU19VTklYIDEKLSNlbmRp
ZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1FOiB0aGVzZSBhcmUg
YWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2Vz
LiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQTEFURk9STShRVCkgKi8KLS8qIFBM
QVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZPUk0oQkxBQ0tCRVJS
WSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikgKi8KLSNpZiBkZWZp
bmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9RVCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9XWCAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fR1RL
IDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCi0j
ZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVz
IHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGlu
Z3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJF
RERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TX1NJ
TVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJH
RVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1BMQVRGT1JN
X0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9T
KQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBHcmFwaGljcyBlbmdp
bmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cp
KQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJQSkgZm9yIFdpbi9M
aW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmIE9TKERBUldJ
TikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0FU
U1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBXVEZfVVNFX0lDQ0pQ
RUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUg
V1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEK
LSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmlu
ZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8x
OTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdU
SykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYgT1MoV0lOQ0UpCi0j
aW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5
MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRl
ciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1VTRV9RVUVSWV9Q
RVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29u
ZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExXQVBJICAgICAgLyog
c2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNETiBkb2N1bWVudGF0
aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1
dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8q
IGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJs
ZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYgIC8qIE9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNpZm5kZWYgV1RGX1VT
RV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKLSNlbmRpZgotI2Vs
aWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxpZiBQTEFU
Rk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICov
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VT
UyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5U
UyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5lIFdURl9VU0VfU0NS
T0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdF
KQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
MQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUg
MQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0jZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQotI2lmIGRlZmluZWQo
RU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQotI2VuZGlmCi0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBIQVZFX0xB
WUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYg
T1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFE
UyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5lIFdURl9VU0VfV0tf
U0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5l
IERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShR
VCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgSEFWRV9ESVNQ
QVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCi0jZGVm
aW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJ
T04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUgRU5BQkxFX0lOU1BF
Q1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5lIEVOQUJMRV9ORVRT
Q0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCi0j
ZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FS
Q0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUg
V1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2lmIFBM
QVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAot
ICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQotICAg
ICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0jZGVmaW5l
IFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVUV09SSykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAx
Ci0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExB
VEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFU
Rk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQVShQUEMpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotI2Rl
ZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUgRU5BQkxFX0xMSU5U
IDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNF
X0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQotI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLSNl
bGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEK
LSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhB
VkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQotI2Rl
ZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoSEFW
RV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQotI2lmICFDT01QSUxF
UihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJ
TEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2VuZGlmCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhEQVJXSU4pIHx8IChP
UyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBIQVZFX1NUUk5TVFIg
MQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAot
ICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVmaW5lIEhBVkVfVE1f
R01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFWRV9USU1FR00gMQot
I2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZp
bmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9N
RVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEK
LQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAx
Ci0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lmICFQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUg
SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9TKFdJTkRPV1MpCi0K
LSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNlCi0jZGVmaW5lIEhB
VkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKLSNkZWZpbmUg
SEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFWRV9WSVJUVUFMQUxM
T0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUg
SEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmluZSBIQVZF
X01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRST0lEKQotCi0jZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCi0jZGVmaW5lIEhB
VkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
LSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0K
LSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxh
dGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KLQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQot
I2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZW5kaWYKLQot
LyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShRVCkKLS8qIFdlIG11
c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0
aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0j
aWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgotI2VuZGlm
Ci0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVy
aWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBp
cyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1Rf
TUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRD
SF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFT
RSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKLSNkZWZpbmUg
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lO
U1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCi0jZGVmaW5l
IEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUgRU5BQkxFX05FVFND
QVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKLSNkZWZp
bmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VW
RU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCi0jZGVm
aW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
R0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0Nf
TkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJ
TkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCi0jZGVmaW5lIEVO
QUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5H
IDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1Q
TElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElO
RyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElO
R19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04p
Ci0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJ
T05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfVEVYVF9D
QVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQotI2RlZmlu
ZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJf
TE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgp
IHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkg
XAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBcCi0gICAgfHwgQ1BV
KFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAx
Ci0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVF
MzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQotI2Rl
ZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0vKiBEaXNhYmxlIHRo
ZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEs
IDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBpcyBub3QgaW1wbGVt
ZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYg
T1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYK
LQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBB
Uk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCi0gICAg
JiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAot
ICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xF
QVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYgIU9TKFFOWCkKLSNk
ZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1z
IHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKLSAgIGxvdy1s
ZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJM
RShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQotLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFj
IGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExB
VEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRp
ZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAq
LwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9E
RkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFs
dWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQotICAg
Y2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRv
IHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBw
cm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQotICAgYmVs
b3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZH
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJ
TEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxF
X1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQotLyogQ291bnRzIHVzZXMgb2Ygd3Jp
dGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwotICAg
c2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJf
UFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0
aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
Q0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJMRV9DTEFT
U0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENM
QVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25l
IGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlmCi0KLSNpZiBDUFUo
U0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyog
Q29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKLSNkZWZpbmUg
RU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRf
VVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKLSNkZWZpbmUg
SlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0Mp
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbHNl
Ci0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIGludGVy
cHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQs
IDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dP
VE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19J
TlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8g
MSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCi0j
ZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1
bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCi0j
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0KLSNlbGlm
IEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxF
X1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMg
d2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVC
VUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hpY2ggYWxsb2NhdG9y
IHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3Nl
bWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVk
IG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KLSNpZiBFTkFC
TEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
RU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJM
RV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQotI2RlZmluZSBFTkFC
TEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRp
b24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1l
bnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2lmICFVU0Uo
TElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZpbmUgV1RGX1VTRV9R
WE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLS8qIENvbXBs
ZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAotI2RlZmlu
ZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKLSNlbmRp
ZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAm
JiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCi0j
ZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2VuZGlmCi0KLS8qIENv
bXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNpZiBQTEFURk9STShR
VCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRG
T1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sg
MQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBM
QVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCi0jZGVmaW5l
IEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2Rl
ZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0vKiBTZXQgdXAgYSBk
ZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWls
ZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5F
VFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBh
bGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0jaWYgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCi0j
ZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0jZGVm
aW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0vKiBH
ZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVp
cmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCi0jZGVmaW5l
IFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKLQotI2lmIENQVShBUk1f
VEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENI
X0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYgIWRlZmlu
ZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNkZWZpbmUg
RU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVS
SUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQotI2lmIEVO
QUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+Ci0j
ZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1
MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8g
c3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwotICAg
dG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2Fu
IGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLwot
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQotI2RlZmlu
ZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9FWFBPUlRf
TUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfVU5JWF9ET01B
SU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9T
V0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVAp
Ci0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5kaWYKLQotI2lmbmRlZiBOREVCVUcK
LSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJ
T04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQot
I2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBX
VEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFD
S0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2Rl
ZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBIQVZFX0lO
VkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZp
bmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkK
LSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDEKLSNlbmRpZgot
I2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9W
OCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkg
Ki8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICov
Ci0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05T
X09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKLSNkZWZpbmUg
V1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYm
ICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0jZW5kaWYg
LyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2ZjRhMzdm
Mzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5MWM2OGYz
NzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEsNCBAQAog
d3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9XVEYvU3R1
Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmlu
ZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3NGM4NDQ5
Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RG
Lmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAg
J3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6
IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywK
ICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8K
aW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYxZDZjMGMzNTc3OC4uYzRlMGU5MGNl
NWMzNzQyZTIxYTM0ZGZmZTVmZWExMDViN2IyMTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9X
VEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBAIEhFQURF
UlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAgICBQYXNz
VHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0u
aFBsYXRmb3JtLmggXAogICAgIFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0LmggXAog
ICAgIFJhbmRvbU51bWJlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDZmOGJkYzYyNmQ2ZjkxMTRiYzY1NmVhMjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUx
MjliZDUwNjE2M2Y1Zjg3OWU5ZTFlZDM5YWYzY2M3MjUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOSw2ICs5LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxk
RmlsZSBzZWN0aW9uICovCiAJCTVEMjQ3Qjc5MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2
ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLzsgfTsKIAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4
Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRm
b3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2
REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8K
QEAgLTIwLDYgKzIxLDcgQEAKIAkJNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dURi9IZWFkZXJEZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBs
YXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3
LDEwICs2OSwxOSBAQAogCQkJCTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRl
Y3Rpb24uaCAqLywKIAkJCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8s
CiAJCQkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLywKKwkJCQlBODc2REJE
NjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovLAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlBODc2REJENjE1MTgxNkU1MDBEQURC
OTUgLyogd3RmICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gd3RmOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhH
cm91cCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KQEAgLTc4LDggKzg5LDggQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTVEMjQ3RUIy
MTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
ODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTQzLDcgKzE1NCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYg
W1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJ
VkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURF
UlNfRk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNU
Uk9PVCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1w
IFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1n
cm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVz
clwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1
ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L1wiIFwiJHtQUklWQVRFX0hF
QURFUlNfUEFUSH1cIlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRI
PVwiJHtUQVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwi
XG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRF
X0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFE
RVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0
eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJE
ZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNs
dWRlIFwiKlwiIFwiJHtTUkNST09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwi
XG4iOwogCQl9OwogCQk1RDI0N0U5RDE0NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJs
ZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTAsMCAr
MSwxMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5
IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5jbHVkZSBjb21w
aWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyog
PT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNz
IEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9y
IG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3Jv
cywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVmaW5lIFBMQVRG
T1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYg
V1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0
aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmly
b25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJl
ICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFU
VVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0
ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVz
ZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMj
V1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1bmRlcmx5aW5n
IG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVs
IHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0
b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVj
aXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxh
ciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0
eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVB
VFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0
ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BVKCkgLSB0aGUg
dGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28gZGVmaW5lcyBD
UFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJv
cHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYgZGVmaW5lZChf
X2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8qIENQVShJQTY0
KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdU
Rl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYgIWRlZmluZWQo
X19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNlbmRpZgorCisv
KiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRl
c3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLworI2lmIChkZWZp
bmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5l
ZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBXVEZfQ1BVX01J
UFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKKyNkZWZp
bmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVk
IFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19J
U0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49
IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2CisjZGVmaW5lIFdU
Rl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNf
QVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9f
bWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCisjZGVmaW5l
IFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQor
LyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZiAvKiBN
SVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisgICAgfHwgZGVm
aW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAor
ICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1i
aXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0
X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBkZWZpbmVkKF9f
U0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMzMikg
LSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzY0KSAt
IFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEK
KyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMpIC0g
YW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLworI2lm
IENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCisj
ZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3Mz
OTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisjaWYgZGVmaW5l
ZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCisj
aWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAorICAg
IHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCisgICAg
fHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQorI2VuZGlmCisK
Ky8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLworI2lm
ICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQpCisjZGVmaW5l
IFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNp
b24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKKyAg
ICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVmaW5lIFdURl9D
UFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYg
ZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorCisj
ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX0VBQklfXykg
XAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5lZChfV0lOMzJf
V0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQVV9NSURETEVf
RU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChD
UFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18p
IFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCisjZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisvKkFSTXY1
VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBX
VEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQorI2RlZmlu
ZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9B
UkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBt
ZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
KyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCisKKyNlbmRp
ZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FS
TV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQorCisjZWxpZiBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCisK
KyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18p
CisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNldHMgX19UQVJH
RVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKKworI2Vsc2UK
KyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisvKiBDUFUoQVJN
VjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCisvKiBP
biBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKKyAg
IEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4g
Ki8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFT
VCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgorCisKKy8qIENQ
VShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0
aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIy
IGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9mIHRoZXNlIHdp
bGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkg
JiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8
IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZp
bmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKKyMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RI
VU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBkZWZpbmUgV1RG
X0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAK
KyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKKyMg
IGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyog
U2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJN
X1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgorI2VuZGlmIC8q
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FS
TV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RG
X0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5kaWYKKworI2Vu
ZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8
IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCisjZW5k
aWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRv
IGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVh
bCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisKKy8qIE9TKEFO
RFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RGX09TX0FORFJP
SUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlYCisjZGVmaW5l
IFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2Vk
IE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVmIF9fQVBQTEVf
XworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgor
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlv
bmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1BQ19PU19YKSAt
IE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4pICYmICgoZGVm
aW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAorICAgIHx8
IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAg
ICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRB
UkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisjZWxpZiBPUyhE
QVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQworI2RlZmlu
ZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VU
SU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCisj
aWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxESU5HX09OX0xF
T1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9O
XzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VUSU5HX1NOT1df
TEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5l
IFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVCU0QpIC0gRnJl
ZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlf
XykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9PU19GUkVFQlNE
IDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYgX19HTlVfXwor
I2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0gTGludXggKi8K
KyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBP
UyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBX
VEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNp
ZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyog
T1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX09T
X1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisjaWYgZGVmaW5l
ZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklTIDEKKyNlbmRp
ZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZv
cm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChfV0lOMzJfV0NF
KQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRPV1MpIC0gQW55
IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmluZSBXVEZfT1Nf
V0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdURl9PU19N
QUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9TKFVOSVgpIC0g
QW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAg
XAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJEKSAgICAgICAg
ICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9TKE5FVEJTRCkg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoUU5Y
KSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAorICAg
IHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNlbmRpZgorCisv
KiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1p
eGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwor
LyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8qIFBMQVRGT1JN
KFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8K
Ky8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBkZWZpbmVkKEJV
SUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKKyNl
bGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
QkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFURk9STV9NQUMg
MQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCisjZW5kaWYK
KworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQg
YXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8K
KyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
fHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TX1NJTVVMQVRP
UikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19T
SU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQorI2Rl
ZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBlbmdpbmVzICov
CisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQorI2Rl
ZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9N
YWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERBUldJTikKKyNp
ZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEK
KyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQor
I2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VT
RV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBVU0Vf
U1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAx
CisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNk
ZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0UpCisjaW5jbHVk
ZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQor
I2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBk
ZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JN
QU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQp
CisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qg
d2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2Fw
aS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVudGF0aW9uIHNh
eXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBj
YW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2Fi
bGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNz
ZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RGX1VTRV9JQ1Vf
VU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgorI2VsaWYgT1Mo
V0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQTEFURk9STShH
VEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCisj
ZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCisj
ZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0VfU0NST0xMQkFS
X1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2Rl
ZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQorI2Vu
ZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJf
QVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmluZWQoRU5BQkxF
X1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZFX0xBWUVSX0hP
U1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShNQUMp
ICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFS
V0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0VfV0tfU0NST0xM
QkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERPTlRf
RklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgJiYg
T1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9I
IDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZP
Uk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisjZGVmaW5lIEVO
QUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAw
CisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQor
I2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
CisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCisjZGVmaW5l
IEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUg
MQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBI
QVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lmIFBMQVRGT1JN
KElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAw
CisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAorICAgICNk
ZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQorICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVmaW5lIFdURl9V
U0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCisjZGVm
aW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0o
UVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShX
SU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorI2RlZmluZSBF
TkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKKyNp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVf
VEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBXVEZfVVNFX1BU
SFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKyNlbGlmIFBM
QVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQUND
RVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBI
QVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NF
U1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01QSUxFUihNU1ZD
KSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdD
QykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlmCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVF
QlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQorI2Vu
ZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAorICAgICYm
ICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVfVE1fR01UT0ZG
IDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00gMQorI2VuZGlm
CisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NRVJHRVNP
UlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKKworI2lm
bmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZGVm
aW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9STShJT1MpCisj
ZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1MpCisKKyNpZiBP
UyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfU1lT
X1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZpbmUgSEFWRV9J
U0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQor
CisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9N
TUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZf
RlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5lIEhBVkVfTk1B
UCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbHNl
CisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1z
IGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYKKworLyogRU5B
QkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdlIG11c3Qgbm90
IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQg
cG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjaWYgIU9T
KFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2VuZGlmCisKKy8q
IGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0
aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRj
aGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9D
X01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJ
REFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKKyNk
ZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZpbmUgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQ
RElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RS
QUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RP
UikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVmaW5lIEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJH
RUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNkZWZpbmUgV1RG
X1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisjZGVmaW5lIEVO
QUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEK
KyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAorI2RlZmlu
ZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxB
R1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5lIEVOQUJMRV9P
UENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKKyNp
ZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykK
KyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKKyNl
bmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFH
UykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19U
SFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVm
aW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9W
SUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2RlZmluZSBFTkFC
TEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9T
KFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAorICAg
IHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwgQ1BVKFMzOTBY
KSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQp
ICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQorI2RlZmluZSBF
TkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxlIHRoZSBKSVQg
b24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCisj
ZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQg
Zm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lO
RE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyog
VGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBN
SVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisgICAgJiYgKENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAorICAgICYm
IChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkKKyNkZWZpbmUg
RU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJl
IHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxvdy1sZXZlbCBp
bnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQp
ICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBH
TlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0o
TUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLworI2lm
IENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklU
IDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVz
ZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQorICAgY2FuIGVu
YWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBp
dCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJs
eSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAgYmVsb3cuICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkK
KyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQor
I2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1NJTVBM
RV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFy
cmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbworICAgc2V0IEVO
QUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9XUklU
RV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklM
SU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50
ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lO
VEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNf
SU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1
dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBDUFUoU0g0KSAm
JiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogQ29uZmln
dXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNF
X1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZpbmUgRU5BQkxF
X0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVy
ICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAs
IDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQor
I2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBS
RVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0
cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCisjZGVmaW5l
IEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUg
LSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNlbGlmIEVOQUJM
RShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBp
bnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAor
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVz
ZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIg
aXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAs
IG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxF
X0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9FWEVD
VVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBFTkFCTEVfUEFO
X1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xM
SU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAK
KyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9y
IFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlv
biBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFVU0UoTElCWE1M
MikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VTRV9RWE1MUVVF
UlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENvbXBsZXggdGV4
dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2RlZmluZSBXVEZf
VVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5l
IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8qIENvbXBvc2l0
aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9STShRVCkKKyNk
ZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisjaWYgKFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2Vu
ZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVmaW5lIEVOQUJM
RV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBF
TkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAgYSBkZWZpbmUg
Zm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJv
ciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RGX1BMQVRGT1JN
X0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksK
KworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxh
dGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5l
IFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVmaW5lIFdURl9V
U0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShBUk1fVEhVTUIy
KQorI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5B
QkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShH
TElCX1NVUFBPUlQpCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYK
KworLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBm
dWxseSBsYW5kZWQuIEhvd2V2ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9y
dCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RG
IGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJl
c3MgdGhlIGJ1aWxkCisgICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2RlZmluZSBXVEZf
VVNFX0VYUE9SVF9NQUNST1MgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9T
IDAKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09D
S0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAm
JiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RI
VU1CMikpCisjZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCisjZGVm
aW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVCVUcKKyNpZm5k
ZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQor
I2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmlu
ZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBXVEZfVVNF
X0NPUkVNRURJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZ
KQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBX
VEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZFX0lOVkVSVEVE
X1dIRUVMX0VWRU5UUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiAh
ZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRpZgorI2VuZGlm
IC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNk
ZWZpbmUgV1RGX1VTRV9WOCAwCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KKwor
LyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCisjZGVm
aW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
JiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZpbmUgV1RGX1VT
RV9XVEZVUkwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFU
Rk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RG
X1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRh
YmFzZV9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCmluZGV4IGVj
MDNlYTVlMjAyOWQ3OGY2NDk0OTQ5NDQ3MDM5MDQxZjc2YTM2Y2UuLjI5ODQ3MDQ0MjU1MGM4OTRl
ZmY4ZDBjMzc4ZTMzMWE5ZWY4OTgzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJkYXRhYmFzZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNl
X3AuaApAQCAtMjQsNyArMjQsNyBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAogCiBjbGFzcyBRV2ViRGF0YWJhc2VQcml2YXRlIDogcHVibGljIFFT
aGFyZWREYXRhIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3
b3JsZF9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCmluZGV4
IDcxMTVlYjJjNTBiOTE5Y2YyODU4NWIxNDE5MjBhM2Q0MDQ1NGQ1ZjQuLjhjMThlMjNlZDg0N2Q3
YTkxODRhYTFmOTBlODFlNDQ0MTAyMzJjNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNj
cmlwdHdvcmxkX3AuaApAQCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBfUVdFQlNDUklQVFdPUkxE
X1BfSF8KICNkZWZpbmUgX1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAKLSNpbmNsdWRlICJSZWZQdHIu
aCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBET01XcmFwcGVyV29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2VjdXJpdHlvcmlnaW5fcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5
b3JpZ2luX3AuaAppbmRleCBjZGM5M2JkMTQxYWNiYzQxZmExMDcwYTBhZmVkMzZlY2U3MTU2ZTE1
Li4xYjY0YzQ5ZjBjMTQyMDllZjAxODU0NTg2MWFjMmQzYzU3NjUyM2UxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNk
ZWZpbmUgX1dFQlNFQ1VSSVRZT1JJR0lOX1BfSF8KIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBjbGFz
cyBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKIHB1Ymxp
YzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuaAppbmRleCBjOTRkNjFhMzI5NDBhNmE0M2Q1NmU5ZGVlOWU0MTgyOGI3ZDI0MWRjLi42
YzdkMDBmODVkNzg0OWY1NWI4MjE1OTY0NzA3ZjkxZmE5NTRlNjU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC0zMiwx
MCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKLSNpbmNsdWRlICJPd25QdHIuaCIKLSNpbmNs
dWRlICJQYXNzT3duUHRyLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FTdHJpbmc+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogY2xhc3MgUVdlYlBhZ2U7CiBjbGFzcyBRV2ViVmlldzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCmlu
ZGV4IGVhMTExZmE1Y2ZlMWMzNjJiOTRjY2M0ZmMwZDM1MWRlOTg1MmJlOTMuLjI5ODBkNDU4MjRh
NjdlZGVlNDk5MTJhYTRhOGUyZThhZDk0YTM5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaApAQCAtMjAsOCArMjAsOCBA
QAogI2lmbmRlZiBRdEZhbGxiYWNrV2ViUG9wdXBfaAogI2RlZmluZSBRdEZhbGxiYWNrV2ViUG9w
dXBfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKICNpbmNsdWRlICJxd2Via2l0cGxhdGZvcm1w
bHVnaW4uaCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogI2luY2x1ZGUgPFFDb21ib0Jv
eD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNv
bWJvQm94LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3gu
aAppbmRleCBiY2EyZTVmMzgyYmYyYWMwY2M2NDA0YjFiMGU1YTgxYmVlM2JlODExLi40MjY0NzU3
NjY3ODIyNGI0NThjYjYwNjkxNTU1ZTdjYjBlZGRkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaApAQCAtMjEsNyArMjEsNyBAQAogI2lm
bmRlZiBRdFdlYkNvbWJvQm94X2gKICNkZWZpbmUgUXRXZWJDb21ib0JveF9oCiAKLSNpbmNsdWRl
ICJQbGF0Zm9ybS5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNv
bWJvQm94PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1Ymxp
Yy5wcmkgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKaW5kZXggZTM4
OWUzOGViMDg5MzJkNWY2YmE5NjZhYTVmNzhiMWJhNTZlMTZkYi4uYTJmNzdlZTdjN2Y2ZjUxZWZi
Y2QzY2Y5MGNlNGQ0YjJjMmNmOGE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9kZWNs
YXJhdGl2ZS9wdWJsaWMucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVi
bGljLnByaQpAQCAtNDQsNyArNDQsOCBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAgLi4vLi4vLi4v
V2ViS2l0Mi9TaGFyZWQvcXQgXAogICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlIFwKICAgICAu
Li8uLi8uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lIFwKLSAgICAuLi8uLi8uLi9KYXZhU2NyaXB0
Q29yZS93dGYKKyAgICAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS93dGYgXAorICAgIC4uLy4uLy4u
L1dURgogCiBTT1VSQ0VTICs9IHBsdWdpbi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCmluZGV4IGQxNTY1YmVjMjBkZGVhYTAzNGIzODM4MjE5
MWJmOTEwYzE5ZDA2MDUuLjQ1N2Q3YmUyN2FmMDNmOGM0YTJkZjQzYWRhMjc5NTUzNjkwZmE2OTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKQEAg
LTI2LDEwICsyNiwxMCBAQAogI2lmbmRlZiBRdE5ldHdvcmtSZXBseURhdGFfaAogI2RlZmluZSBR
dE5ldHdvcmtSZXBseURhdGFfaAogCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKLSNpbmNsdWRl
ICJSZWZDb3VudGVkLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiAjaW5jbHVkZSA8UU5l
dHdvcmtBY2Nlc3NNYW5hZ2VyPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9x
dC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXRO
ZXR3b3JrUmVxdWVzdERhdGEuY3BwCmluZGV4IGYyMTA2NjBmZDRlNTMzNjE1YzNhMmNmN2EwMDc3
YTQ5MWU1NzdjNTIuLjhhODBmYjM2OTkxZmY1OGJkNjRmZjZlZTE4ZjU2OTlhZTJlM2U5MjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNw
cApAQCAtMjcsMTEgKzI3LDExIEBACiAjaW5jbHVkZSAiUXROZXR3b3JrUmVxdWVzdERhdGEuaCIK
IAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzUXQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybS5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgPFFOZXR3b3JrUmVw
bHk+CiAjaW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2luY2x1ZGUgPFFVdWlkPgorI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9R
dE5ldHdvcmtSZXF1ZXN0RGF0YS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29y
a1JlcXVlc3REYXRhLmgKaW5kZXggMDgyZDQ5OWNjMjY5Y2ExOWJkM2EyZDZjYjdhZjVkZWZmMGIy
NDc0ZS4uOTQwYmY4MTVmNjI1MzFmYjMxMjQ1Y2M5MzczNWVjOWNkNjZlMjBhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgUXROZXR3b3JrUmVxdWVzdERhdGFfaAogI2RlZmluZSBRdE5ldHdv
cmtSZXF1ZXN0RGF0YV9oCiAKLSNpbmNsdWRlICJSZWZDb3VudGVkLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4
dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5Nzk2ODU0YzhkNDZjLi5hOWMxYmE5
YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEwMDY0NAotLS0gYS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBJRiAoT05MWV9CVUlM
RF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RPT0xTIE9GRikKIEVORElGICgpCiAK
K1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogU0VUKEpBVkFT
Q1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUi
KQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikK
IFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQiKQpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGIwYWFkMjUzODIxMmNkNDBmNTYy
MDM0Y2ZlODVhOTMzMGNiNjZkNDIuLjQ5YzNjOTcyOWY0YTVjMTFiZGRjYTY2NmVlYjA5NWZjOTNj
ZjVhZDkgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxMi0wMy0xOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9XVEYv
d3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkx
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEyLTAzLTE5ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgY2xlYW4gdXAgZ2l0aWdub3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132779</attachid>
            <date>2012-03-20 01:49:55 -0700</date>
            <delta_ts>2012-03-20 11:03:11 -0700</delta_ts>
            <desc>FixEfl</desc>
            <filename>bug-80911-20120320174953.patch</filename>
            <type>text/plain</type>
            <size>87751</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWYxOTY0NWNiNzM2YmNmODQzMzkxODQ0MWFhODg1ZDFhMmJkNTYyLi42OTU3NGIzNDk1ZWMzNDZh
ZTJiMmFmZjM3NjMwZGZkYTNiNzFmMDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0x
OSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTcGxp
dCBXVEZSZXBvcnRCYWNrdHJhY2UgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UgYW5kIFdURlByaW50
QmFja3RyYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCmluZGV4IGI1MGU3NzAxNjM0ZDI5YWY4YjA1YmE1OGU4NzYxYTc5YzA3MGQ3NGEu
Ljk4MzFjN2ZkYjFkNTlhZDhiNzc2MzI3Mjk4ZDJjYzRjYzU4NTExZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAg
ICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0Q29yZSB0byBTb3VyY2UvV1RG
L3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHBhdGNoIGlzIHRvIHRlc3Qgd2hhdCBidWlsZHMgYnJlYWsgYW5kIGhvdy4KKyAgICAgICAgTWFj
OiBzaG91bGQgYnVpbGQKKyAgICAgICAgV2luOiBjYW4ndCBiZSBmaXhlZCB1bnRpbCBidWcgODA2
ODAgbGFuZHMuCisgICAgICAgIEd0azogbWlnaHQgYnVpbGQKKyAgICAgICAgUXQ6IG1pZ2h0IGJ1
aWxkLCBsaWtlbHkgbmVlZHMgaGVscCBmcm9tIFF0IGZvbGtzLgorCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAgICAgICAgKiBXVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaC4KKwogMjAxMi0wMy0xOSAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFNldCB0aGUgc3ZuOmln
bm9yZSBwcm9wZXJ0eSBvbiB0aGUgWGNvZGUgcHJvamVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4ZmI5NjY2OTNiYWFmN2RmNjdm
Li5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2NDkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAogU0VUKEphdmFTY3JpcHRDb3Jl
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAgICAiJHtX
VEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9IgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJp
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBlZWFjZTE3
NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li5iZTA4ZTA5MGYxM2MxYzM5YWE4NGJl
YWQ0YTBkNmRlMjRlNGJjMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5wcmkKQEAgLTExLDcgKzExLDggQEAgSkFWQVNDUklQVENPUkVfR0VORVJBVEVEX1NPVVJDRVNf
RElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS8KIAogSU5DTFVE
RVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUiBcCi0gICAgJCRTT1VSQ0VfRElSLy4uIFwKKyAg
ICAkJFNPVVJDRV9ESVIvLi4gXCAgIyBUaGlzIHNlZW1zIGxpa2UgYSBiYWQgaWRlYSEKKyAgICAk
JFNPVVJDRV9ESVIvLi4vV1RGIFwKICAgICAkJFNPVVJDRV9ESVIvYXNzZW1ibGVyIFwKICAgICAk
JFNPVVJDRV9ESVIvYnl0ZWNvZGUgXAogICAgICQkU09VUkNFX0RJUi9ieXRlY29tcGlsZXIgXApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9X
VEYvV1RGLnZjcHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3By
b2ovV1RGL1dURi52Y3Byb2oKaW5kZXggM2JmNzgxN2YzMTg1MDhjYzI5NzExNTdmM2I0YTllZGM2
NDYzYzc3ZC4uYzM0MWRhNjZhNTVmZThlZTFiN2NmNGIzMjZiNjAyNGRjOTA3MzUzZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L1dURi9XVEYudmNwcm9qCkBAIC05OTcsMTAgKzk5Nyw2IEBACiAJCQk+CiAJCTwvRmlsZT4KIAkJ
PEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBsYXRmb3JtLmgiCi0JCQk+Ci0JCTwv
RmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBvc3NpYmx5TnVsbC5o
IgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiZjY1
ZmZiZWIyZjQzOWIwZDA1OThmZjVlZGY4YzFjZDNiNWE4YTcuLjM0OGQ2Y2Q3ZjIxNzEyZjI4NDcw
ODRmZDljMzUxYmMxMmUxODA4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDkzLDcgKzEwOTMsNiBAQAogCQk2NUM2NDdCMzA5M0VGOEQ2MDAyMkMzODAgLyogUmVmUHRyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZlB0
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1QzdBMTcx
MEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTY1QzdBMTcyMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmpl
Y3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcg
LyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1REZDOTJBMDhFQTE3M0EwMEY3MzAw
QiAvKiBIYXNoRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhhc2hGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQjA4RUExNzNBMDBGNzMwMEIgLyogSGFzaE1hcC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNo
TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5
MkMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBAIC0yMTQxLDcgKzIxNDAsNiBAQAogCQkJCTQ0REQ0ODUy
MEZBRUE4NTAwMEQ2QjRFQiAvKiBQYXNzT3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1
NjAwODJDMjE5IC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQx
OTQgLyogUGFzc1RyYWl0cy5oICovLAotCQkJCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQ
bGF0Zm9ybS5oICovLAogCQkJCUE3RDY0OUE5MTAxNTIyNEUwMDlCMkUxQiAvKiBQb3NzaWJseU51
bGwuaCAqLywKIAkJCQkwODhGQTVCOTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmNw
cCAqLywKIAkJCQkwODhGQTVCQTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmggKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjQyMDEyOGE3
YWY1OTE2ODhhZDQ0ZmU1MWIwZjU4NWVhNjcyYjZhLi5hZGFiNzI4NmE3MDkzOWNlMjk3YjA1OTMy
YjVkMThhODQ0YzZjY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50
eHQKQEAgLTY5LDcgKzY5LDcgQEAgU0VUKFdURl9IRUFERVJTCiAgICAgUGFyYWxsZWxKb2JzR2Vu
ZXJpYy5oCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAogICAgIFBhcmFsbGVsSm9ic09w
ZW5NUC5oCi0gICAgUGxhdGZvcm0uaAorICAgICR7V1RGX0RJUn0vd3RmL1BsYXRmb3JtLmgKICAg
ICBQb3NzaWJseU51bGwuaAogICAgIFJhbmRvbU51bWJlci5oCiAgICAgUmFuZG9tTnVtYmVyU2Vl
ZC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIxMCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmls
ZSwgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV1RGX1BsYXRmb3Jt
X2gKLSNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKLQotLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZp
YyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KLQotLyogPT09PSBQTEFURk9S
TSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0g
ICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3Jt
IGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1s
ZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCi0jZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JN
XyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3Jvczog
dGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09
ICovCi0KLS8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCi0jZGVmaW5l
IENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZf
Q1BVXyMjV1RGX0ZFQVRVUkUpCi0vKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMg
KGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAq
LwotI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUg
ICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKLS8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBz
eXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxp
a2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCi0j
ZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYg
V1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9z
OiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09
ICovCi0KLS8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9y
IG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVO
QUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5l
IEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVO
QUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBh
cmNoaXRlY3R1cmUgPT09PSAqLwotCi0vKiBUaGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElB
Tikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwot
Ci0vKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCi0jaWYgZGVmaW5lZChfX2FscGhhX18pCi0j
ZGVmaW5lIFdURl9DUFVfQUxQSEEgMQotI2VuZGlmCi0KLS8qIENQVShJQTY0KSAtIEl0YW5pdW0g
LyBJQS02NCAqLwotI2lmIGRlZmluZWQoX19pYTY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NCAx
Ci0vKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCi0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0j
ZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBDUFUoTUlQUykg
LSBNSVBTIDMyLWJpdCAqLwotLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2Ug
ZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwotI2lmIChkZWZpbmVkKG1pcHMpIHx8
IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBc
Ci0gICAgJiYgZGVmaW5lZChfQUJJTzMyKQotI2RlZmluZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRl
ZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgot
I2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKLSNkZWZpbmUgV1RGX01JUFNf
QVJDSCBfX21pcHMKLSNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FS
Q0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1Qo
dikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49IHYpCi0jZGVmaW5l
IFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9S
RVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0g
dikKLSNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zs
b2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQ
NjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQotLyogTUlQUyByZXF1
aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLwotI2RlZmluZSBXVEZfVVNF
X0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZiAvKiBNSVBTICovCi0KLS8q
IENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGNfXykgICAg
IFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3Bvd2Vy
cGNfXykgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKLSAgICB8fCBkZWZpbmVkKF9f
UE9XRVJQQ19fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAotICAgIHx8IGRlZmlu
ZWQoX19QUEMpCi0jZGVmaW5lIFdURl9DUFVfUFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5E
SUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAg
IGRlZmluZWQoX19wcGM2NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfX1BQQzY0X18pCi0jZGVmaW5l
IFdURl9DUFVfUFBDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0K
LS8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KLSNpZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVm
aW5lIFdURl9DUFVfU0g0IDEKLSNlbmRpZgotCi0vKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1i
aXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRl
ZmluZWQoX19zcGFyY3Y4KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQotI2RlZmluZSBXVEZf
Q1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJp
dCAqLwotI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRl
ZmluZWQgKF9fc3BhcmN2OSkKLSNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0
cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLwotI2lmIENQVShTUEFSQzMy
KSB8fCBDUFUoU1BBUkM2NCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCi0jZW5kaWYKLQotLyog
Q1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTB4X18pCi0jZGVm
aW5lIFdURl9DUFVfUzM5MFggMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlm
Ci0KLS8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTBfXykK
LSNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNl
bmRpZgotCi0vKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCi0jaWYgICBkZWZpbmVk
KF9faTM4Nl9fKSBcCi0gICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAotICAgIHx8IGRlZmluZWQo
X01fSVg4NikgIFwKLSAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCi0gICAgfHwgZGVmaW5lZChf
X1RIV19JTlRFTCkKLSNkZWZpbmUgV1RGX0NQVV9YODYgMQotI2VuZGlmCi0KLS8qIENQVShYODZf
NjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChf
X3g4Nl82NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfTV9YNjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2
XzY0IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2lmICAg
ZGVmaW5lZChhcm0pIFwKLSAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKLSAgICB8fCBkZWZpbmVk
KEFSTSkgXAotICAgIHx8IGRlZmluZWQoX0FSTV8pCi0jZGVmaW5lIFdURl9DUFVfQVJNIDEKLQot
I2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJ
R19FTkRJQU4pKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotCi0jZWxpZiAhZGVmaW5l
ZChfX0FSTV9FQUJJX18pIFwKLSAgICAmJiAhZGVmaW5lZChfX0VBQklfXykgXAotICAgICYmICFk
ZWZpbmVkKF9fVkZQX0ZQX18pIFwKLSAgICAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCi0gICAg
JiYgIWRlZmluZWQoQU5EUk9JRCkKLSNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLQot
I2VuZGlmCi0KLSNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBX
VEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQotCi0vKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04g
Ki8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNFRfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9BUk1WNElfKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlm
IGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRf
XykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDUKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRF
Sl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMg
YWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5B
X0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQotI2RlZmluZSBXVEZfQVJNX0FS
Q0hfVkVSU0lPTiA2Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcK
LQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX19UQVJH
RVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hf
QVJNCi0KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKLSAgICB8fCBkZWZpbmVkKF9f
VEFSR0VUX0FSQ0hfNVRFKSBcCi0gICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0v
KkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0j
ZWxzZQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCi0KLSNlbmRpZgotCi0vKiBTZXQg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18p
Ci0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJN
X0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gMgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FS
Q0hfNk1fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCi0KLSNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83Ul9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18pCi0jZGVmaW5lIFdU
Rl9USFVNQl9BUkNIX1ZFUlNJT04gNAotCi0vKiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVN
QiAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQotI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RG
X1RIVU1CX0FSQ0hfVkVSU0lPTiAwCi0jZW5kaWYKLQotCi0vKiBDUFUoQVJNVjVfT1JfTE9XRVIp
IC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCi0vKiBPbiBBUk12NSBhbmQg
YmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBh
cmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4gKi8KLSNpZiAhZGVm
aW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFTVCg2KQotI2RlZmlu
ZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKLSNlbmRpZgotCi0KLS8qIENQVShBUk1fVFJBRElU
SU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2
NCBvciBncmVhdGVyKSAqLwotLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9u
IHNldCBpcyBhdmFpbGFibGUgKi8KLS8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5l
ZC4gKi8KLSNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQo
V1RGX0NQVV9BUk1fVEhVTUIyKQotIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190
aHVtYjJfXykgXAotICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJf
XykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKLSMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RSQURJVElPTkFMIDAKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCi0jICBl
bGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJB
RElUSU9OQUwgMQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMg
ICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxp
ZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNr
ICovCi0jICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFM
IGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgotI2VuZGlmIC8qICFkZWZpbmVkKFdU
Rl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICov
Ci0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVP
TikKLSNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAq
LwotCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykK
LSNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCi0jZW5kaWYKLQotLyogPT09
PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9y
IG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5v
dCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCi0KLS8qIE9TKEFORFJPSUQpIC0gQW5k
cm9pZCAqLwotI2lmZGVmIEFORFJPSUQKLSNkZWZpbmUgV1RGX09TX0FORFJPSUQgMQotI2VuZGlm
Ci0KLS8qIE9TKEFJWCkgLSBBSVggKi8KLSNpZmRlZiBfQUlYCi0jZGVmaW5lIFdURl9PU19BSVgg
MQotI2VuZGlmCi0KLS8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRp
bmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLwotI2lmZGVmIF9fQVBQTEVfXwotI2RlZmluZSBX
VEZfT1NfREFSV0lOIDEKLQotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2
YWlsYWJpbGl0eU1hY3Jvcy5oPgotI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotI2Vu
ZGlmCi0KLS8qIE9TKElPUykgLSBpT1MgKi8KLS8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChu
b3QgaW5jbHVkaW5nIGlPUykgKi8KLSNpZiBPUyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRf
T1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAotICAgIHx8IChkZWZpbmVkKFRB
UkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAgICAgICAgICBcCi0g
ICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVf
U0lNVUxBVE9SKSkKLSNkZWZpbmUgV1RGX09TX0lPUyAxCi0jZWxpZiBPUyhEQVJXSU4pICYmIGRl
ZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQwotI2RlZmluZSBXVEZfT1NfTUFD
X09TX1ggMQotLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3Jv
cyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCi0jaWYgIWRlZmluZWQo
TUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQotI2Vs
aWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZp
bmUgQlVJTERJTkdfT05fTElPTiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVS
U0lPTl8xMF82Ci0jZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1B
Q19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBN
QUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0j
ZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84Ci0jZGVmaW5lIFRBUkdFVElOR19M
SU9OIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lm
IGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5l
ZChfX0ZyZWVCU0Rfa2VybmVsX18pCi0jZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgot
Ci0vKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCi0jaWZkZWYgX19HTlVfXwotI2RlZmluZSBXVEZf
T1NfSFVSRCAxCi0jZW5kaWYKLQotLyogT1MoTElOVVgpIC0gTGludXggKi8KLSNpZmRlZiBfX2xp
bnV4X18KLSNkZWZpbmUgV1RGX09TX0xJTlVYIDEKLSNlbmRpZgotCi0vKiBPUyhORVRCU0QpIC0g
TmV0QlNEICovCi0jaWYgZGVmaW5lZChfX05ldEJTRF9fKQotI2RlZmluZSBXVEZfT1NfTkVUQlNE
IDEKLSNlbmRpZgotCi0vKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5C
U0RfXwotI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCi0jZW5kaWYKLQotLyogT1MoUU5YKSAtIFFO
WCAqLwotI2lmIGRlZmluZWQoX19RTlhOVE9fXykKLSNkZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5k
aWYKLQotLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCi0jaWYgZGVmaW5lZChzdW4pIHx8IGRl
ZmluZWQoX19zdW4pCi0jZGVmaW5lIFdURl9PU19TT0xBUklTIDEKLSNlbmRpZgotCi0vKiBPUyhX
SU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9X
UykgaXMgYWxzbyBkZWZpbmVkICovCi0jaWYgZGVmaW5lZChfV0lOMzJfV0NFKQotI2RlZmluZSBX
VEZfT1NfV0lOQ0UgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2Yg
V2luZG93cyAqLwotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmlu
ZSBXVEZfT1NfV0lORE9XUyAxCi0jZW5kaWYKLQotI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJV
U0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCi0jZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVT
RSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCi0KLS8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlr
ZSBzeXN0ZW0gKi8KLSNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhBTkRS
T0lEKSAgICAgICAgICBcCi0gICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAotICAgIHx8IE9T
KEZSRUVCU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhIVVJEKSAgICAgICAgICAgICBcCi0gICAg
fHwgT1MoTElOVVgpICAgICAgICAgICAgXAotICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwK
LSAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCi0gICAgfHwgT1MoUU5YKSAgICAgICAgICAg
ICAgXAotICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgp
ICAgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQo
X191bml4X18pCi0jZGVmaW5lIFdURl9PU19VTklYIDEKLSNlbmRpZgotCi0vKiBPcGVyYXRpbmcg
ZW52aXJvbm1lbnRzICovCi0KLS8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBv
cGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwotLyogUExBVEZPUk0o
Q0hST01JVU0pICovCi0vKiBQTEFURk9STShRVCkgKi8KLS8qIFBMQVRGT1JNKFdYKSAqLwotLyog
UExBVEZPUk0oR1RLKSAqLwotLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JN
KE1BQykgKi8KLS8qIFBMQVRGT1JNKFdJTikgKi8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9N
SVVNX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJV
SUxESU5HX1FUX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJV
SUxESU5HX1dYX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJV
SUxESU5HX0dUS19fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKLSNlbGlmIGRlZmluZWQo
QlVJTERJTkdfQkxBQ0tCRVJSWV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAx
Ci0jZWxpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9NQUMgMQotI2VsaWYgT1Mo
V0lORE9XUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCi0jZW5kaWYKLQotLyogUExBVEZP
Uk0oSU9TKSAqLwotLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dp
dGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5l
ZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQo
VEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0lPUyAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KLSNpZiBk
ZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRP
UgotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19T
SU1VTEFUT1IgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQotI2RlZmluZSBXVEZfUExB
VEZPUk1fSU9TIDAKLSNlbmRpZgotCi0vKiBHcmFwaGljcyBlbmdpbmVzICovCi0KLS8qIFVTRShD
RykgYW5kIFBMQVRGT1JNKENJKSAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9T
KQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQotI2RlZmluZSBXVEZfVVNF
X0NBIDEKLSNlbmRpZgotCi0vKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAq
LwotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmIE9TKERBUldJTikKLSNpZiBVU0UoU0tJQV9P
Tl9NQUNfQ0hST01JVU0pCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX0NHIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RG
X1VTRV9DT1JFX1RFWFQgMQotI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5E
Uk9JRCkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5E
RVJJTkcgMAotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9D
SFJPTUlVTV9ORVQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkp
Ci0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBVU0VfU1lTVEVNX01BTExP
QyAxCi0jZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdU
Rl9VU0VfU0tJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgV1RGX1VT
RV9DQUlSTyAxCi0jZW5kaWYKLQotCi0jaWYgT1MoV0lOQ0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5o
PgotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQotI2VuZGlmCi0KLS8q
IE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCi0j
aWYgT1MoV0lORE9XUykKLSNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVS
ICAxCi0jZW5kaWYKLQotI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIE5P
TUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFy
ZCBtYWNyb3MgKi8KLSNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFp
bGFibGUgb24gV2luQ2UgKi8KLQotLyogTVNETiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVu
Y3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0
aGlzIGZpbGUuICovCi0jZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgi
ICovCi0KLSNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0j
ZGVmaW5lIGFzc2VydCh4KQotCi0jZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQp
ICovCi0KLSNpZiBQTEFURk9STShRVCkKLSNpZm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQotI2Rl
ZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKLSNlbmRpZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVm
aW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxpZiBQTEFURk9STShHVEspCi0vKiBUaGUg
R1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX0lDVV9VTklDT0RFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExB
VEZPUk0oSU9TKQotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZf
NjQpCi0jZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAh
ZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9X
X0xFT1BBUkQpCi0jZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJM
RV9SVUJCRVJfQkFORElORyAxCi0jZGVmaW5lIFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQot
I2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVf
SkFWQV9CUklER0UgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQotI2VuZGlmCi0jZGVmaW5l
IFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JV
TkxPT1BfVElNRVIgMQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2RlZmluZSBF
TkFCTEVfU01PT1RIX1NDUk9MTElORyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0j
ZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQotI2Rl
ZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lO
RE9XX1NFUlZFUiAxCi0jZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9S
TShJT1MpICovCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQotI2RlZmlu
ZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVf
UFRIUkVBRF9SV0xPQ0sgMQotCi0jZGVmaW5lIFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIg
MQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIERPTlRfRklOQUxJWkVfT05f
TUFJTl9USFJFQUQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQot
I2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgot
Ci0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVm
aW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9T
KQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NV
UFBPUlQgMAotI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVO
QUJMRV9GVFBESVIgMQotI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQotI2RlZmluZSBFTkFC
TEVfSUNPTkRBVEFCQVNFIDAKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVO
QUJMRV9KQVZBX0JSSURHRSAwCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAK
LSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBB
SU5UX1RIUk9UVExJTkcgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2RlZmluZSBI
QVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFE
X1JXTE9DSyAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1Bf
VElNRVIgMAotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksg
MQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFU
T1IpCi0gICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0gICAgI2RlZmlu
ZSBFTkFCTEVfSklUIDAKLSAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0jZWxzZQotICAg
ICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAotICAgICNkZWZpbmUgRU5BQkxF
X0pJVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQotICAgICNkZWZpbmUgRU5BQkxFX1lB
UlJfSklUIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJ
TkNFKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hS
T01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JL
IDEKLSNlbmRpZgotCi0jaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShJT1MpCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCi0jZGVmaW5lIFdURl9VU0Vf
Q0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYm
ICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oV1gpCi0jaWYgIUNQVShQUEMpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJM
RVIgMQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotI2RlZmluZSBFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXIDAKLSNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVm
aW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
R1RLKQotI2lmIEhBVkUoUFRIUkVBRF9IKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5kaWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAm
JiBPUyhVTklYKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhS
RUFEX1JXTE9DSyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkK
LSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lC
SUxJVFkgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAq
LwotCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQotI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElM
RVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5Y
KSkKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEhBVkVfU1RSTlNUUikKLSNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVm
aW5lZChfX0dMSUJDX18pKQotI2RlZmluZSBIQVZFX1NUUk5TVFIgMQotI2VuZGlmCi0jZW5kaWYK
LQotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAotICAgICYmICFPUyhSVkNUKSBc
Ci0gICAgJiYgIU9TKEFORFJPSUQpCi0jZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUg
SEFWRV9UTV9aT05FIDEKLSNkZWZpbmUgSEFWRV9USU1FR00gMQotI2VuZGlmCi0KLSNpZiBPUyhE
QVJXSU4pCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19I
IDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2RlZmlu
ZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotI2RlZmluZSBIQVZFX1NZU19U
SU1FQl9IIDEKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJ
TkdfTEVPUEFSRAotCi0jZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9T
VEVEX0NPUkVfQU5JTUFUSU9OIDEKLQotI2lmICFQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVf
TUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZF
X1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5B
TUVfTlAgMQotI2VuZGlmCi0KLSNlbGlmIE9TKFdJTkRPV1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNk
ZWZpbmUgSEFWRV9FUlJOT19IIDAKLSNlbHNlCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQot
I2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKLSNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJF
U0VOVCAxCi0jZW5kaWYKLSNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQotCi0jZWxpZiBPUyhR
TlgpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZp
bmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVm
aW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIFdURl9VU0Vf
UFRIUkVBRFMgMQotCi0jZWxpZiBPUyhBTkRST0lEKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAx
Ci0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCi0jZGVmaW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5l
IEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNf
UEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1F
OiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRo
ZWlyIG93biBjb25maWcuaD8gKi8KLQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBI
QVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1NCUksg
MQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQot
I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0jZW5kaWYKLQotLyogRU5BQkxFIG1hY3JvIGRl
ZmF1bHRzICovCi0KLSNpZiBQTEFURk9STShRVCkKLS8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0
aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KLSNk
ZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVm
aW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIGZhc3RNYWxsb2Mg
bWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAg
IG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RG
cmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElE
QVRJT04pCi0jZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxF
X0lDT05EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJB
U0UpCi0jZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKLSNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQotI2RlZmlu
ZSBFTkFCTEVfRlRQRElSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRf
TUVOVVMpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQotI2Rl
ZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUg
RU5BQkxFX0lOU1BFQ1RPUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JS
SURHRSkKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJ
Tl9NRVRBREFUQV9DQUNIRSkKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFU
QV9DQUNIRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZ
KQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKLSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5f
SE9TVF9QUk9DRVNTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCi0jZGVmaW5lIEVOQUJMRV9PUENPREVf
U1RBVFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0Nf
TkVXKQotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEKLSNlbmRpZgotCi0j
ZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAotI2RlZmluZSBFTkFCTEVfU0FN
UExJTkdfQ09VTlRFUlMgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxBR1MgMAotI2RlZmlu
ZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJ
TkcgMAotI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09E
RUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSNlcnJvciAiQ09E
RUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKLSNlbmRpZgotI2lmIEVO
QUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxF
KFNBTVBMSU5HX1JFR0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9H
RU9MT0NBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNk
ZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05P
VElGSUNBVElPTlMpCi0jZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJF
VCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZp
bmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFM
VUUzMl82NCkKLSNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkg
XAotICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAotICAgIHx8IENQVShBTFBI
QSkgXAotICAgIHx8IENQVShTUEFSQzY0KSBcCi0gICAgfHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwg
Q1BVKFBQQzY0KQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCi0jZWxzZQotI2RlZmluZSBX
VEZfVVNFX0pTVkFMVUUzMl82NCAxCi0jZW5kaWYKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNF
X0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpICovCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQotI2RlZmluZSBFTkFCTEVfUkVQQUlO
VF9USFJPVFRMSU5HIDAKLSNlbmRpZgotCi0vKiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMg
b2YgR0NDIHByaW9yIHRvIDQuMSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJ
TEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCi0jZGVmaW5lIEVOQUJM
RV9KSVQgMAotI2VuZGlmCi0KLS8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3Mg
NjQtYml0ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BV
KFg4Nl82NCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogVGhlIEpJVCBpcyBl
bmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jt
cy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQ
VShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAotICAgICYmIChPUyhEQVJXSU4p
IHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCi0g
ICAgJiYgIU9TKFdJTkNFKSBcCi0gICAgJiYgIU9TKFFOWCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAx
Ci0jZW5kaWYKLQotLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBK
SVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKLSAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4g
Ki8KLSNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJX
SU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQotLyogRW5hYmxlIHRoZSBERkcgSklU
IG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICov
Ci0jaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhM
SU5VWCkpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBE
RkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLwotI2lmIENQVShBUk1fVEhV
TUIyKSAmJiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgot
I2VuZGlmCi0KLS8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNv
ZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQotICAgY2FuIGVuYWJsZSBpdCBtYW51
YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5k
YWxvbmUKLSAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFs
c28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQotICAgYmVsb3cuICovCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkKLSNkZWZpbmUgRU5B
QkxFX1ZBTFVFX1BST0ZJTEVSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJP
U0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBFTkFC
TEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X1NJTVBMRV9IRUFQX1BST0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJ
TElORyAwCi0jZW5kaWYKLQotLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcg
c2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElO
R19DT1VOVEVSUyB0byAxLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BS
T0ZJTElORykKLSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKLSNlbmRp
ZgotCi0vKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFz
IGJlZW4gZW5hYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRF
UikgJiYgIUVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEK
LSNlbmRpZgotI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIp
KQotI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBl
bmFibGVkIHRvIGJ1aWxkIEpTQwotI2VuZGlmCi0KLSNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShR
VCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBKSVQg
Ki8KLSNpZiBDUFUoQVJNKQotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxP
KSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09G
VF9NT0RVTE8gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIENQVShYODYpIHx8IENQVShYODZfNjQp
IHx8IENQVShNSVBTKQotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQot
I2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRpZgotCi0j
aWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zh
c3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NU
X0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NU
X0NBTEwKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09N
UElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmlu
ZWQoX19HTlVDX18pKQotI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQotI2VuZGlmCi0jaWYg
SEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKLSNkZWZp
bmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLQot
LyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAn
cyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdF
WFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24g
YnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCi0jaWYgUExBVEZPUk0oQ0hST01J
VU0pCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0KLSNlbGlmIEVOQUJMRShKSVQpICYmICFk
ZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLQotLyog
U2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciBy
ZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAotI2VuZGlmCi0KLSNp
ZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJM
RVIgMQotI2VuZGlmCi0KLS8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBu
ZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQg
aW4uCi0gICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBs
YXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KLSNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lm
IENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVf
QUxMT0NBVE9SX0ZJWEVEIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9D
QVRPUl9ERU1BTkQgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5f
U0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQotI2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmlu
ZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9XRUJfQVJDSElWRSkKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKLSNlbmRpZgotCi0v
KiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50
UGFyc2VyICovCi0vKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFBy
b2Nlc3NvciAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2lmICFVU0UoTElCWE1MMikKLSNkZWZpbmUg
V1RGX1VTRV9RWE1MU1RSRUFNIDEKLSNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLS8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsg
Ki8KLSNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAK
LSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNV
SSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKLSNlbmRpZgotI2VuZGlmCi0KLS8qIEFj
Y2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJ
T1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQ
TEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfQUND
RUxFUkFURURfQ09NUE9TSVRJTkcgMQotI2VuZGlmCi0KLS8qIENvbXBvc2l0aW5nIG9uIHRoZSBV
SS1wcm9jZXNzIGluIFdlYktpdDIgKi8KLSNpZiBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VT
RV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
V1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAh
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCi0jZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFD
S0FHRV9TSU1QTEVfSEFTSCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBFTkFCTEVfVEhSRUFE
RURfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0vKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9u
IGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRo
ZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBF
cnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKLQotLyogRklYTUU6
IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBn
ZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShN
QUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfUExB
VEZPUk1fU1RSQVRFR0lFUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUg
V1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0jZGVmaW5lIFdURl9VU0VfQUNDRVNT
SUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0
IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9u
IGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCi0jZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9H
RU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKLQotI2lmIENQVShBUk1fVEhVTUIyKQotI2RlZmluZSBF
TkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
VEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCi0jZGVmaW5lIEVOQUJM
RV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQotI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElO
R19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19P
UEVOTVAgMQotI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCi0jZGVmaW5lIEVOQUJM
RV9USFJFQURJTkdfR0VORVJJQyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShHTElCX1NVUFBPUlQp
Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotLyogRklYTUU6
IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQu
IEhvd2V2ZXIsIAotICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVj
dCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwotICAgdG8gV1RGIGNhdXNlcyBtYW55
IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxk
Ci0gICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLwotI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9N
QUNST1MgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAKLSNlbmRpZgot
Ci0jaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAmJiBDT01QSUxFUihH
Q0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVm
aW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBM
QVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCi0jZGVmaW5lIEVOQUJMRV9Q
QVJBTExFTF9HQyAxCi0jZW5kaWYKLQotI2lmbmRlZiBOREVCVUcKLSNpZm5kZWYgRU5BQkxFX0dD
X1ZBTElEQVRJT04KLSNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQotI2VuZGlmCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBXVEZfVVNFX0FW
Rk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBXVEZfVVNFX0NPUkVNRURJQSAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBX
VEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBIQVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5U
UyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RGX1VTRV9DT1JFQVVE
SU8gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiAhZGVmaW5lZChXVEZf
VVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDEKLSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JN
KENIUk9NSVVNKSAqLwotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VT
RV9WOCAwCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KLQotLyogVXNpbmcgVjgg
aW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCi0jZGVmaW5lIFdURl9VU0Vf
SlNDICFXVEZfVVNFX1Y4Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgUExBVEZPUk0o
TUFDKQotI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkgMQotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKLSNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFURk9STShRVCkKLSNk
ZWZpbmUgV1RGX1VTRV9aTElCIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogV1RGX1BsYXRmb3JtX2gg
Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9X
VEYvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNTI2ZjRhMzdmMzc4NDYyMmQwYzUxMDM1OGUz
YTQ1ZGQ3M2NjNWY5Li5jOWY3NjEyNTMxZjNmYmU0YzE5MWM2OGYzNzNiY2ViOWIwMzQxNDczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dU
Ri9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEsNCBAQAogd3RmX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9XVEYvU3R1Yi5oCisJU291cmNlL1dURi9T
dHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGFlZDE3NjJiYTE2MWMy
MjA2NjJmMzZkNTAxMzljZDI2MWVhYzViZDAuLjcxYzY3NGM4NDQ5Y2U4YzI5MGEwOTk4NDNmYzY1
MzE1N2NlMjZlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNl
L1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAgJ3Byb2plY3RfZGlyJzogWycu
J10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsKICAgICAgICAgICAgICdT
dHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAgICAgICAgXSwKICAgICAg
ICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggYjExN2IwZDJkNzRm
YzhmYWE1ZDU0MmUyOTJjODYxZDZjMGMzNTc3OC4uYzRlMGU5MGNlNWMzNzQyZTIxYTM0ZGZmZTVm
ZWExMDViN2IyMTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJj
ZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBAIEhFQURFUlMgKz0gXAogICAgIFBhc3NP
d25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAgICBQYXNzVHJhaXRzLmggXAotICAgIFBs
YXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0uaFBsYXRmb3JtLmggXAogICAg
IFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0LmggXAogICAgIFJhbmRvbU51bWJlci5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZmOGJkYzYy
NmQ2ZjkxMTRiYzY1NmVhMjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUxMjliZDUwNjE2M2Y1Zjg3OWU5
ZTFlZDM5YWYzY2M3MjUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOSw2ICs5LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAJ
CTVEMjQ3Qjc5MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBT
dHViLmNwcCAqLzsgfTsKIAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc4MTQ2ODlE
ODkwMEU3OEI3NiAvKiBTdHViLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsg
fTsKKwkJQTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2REJENzE1MTgxNkU1MDBEQURC
OTUgLyogUGxhdGZvcm0uaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KQEAgLTIwLDYgKzIxLDcgQEAK
IAkJNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQy
NDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dURi9IZWFkZXJEZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKKwkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3LDEwICs2OSwxOSBAQAogCQkJ
CTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCAqLywKIAkJCQk1
RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8sCiAJCQkJNUQyNDdCNzgxNDY4
OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLywKKwkJCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUg
Lyogd3RmICovLAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBODc2REJENzE1MTgxNkU1
MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLywKKwkJCSk7CisJCQlwYXRoID0gd3RmOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCiAK
IC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTc4LDggKzg5LDgg
QEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTVEMjQ3RUIyMTQ2OEIwMTUwMEU3OEI3NiAv
KiBIZWFkZXJEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjQ3QjdBMTQ2ODlEODkw
MEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODc2REJEODE1MTgxNkU1MDBE
QURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTQzLDcgKzE1NCw3IEBACiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVs
bFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRf
TE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9
XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJc
bmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVCUlL30ke1BSSVZBVEVf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURF
UlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5
LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRl
cml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1
ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L1wiIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuIjsK
KwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwi
Tk9cIiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtUQVJHRVRfQlVJTERf
RElSJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFU
RV9IRUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BB
VEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5j
IC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBc
Ii5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0t
aW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNS
T09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOwogCQl9OwogCQk1RDI0
N0U5RDE0NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJsZSBIZWFkZXJzICovID0gewog
CQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIwZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTAsMCArMSwxMjEwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKKyNk
ZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNy
b3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyogPT09PSBQTEFURk9STSBoYW5k
bGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCisgICBDUFUu
IFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0
YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBw
b3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAo
ZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RG
X0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2Ug
ZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCisK
Ky8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCisjZGVmaW5lIENQVShX
VEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMj
V1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRl
cnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLworI2Rl
ZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhB
VkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07
IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisg
ICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCisjZGVmaW5l
IE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09T
XyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVz
ZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCisK
Ky8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlv
bmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
VVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKKy8qIEVOQUJMRSgp
IC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCisjZGVmaW5lIEVOQUJM
RShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8j
I1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRl
Y3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3Ig
Q1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLworCisvKiBD
UFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYgZGVmaW5lZChfX2FscGhhX18pCisjZGVmaW5l
IFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02
NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NCAxCisvKiAz
Mi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYgIWRlZmluZWQoX19MUDY0X18pCisjZGVmaW5l
IFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBDUFUoTUlQUykgLSBNSVBT
IDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxl
IGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLworI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmlu
ZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBcCisgICAg
JiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBXVEZfQ1BVX01JUFMgMQorI2lmIGRlZmluZWQo
X19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorI2RlZmlu
ZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKKyNkZWZpbmUgV1RGX01JUFNfQVJDSCBf
X21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYg
V1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRl
ZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49IHYpCisjZGVmaW5lIFdURl9N
SVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2CisjZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikg
KGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKKyNk
ZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYm
ICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCisjZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRl
ZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQorLyogTUlQUyByZXF1aXJlcyBh
bGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2RlZmluZSBXVEZfVVNFX0FSRU5B
X0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZiAvKiBNSVBTICovCisKKy8qIENQVShQ
UEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKKyAg
ICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisgICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykg
XAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUE9XRVJQ
Q19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAorICAgIHx8IGRlZmluZWQoX19Q
UEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
KyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KKyNpZiAgIGRlZmlu
ZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0X18pCisjZGVmaW5lIFdURl9D
UFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQ
VShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBkZWZpbmVkKF9fU0g0X18pCisjZGVmaW5lIFdU
Rl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8K
KyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQo
X19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQorI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwor
I2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQg
KF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEKKyNkZWZpbmUgV1RGX0NQVV9C
SUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZv
ciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLworI2lmIENQVShTUEFSQzMyKSB8fCBD
UFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCisjZW5kaWYKKworLyogQ1BVKFMz
OTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3MzOTB4X18pCisjZGVmaW5lIFdU
Rl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8q
IENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisjaWYgZGVmaW5lZChfX3MzOTBfXykKKyNkZWZp
bmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgor
CisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCisjaWYgICBkZWZpbmVkKF9faTM4
Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAorICAgIHx8IGRlZmluZWQoX01fSVg4
NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCisgICAgfHwgZGVmaW5lZChfX1RIV19J
TlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQorI2VuZGlmCisKKy8qIENQVShYODZfNjQpIC0g
QU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLworI2lmICAgZGVmaW5lZChfX3g4Nl82
NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQpCisjZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEK
KyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLworI2lmICAgZGVmaW5l
ZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKKyAgICB8fCBkZWZpbmVkKEFSTSkg
XAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVmaW5lIFdURl9DUFVfQVJNIDEKKworI2lmIGRl
ZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJ
QU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorCisjZWxpZiAhZGVmaW5lZChfX0FS
TV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX0VBQklfXykgXAorICAgICYmICFkZWZpbmVk
KF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCisgICAgJiYgIWRl
ZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKKworI2VuZGlm
CisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJN
X0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KKyNp
ZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18pIFwKKyAgICB8fCBkZWZpbmVk
KF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA0CisKKyNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAor
ICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJT
SU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKKyAgICB8fCBkZWZpbmVk
KF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQor
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2Nh
dG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9D
X0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVS
U0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKKworLyog
UlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJD
SF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCisK
KyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VU
X0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCisvKkFSTXY1
VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBX
VEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZgorCisjZWxzZQor
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCisKKyNlbmRpZgorCisvKiBTZXQgV1RGX1RI
VU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCisjZGVm
aW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgor
CisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1f
XykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCisKKyNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83
Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18pCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwor
I2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQorI2RlZmluZSBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKKworI2Vsc2UKKyNkZWZpbmUgV1RGX1RIVU1C
X0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisvKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJN
IGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCisvKiBPbiBBUk12NSBhbmQgYmVsb3cg
dGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKKyAgIEFuZCB0aGVyZSBhcmUgc29t
ZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4gKi8KKyNpZiAhZGVmaW5lZChB
Uk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFTVCg2KQorI2RlZmluZSBXVEZf
Q1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgorCisKKy8qIENQVShBUk1fVFJBRElUSU9OQUwp
IC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBn
cmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBp
cyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8K
KyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQ
VV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJf
XykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYm
IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RS
QURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCisjICBlbGlmIFdU
Rl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAKKyMgIGVsc2UKKyMgICAgZXJy
b3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKKyMgIGVuZGlmCisjZWxpZiBDUFUo
QVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCisj
ICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBX
VEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVf
QVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCisKKyNp
ZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKKyNk
ZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5kaWYKKworI2VuZGlmIC8qIEFSTSAqLworCisj
aWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykKKyNkZWZp
bmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCisjZW5kaWYKKworLyogPT09PSBPUygp
IC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRh
dGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBj
aG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisKKy8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAq
LworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RGX09TX0FORFJPSUQgMQorI2VuZGlmCisKKy8q
IE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlYCisjZGVmaW5lIFdURl9PU19BSVggMQorI2Vu
ZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFj
IE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVmIF9fQVBQTEVfXworI2RlZmluZSBXVEZfT1Nf
REFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgorI2luY2x1ZGUgPEF2YWlsYWJp
bGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgorI2VuZGlmCisK
Ky8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5j
bHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1C
RURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAorICAgIHx8IChkZWZpbmVkKFRBUkdFVF9P
U19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAgICAgICAgICBcCisgICAgfHwg
KGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxB
VE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisjZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQo
VEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQworI2RlZmluZSBXVEZfT1NfTUFDX09TX1gg
MQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91
bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCisjaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09T
X1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQorI2VsaWYgIWRl
ZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19Y
X1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgQlVJ
TERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEw
XzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8x
MF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19Y
X1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1Nf
WF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAh
ZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5lIFRBUkdFVElOR19MSU9OIDEK
KyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLworI2lmIGRlZmlu
ZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0Zy
ZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKKyNlbmRpZgorCisvKiBP
UyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYgX19HTlVfXworI2RlZmluZSBXVEZfT1NfSFVS
RCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0gTGludXggKi8KKyNpZmRlZiBfX2xpbnV4X18K
KyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBPUyhORVRCU0QpIC0gTmV0QlNE
ICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKKyNl
bmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNpZmRlZiBfX09wZW5CU0RfXwor
I2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyogT1MoUU5YKSAtIFFOWCAqLwor
I2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX09TX1FOWCAxCisjZW5kaWYKKwor
LyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisjaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQo
X19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklTIDEKKyNlbmRpZgorCisvKiBPUyhXSU5DRSkg
LSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMg
YWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChfV0lOMzJfV0NFKQorI2RlZmluZSBXVEZfT1Nf
V0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93
cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQorI2RlZmluZSBXVEZf
T1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lO
RE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNf
T1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0
ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKKyAgICB8fCBPUyhBTkRST0lEKSAg
ICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAorICAgIHx8IE9TKEZSRUVC
U0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJEKSAgICAgICAgICAgICBcCisgICAgfHwgT1Mo
TElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwKKyAgICB8
fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAor
ICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKKyAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAg
ICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAorICAgIHx8IGRlZmluZWQoX191bml4
X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNlbmRpZgorCisvKiBPcGVyYXRpbmcgZW52aXJv
bm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRp
bmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLworLyogUExBVEZPUk0oQ0hST01J
VU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8qIFBMQVRGT1JNKFdYKSAqLworLyogUExBVEZP
Uk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8KKy8qIFBMQVRGT1JNKE1BQykg
Ki8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18p
CisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5H
X1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5H
X1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5H
X0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJ
TkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCisjZWxp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFURk9STV9NQUMgMQorI2VsaWYgT1MoV0lORE9X
UykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9T
KSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFu
ZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8KKyNpZiAoZGVmaW5lZChUQVJH
RVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VU
X09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lP
UyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KKyNpZiBkZWZpbmVk
KFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgorI2Rl
ZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFU
T1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
SU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBlbmdpbmVzICovCisKKy8qIFVTRShDRykgYW5k
IFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQorI2Rl
ZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
SU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQorI2RlZmluZSBXVEZfVVNFX0NBIDEK
KyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLworI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERBUldJTikKKyNpZiBVU0UoU0tJQV9PTl9NQUNf
Q0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNF
X0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQorI2VsaWYgT1MoQU5EUk9JRCkK
KyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcg
MAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VTRV9DSFJPTUlV
TV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVm
aW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisj
ZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCisjZGVmaW5lIFdURl9VU0Vf
U0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNkZWZpbmUgV1RGX1VTRV9DQUlS
TyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0UpCisjaW5jbHVkZSA8Y2VfdGltZS5oPgorI2Rl
ZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQorI2VuZGlmCisKKy8qIE9uIFdp
bmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCisjaWYgT1Mo
V0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCisj
ZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIE5PTUlOTUFY
ICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNy
b3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUg
b24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25z
IGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZp
bGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCisK
KyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCisjZGVmaW5l
IGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCisK
KyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQorI2RlZmluZSBX
VEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgorI2VsaWYgT1MoV0lOQ0UpCisjZGVmaW5lIFdU
Rl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQTEFURk9STShHVEspCisvKiBUaGUgR1RLKyBV
bmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCisjZWxzZQorI2RlZmluZSBXVEZfVVNF
X0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0o
SU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCisj
ZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCisjZW5kaWYKKyNpZiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCisjZGVmaW5lIEVOQUJMRV9SVUJC
RVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQorI2VuZGlm
CisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9C
UklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQor
I2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQorI2VuZGlmCisjZGVmaW5lIFdURl9V
U0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFE
X1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBIQVZFX1JVTkxPT1Bf
VElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2RlZmluZSBFTkFCTEVf
U01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQorI2RlZmluZSBF
TkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NF
UlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1Mp
ICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZf
VVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhBVkVfUFRIUkVB
RF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9U
SFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQorI2RlZmlu
ZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNlbmRpZgorCisjaWYg
T1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVO
QUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2Rl
ZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQg
MAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZGVmaW5lIEVOQUJMRV9G
VFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQorI2RlZmluZSBFTkFCTEVfSUNP
TkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZGVmaW5lIEVOQUJMRV9K
QVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKKyNkZWZp
bmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RI
Uk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2RlZmluZSBIQVZFX05F
VFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9D
SyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIg
MAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCisg
ICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCisgICAgI2RlZmluZSBFTkFC
TEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisjZWxzZQorICAgICNkZWZp
bmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAorICAgICNkZWZpbmUgRU5BQkxFX0pJVCAx
CisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQorICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklU
IDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQor
I2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0p
ICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKKyNl
bmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJ
T1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxT
VE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5D
RSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFU
Rk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQor
I2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RN
QUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKKyNpZiBPUyhEQVJXSU4pCisjZGVm
aW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIEVO
QUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQor
I2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKyNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhV
TklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JX
TE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKKyNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkg
MQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLworCisj
aWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZD
VCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKKyNk
ZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhB
VkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChf
X0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQorI2VuZGlmCisjZW5kaWYKKworI2lm
ICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAorICAgICYmICFPUyhSVkNUKSBcCisgICAg
JiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKKyNkZWZpbmUgSEFWRV9U
TV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00gMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4p
CisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKKyNk
ZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQorI2RlZmluZSBIQVZF
X1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFN
X0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9I
IDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKKworI2lmbmRlZiBUQVJHRVRJTkdfTEVP
UEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZGVmaW5lIEhBVkVfSE9TVEVEX0NP
UkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9G
UkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJF
QURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisj
ZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg
MQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1MpCisKKyNpZiBPUyhXSU5DRSkKKyNkZWZpbmUg
SEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmlu
ZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAx
CisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQorCisjZWxpZiBPUyhRTlgpCisK
KyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFW
RV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhB
VkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVB
RFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVm
aW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5lIEhBVkVfTk1BUCAxCisjZGVmaW5lIEhBVkVf
U0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
SCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbHNlCisKKy8qIEZJWE1FOiBpcyB0
aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93
biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xB
TkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYKKworLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRz
ICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xv
YmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KKyNkZWZpbmUg
RU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjaWYgIU9TKFVOSVgpCisjZGVmaW5lIFVT
RV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIGZhc3RNYWxsb2MgbWF0Y2gg
dmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKKyAgIG5ldyBp
cyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBl
dGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04p
CisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKKyNkZWZpbmUgRU5BQkxFX0lDT05E
QVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisj
ZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQorI2RlZmluZSBFTkFC
TEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMp
CisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQorI2RlZmluZSBF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUikKKyNkZWZpbmUgRU5BQkxF
X0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkK
KyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5f
QVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRB
REFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNI
RSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQorI2Rl
ZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdU
Rl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9Q
Uk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5U
UykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisjZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMg
MAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQor
I2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEKKyNlbmRpZgorCisjZGVmaW5l
IEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
Q09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxBR1MgMAorI2RlZmluZSBFTkFC
TEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAor
I2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKKyNpZiBFTkFCTEUoQ09ERUJMT0NL
X1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKKyNlcnJvciAiQ09ERUJMT0NL
X1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKKyNlbmRpZgorI2lmIEVOQUJMRShP
UENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBM
SU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NB
VElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNB
VElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKKyNkZWZpbmUgRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5U
RVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82
NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAorICAg
IHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAorICAgIHx8IENQVShBTFBIQSkgXAor
ICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwgQ1BVKFMzOTBYKSBcCisgICAgfHwgQ1BVKFBQ
QzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNF
X0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFM
VUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpICovCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQorI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJP
VFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0ND
IHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdD
QykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCisjZGVmaW5lIEVOQUJMRV9KSVQg
MAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0
ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82
NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyogVGhlIEpJVCBpcyBlbmFibGVk
IGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8K
KyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisgICAgJiYgKENQVShYODYpIHx8IENQVShYODZf
NjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAorICAgICYmIChPUyhEQVJXSU4pIHx8ICFD
T01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCisgICAgJiYg
IU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5k
aWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdl
IHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KKyNp
ZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYm
ICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RI
VU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4
NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICovCisjaWYg
KENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkp
CisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorLyogRW5hYmxlIHRoZSBERkcgSklU
IG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLworI2lmIENQVShBUk1fVEhVTUIyKSAm
JiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorI2VuZGlm
CisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERG
R19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQorICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3
aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUK
KyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5h
YmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAgYmVsb3cuICovCisjaWYgIWRlZmluZWQoRU5B
QkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1ZB
TFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFM
VUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQorI2RlZmluZSBFTkFCTEVfVkVS
Qk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBM
RV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAw
CisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxp
bmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbworICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VO
VEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElO
RykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKKyNlbmRpZgorCisv
KiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4g
ZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYg
IUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRp
ZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQorI2Vy
cm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVk
IHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKKyNk
ZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KKyNp
ZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBX
VEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RV
TE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQorI2RlZmlu
ZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BV
KFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxs
CisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwg
X19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwK
KyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCisjaWYgQ09NUElMRVIo
R0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19H
TlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQorI2VuZGlmCisjaWYgSEFWRShD
T01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKKyNkZWZpbmUgRU5B
QkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCisjZW5kaWYKKworLyogUmVn
dWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBq
c2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCisjZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJB
Q0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVm
YXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisj
ZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVk
KEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKKworLyogU2V0dGlu
ZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRz
LiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAorI2VuZGlmCisKKyNpZiBFTkFC
TEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQor
I2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFu
IGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCisg
ICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3Jt
cyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQorI2lmIENQVShY
ODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NB
VE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9E
RU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xM
SU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQorI2RlZmluZSBFTkFC
TEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJf
QVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCisvKiBVc2Ug
dGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2Vy
ICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3Nv
ciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFVU0UoTElCWE1MMikKKyNkZWZpbmUgV1RGX1VT
RV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQorI2VuZGlmCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KKyNp
Zm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKKyNkZWZp
bmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisj
ZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorI2VuZGlmCisKKy8qIEFjY2VsZXJh
dGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8
IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9S
TShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9j
ZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9VSV9T
SURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VT
RV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYg
KChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9T
SU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NS
T0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9y
IHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFj
ZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBV
U0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKKworLyogRklYTUU6IEV2ZW50
dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlk
IG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5lIFdURl9VU0VfUExBVEZPUk1f
U1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikKKyNkZWZpbmUgV1RGX1VT
RV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElU
WV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisvKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGlj
eS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9y
ZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NB
VElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShBUk1fVEhVTUIyKQorI2RlZmluZSBFTkFCTEVf
QlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFE
SU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVO
TVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAg
MQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCisjaW5j
bHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYKKworLyogRklYTUU6IFRoaXMg
ZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2
ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRl
cGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRz
IHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCisgICBi
cmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1Mg
MQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAKKyNlbmRpZgorCisjaWYg
KFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYm
IChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVO
QUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BB
UkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JN
KFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCisjZGVmaW5lIEVOQUJMRV9QQVJBTExF
TF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVCVUcKKyNpZm5kZWYgRU5BQkxFX0dDX1ZBTElE
QVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQorI2VuZGlmCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRB
VElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBXVEZfVVNFX0NPUkVNRURJQSAxCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwp
IHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykp
IHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBXVEZfVVNF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4
KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRpZgorI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9N
SVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNkZWZpbmUgV1RGX1VTRV9WOCAw
CisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KKworLyogVXNpbmcgVjggaW1wbGll
cyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCisjZGVmaW5lIFdURl9VU0VfSlNDICFX
VEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQor
I2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkgMQorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUg
V1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggNDdkYzEzN2NhOTExNzU0MmNmN2MwZjVlN2Y4ZTU2ZjZkMDFm
ZTY1Ni4uYzg0YzMxMzk2MjAwYzdhMWRmYWVkMjA2MDhiYWFlYTYyNTgxYzdjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTEsNSArMSw2IEBACiBTRVQoV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9IgorICAgICIke1dURl9ESVJ9IgogICAgICIke1dFQkNP
UkVfRElSfS9Nb2R1bGVzL2ZpbGVzeXN0ZW0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
Z2VvbG9jYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvaW5kZXhlZGRiIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01h
a2VMaXN0cy50eHQKaW5kZXggNjJmNGIzMTE2MmU1YWJkYjJkNGMwYTJhNzM3OTFiNTNhZWFjOWQx
Yy4uZjEzZWMyNjkwNmU5ZjY0ZmU2OWZlNGRhMTAwNDhmYWEzMGY0MTk1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CkBAIC0xLDQgKzEsNSBAQAogU0VUKFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7V0VCS0lUX0RJUn0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9
IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYmRhdGFiYXNlIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNlX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJkYXRhYmFzZV9wLmgKaW5kZXggZWMwM2VhNWUyMDI5ZDc4ZjY0OTQ5NDk0NDcwMzkw
NDFmNzZhMzZjZS4uMjk4NDcwNDQyNTUwYzg5NGVmZjhkMGMzNzhlMzMxYTllZjg5ODM0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNlX3AuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCkBAIC0yNCw3ICsyNCw3IEBACiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0j
aW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAKIGNsYXNzIFFX
ZWJEYXRhYmFzZVByaXZhdGUgOiBwdWJsaWMgUVNoYXJlZERhdGEgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKaW5kZXggNzExNWViMmM1MGI5MTljZjI4NTg1YjE0MTky
MGEzZDQwNDU0ZDVmNC4uOGMxOGUyM2VkODQ3ZDdhOTE4NGFhMWY5MGU4MWU0NDQxMDIzMmM2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCkBAIC0yMCw3ICsyMCw3
IEBACiAjaWZuZGVmIF9RV0VCU0NSSVBUV09STERfUF9IXwogI2RlZmluZSBfUVdFQlNDUklQVFdP
UkxEX1BfSF8KIAotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmggYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCmluZGV4IGNkYzkzYmQxNDFh
Y2JjNDFmYTEwNzBhMGFmZWQzNmVjZTcxNTZlMTUuLjFiNjRjNDlmMGMxNDIwOWVmMDE4NTQ1ODYx
YWMyZDNjNTc2NTIzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1
cml0eW9yaWdpbl9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3Jp
Z2luX3AuaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBfV0VCU0VDVVJJVFlPUklHSU5fUF9I
XwogCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRlICJSZWZQdHIuaCIKKyNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIGNsYXNzIFFXZWJTZWN1cml0eU9yaWdpblByaXZhdGUg
OiBwdWJsaWMgUVNoYXJlZERhdGEgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmluZGV4IGM5NGQ2MWEzMjk0MGE2
YTQzZDU2ZTlkZWU5ZTQxODI4YjdkMjQxZGMuLjZjN2QwMGY4NWQ3ODQ5ZjU1YjgyMTU5NjQ3MDdm
OTFmYTk1NGU2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
SW5zcGVjdG9yQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTMyLDEwICszMiwxMCBAQAogCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
IgotI2luY2x1ZGUgIk93blB0ci5oIgotI2luY2x1ZGUgIlBhc3NPd25QdHIuaCIKICNpbmNsdWRl
IDxRdENvcmUvUVN0cmluZz4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBjbGFzcyBRV2ViUGFn
ZTsKIGNsYXNzIFFXZWJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKaW5kZXggZWExMTFmYTVjZmUxYzM2MmI5NGNjYzRm
YzBkMzUxZGU5ODUyYmU5My4uMjk4MGQ0NTgyNGE2N2VkZWU0OTkxMmFhNGE4ZTJlOGFkOTRhMzk3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNr
V2ViUG9wdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJh
Y2tXZWJQb3B1cC5oCkBAIC0yMCw4ICsyMCw4IEBACiAjaWZuZGVmIFF0RmFsbGJhY2tXZWJQb3B1
cF9oCiAjZGVmaW5lIFF0RmFsbGJhY2tXZWJQb3B1cF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybS5o
IgogI2luY2x1ZGUgInF3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNvbWJvQm94PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaCBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCmluZGV4IGJjYTJlNWYzODJiZjJhYzBjYzY0
MDRiMWIwZTVhODFiZWUzYmU4MTEuLjQyNjQ3NTc2Njc4MjI0YjQ1OGNiNjA2OTE1NTVlN2NiMGVk
ZGQzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJD
b21ib0JveC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21i
b0JveC5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFF0V2ViQ29tYm9Cb3hfaAogI2RlZmlu
ZSBRdFdlYkNvbWJvQm94X2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAKICNpbmNsdWRlIDxRQ29tYm9Cb3g+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnByaSBiL1NvdXJjZS9XZWJLaXQvcXQvZGVj
bGFyYXRpdmUvcHVibGljLnByaQppbmRleCBlMzg5ZTM4ZWIwODkzMmQ1ZjZiYTk2NmFhNWY3OGIx
YmE1NmUxNmRiLi5hMmY3N2VlN2M3ZjZmNTFlZmJjZDNjZjkwY2U0ZDRiMmMyY2Y4YTlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKKysrIGIvU291
cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMucHJpCkBAIC00NCw3ICs0NCw4IEBAIElO
Q0xVREVQQVRIICs9IFwKICAgICAuLi8uLi8uLi9XZWJLaXQyL1NoYXJlZC9xdCBcCiAgICAgLi4v
Li4vLi4vSmF2YVNjcmlwdENvcmUgXAogICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUgXAotICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3d0ZgorICAgIC4uLy4uLy4uL0phdmFT
Y3JpcHRDb3JlL3d0ZiBcCisgICAgLi4vLi4vLi4vV1RGCiAKIFNPVVJDRVMgKz0gcGx1Z2luLmNw
cAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlE
YXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKaW5k
ZXggZDE1NjViZWMyMGRkZWFhMDM0YjM4MzgyMTkxYmY5MTBjMTlkMDYwNS4uNDU3ZDdiZTI3YWYw
M2Y4YzRhMmRmNDNhZGEyNzk1NTM2OTBmYTY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWZuZGVmIFF0
TmV0d29ya1JlcGx5RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAKLSNpbmNs
dWRlICJOb25jb3B5YWJsZS5oIgotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKICNpbmNsdWRlICJT
aGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CisjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKaW5kZXgg
ZjIxMDY2MGZkNGU1MzM2MTVjM2EyY2Y3YTAwNzdhNDkxZTU3N2M1Mi4uOGE4MGZiMzY5OTFmZjU4
YmQ2NGZmNmVlMThmNTY5OWFlMmUzZTkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNs
dWRlICJRdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIgogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNR
dC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KICNpbmNsdWRlIDxRTmV0d29ya1JlcXVl
c3Q+CiAjaW5jbHVkZSA8UVV1aWQ+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAppbmRleCAwODJkNDk5
Y2MyNjljYTE5YmQzYTJkNmNiN2FmNWRlZmYwYjI0NzRlLi45NDBiZjgxNWY2MjUzMWZiMzEyNDVj
YzkzNzM1ZWM5Y2Q2NmUyMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQv
UXROZXR3b3JrUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXRO
ZXR3b3JrUmVxdWVzdERhdGEuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBRdE5ldHdvcmtS
ZXF1ZXN0RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcXVlc3REYXRhX2gKIAotI2luY2x1ZGUg
IlJlZkNvdW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggM2MxZmVhYmJkOTBlMTQwYjI3ZWRhZjRkZTE4
ZDExYTU0YjYwNGY5ZC4uY2FiZTRjZjFlYzk5NDI0Mjk2NGU5NTYyOTllOThiMGI5ZTA0ZjI2NiAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtNDEsNiArNDEsNyBA
QCBTRVQoRHVtcFJlbmRlclRyZWVfTElCUkFSSUVTCiApCiAKIFNFVChEdW1wUmVuZGVyVHJlZV9J
TkNMVURFX0RJUkVDVE9SSUVTCisgICAgJHtXVEZfRElSfQogICAgICIke1dFQktJVF9ESVJ9L2Vm
bC9ld2siCiAgICAgJHtXRUJLSVRfRElSfS9lZmwKICAgICAke1dFQkNPUkVfRElSfQpkaWZmIC0t
Z2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRj
MDliMDZmMDlkZjBmNzI5Nzk2ODU0YzhkNDZjLi5hOWMxYmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0
ZjE1MTc3NzBiM2UxIDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3Rz
LnR4dApAQCAtMjcsNiArMjcsNyBAQCBJRiAoT05MWV9CVUlMRF9KQVZBU0NSSVBUQ09SRSkKICAg
ICBTRVQoRU5BQkxFX1RPT0xTIE9GRikKIEVORElGICgpCiAKK1NFVChXVEZfRElSICIke0NNQUtF
X1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogU0VUKEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFL
RV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUiKQogU0VUKFdFQkNPUkVfRElSICIk
e0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikKIFNFVChXRUJLSVRfRElSICIke0NN
QUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IGIwYWFkMjUzODIxMmNkNDBmNTYyMDM0Y2ZlODVhOTMzMGNiNjZkNDIu
LjEyNWE5MTU0YTcwOTJkZTY0MTBjNDczMDBjZWJhZDAwOWVlYzZhYjUgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0u
aCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBX
VEZfRElSLgorCiAyMDEyLTAzLTE5ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgY2xlYW4gdXAgZ2l0aWdub3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132789</attachid>
            <date>2012-03-20 03:41:00 -0700</date>
            <delta_ts>2012-03-20 11:03:15 -0700</delta_ts>
            <desc>Fix Qt build based on attachment-132779</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>88268</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKaW5kZXggNGY4MWE0
NS4uYTljMWJhOSAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50
eHQKQEAgLTI3LDYgKzI3LDcgQEAgSUYgKE9OTFlfQlVJTERfSkFWQVNDUklQVENPUkUpCiAgICAg
U0VUKEVOQUJMRV9UT09MUyBPRkYpCiBFTkRJRiAoKQogCitTRVQoV1RGX0RJUiAiJHtDTUFLRV9T
T1VSQ0VfRElSfS9Tb3VyY2UvV1RGIikKIFNFVChKQVZBU0NSSVBUQ09SRV9ESVIgIiR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlL0phdmFTY3JpcHRDb3JlIikKIFNFVChXRUJDT1JFX0RJUiAiJHtD
TUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViQ29yZSIpCiBTRVQoV0VCS0lUX0RJUiAiJHtDTUFL
RV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0IikKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No
YW5nZUxvZwppbmRleCBiMGFhZDI1Li4xMjVhOTE1IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8
ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZh
U2NyaXB0Q29yZSB0byBTb3VyY2UvV1RGL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBEZWZpbmUgV1RGX0RJUi4KKwog
MjAxMi0wMy0xOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGNs
ZWFuIHVwIGdpdGlnbm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQy
MDg2ODguLmRiZTQyYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEs
NSArMSw2IEBACiBTRVQoSmF2YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e0NNQUtFX0JJTkFSWV9ESVJ9IgorICAgICIke1dURl9ESVJ9IgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0iCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9BUEkiCiAgICAgIiR7SkFWQVND
UklQVENPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDMxZjE5NjQuLjY5NTc0YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9X
VEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0xOSAg
Sm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTcGxpdCBX
VEZSZXBvcnRCYWNrdHJhY2UgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UgYW5kIFdURlByaW50QmFj
a3RyYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
cHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBlZWFj
ZTE3Li40YThlY2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkK
QEAgLTEyLDYgKzEyLDcgQEAgSkFWQVNDUklQVENPUkVfR0VORVJBVEVEX1NPVVJDRVNfRElSID0g
JCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS8KIElOQ0xVREVQQVRIICs9
IFwKICAgICAkJFNPVVJDRV9ESVIgXAogICAgICQkU09VUkNFX0RJUi8uLiBcCisgICAgJCRTT1VS
Q0VfRElSLy4uL1dURiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2VtYmxlciBcCiAgICAgJCRTT1VS
Q0VfRElSL2J5dGVjb2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvbXBpbGVyIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dU
Ri52Y3Byb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dU
Ri9XVEYudmNwcm9qCmluZGV4IDNiZjc4MTcuLmMzNDFkYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJv
agpAQCAtOTk3LDEwICs5OTcsNiBAQAogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCi0JCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQbGF0Zm9ybS5oIgotCQkJPgotCQk8L0ZpbGU+Ci0JCTxGaWxl
CiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQb3NzaWJseU51bGwuaCIKIAkJCT4KIAkJPC9G
aWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzYmY2NWZmLi4zNDhkNmNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Myw3ICsxMDkzLDYgQEAKIAkJNjVD
NjQ3QjMwOTNFRjhENjAwMjJDMzgwIC8qIFJlZlB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWZQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NUM3QTE3MTBBOEVBQUNCMDBGQTM3RUEgLyogSlNX
cmFwcGVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1dyYXBwZXJPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUM3QTE3
MjBBOEVBQUNCMDBGQTM3RUEgLyogSlNXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1dyYXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2NURGQzkyQTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaEZ1bmN0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0
aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoRnVu
Y3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVE
RkM5MkIwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaE1hcC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1REZDOTJDMDhFQTE3M0EwMEY3MzAwQiAvKiBI
YXNoU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhhc2hTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpA
QCAtMjE0MSw3ICsyMTQwLDYgQEAKIAkJCQk0NERENDg1MjBGQUVBODUwMDBENkI0RUIgLyogUGFz
c093blB0ci5oICovLAogCQkJCTY1ODBGNzk1MDk0MDcwNTYwMDgyQzIxOSAvKiBQYXNzUmVmUHRy
LmggKi8sCiAJCQkJNjUxRENBMDIxMzZBNkZBQjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCAqLywK
LQkJCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLywKIAkJCQlBN0Q2
NDlBOTEwMTUyMjRFMDA5QjJFMUIgLyogUG9zc2libHlOdWxsLmggKi8sCiAJCQkJMDg4RkE1Qjkw
RUY3NkQ0MzAwNTc4RTZGIC8qIFJhbmRvbU51bWJlci5jcHAgKi8sCiAJCQkJMDg4RkE1QkEwRUY3
NkQ0MzAwNTc4RTZGIC8qIFJhbmRvbU51bWJlci5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggNzI0MjAxMi4uYWRhYjcyOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC02OSw3ICs2OSw3IEBAIFNFVChXVEZfSEVB
REVSUwogICAgIFBhcmFsbGVsSm9ic0dlbmVyaWMuaAogICAgIFBhcmFsbGVsSm9ic0xpYmRpc3Bh
dGNoLmgKICAgICBQYXJhbGxlbEpvYnNPcGVuTVAuaAotICAgIFBsYXRmb3JtLmgKKyAgICAke1dU
Rl9ESVJ9L3d0Zi9QbGF0Zm9ybS5oCiAgICAgUG9zc2libHlOdWxsLmgKICAgICBSYW5kb21OdW1i
ZXIuaAogICAgIFJhbmRvbU51bWJlclNlZWQuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODM0YjUzLi4wMDAwMDAwCi0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgL2Rldi9udWxsCkBAIC0x
LDEyMTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFdURl9QbGF0Zm9ybV9oCi0jZGVmaW5lIFdURl9QbGF0Zm9ybV9oCi0KLS8qIEluY2x1ZGUg
Y29tcGlsZXIgc3BlY2lmaWMgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0K
LS8qID09PT0gUExBVEZPUk0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFw
aGljcyBBUEksIGFuZAotICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBm
YXZvciBvZiBwbGF0Zm9ybSBhZGFwdGF0aW9uCi0gICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBt
YWNyb3MsIGFuZCB0b3AtbGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gPT09PSAqLwotI2RlZmluZSBQ
TEFURk9STShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUg
ICYmIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUGxhdGZvcm0gYWRh
cHRhdGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBl
bnZpcm9ubWVudC4gPT09PSAqLwotCi0vKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVj
dHVyZSAqLwotI2RlZmluZSBDUFUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX0NQVV8jI1dURl9GRUFUVVJFKQotLyogSEFWRSgpIC0gc3BlY2lmaWMg
c3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUg
cHJlc2VudCBvciBub3QgKi8KLSNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFW
RV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCi0vKiBPUygpIC0gdW5kZXJs
eWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1s
ZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBH
VUkgdG9vbGtpdCAqLwotI2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMj
V1RGX0ZFQVRVUkUgICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUG9saWN5
IGRlY2lzaW9uIG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRp
Y3VsYXIgcG9ydC4gPT09PSAqLwotCi0vKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQt
cGFydHkgbGlicmFyeSBvciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCi0jZGVmaW5lIFVTRShXVEZf
RkVBVFVSRSkgKGRlZmluZWQgV1RGX1VTRV8jI1dURl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RG
X0ZFQVRVUkUpCi0vKiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdl
YktpdCAqLwotI2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dU
Rl9GRUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKLQotCi0vKiA9PT09IENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlID09PT0gKi8KLQotLyogVGhpcyBhbHNvIGRlZmlu
ZXMgQ1BVKEJJR19FTkRJQU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBh
cHByb3ByaWF0ZS4gKi8KLQotLyogQ1BVKEFMUEhBKSAtIERFQyBBbHBoYSAqLwotI2lmIGRlZmlu
ZWQoX19hbHBoYV9fKQotI2RlZmluZSBXVEZfQ1BVX0FMUEhBIDEKLSNlbmRpZgotCi0vKiBDUFUo
SUE2NCkgLSBJdGFuaXVtIC8gSUEtNjQgKi8KLSNpZiBkZWZpbmVkKF9faWE2NF9fKQotI2RlZmlu
ZSBXVEZfQ1BVX0lBNjQgMQotLyogMzItYml0IG1vZGUgb24gSXRhbml1bSAqLwotI2lmICFkZWZp
bmVkKF9fTFA2NF9fKQotI2RlZmluZSBXVEZfQ1BVX0lBNjRfMzIgMQotI2VuZGlmCi0jZW5kaWYK
LQotLyogQ1BVKE1JUFMpIC0gTUlQUyAzMi1iaXQgKi8KLS8qIE5vdGU6IE9ubHkgTzMyIEFCSSBp
cyB0ZXN0ZWQsIHNvIHdlIGVuYWJsZSBpdCBmb3IgTzMyIEFCSSBmb3Igbm93LiAgKi8KLSNpZiAo
ZGVmaW5lZChtaXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRl
ZmluZWQoX01JUFNfKSkgXAotICAgICYmIGRlZmluZWQoX0FCSU8zMikKLSNkZWZpbmUgV1RGX0NQ
VV9NSVBTIDEKLSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pCi0jZGVmaW5lIFdURl9DUFVfQklHX0VO
RElBTiAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX01JUFNfUElDIChkZWZpbmVkIF9fUElDX18pCi0j
ZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzCi0jZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVm
aW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPT0gdikKLSNkZWZpbmUgV1RGX01J
UFNfSVNBX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJD
SCA+PSB2KQotI2RlZmluZSBXVEZfTUlQU19BUkNIX1JFViBfX21pcHNfaXNhX3JldgotI2RlZmlu
ZSBXVEZfTUlQU19JU0FfUkVWKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9N
SVBTX0FSQ0hfUkVWID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5l
ZCBfX21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQotI2Rl
ZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2
NCkKLS8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8K
LSNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0jZW5kaWYg
LyogTUlQUyAqLwotCi0vKiBDUFUoUFBDKSAtIFBvd2VyUEMgMzItYml0ICovCi0jaWYgICBkZWZp
bmVkKF9fcHBjX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQ19fKSAgICAgXAotICAgIHx8
IGRlZmluZWQoX19wb3dlcnBjX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCi0g
ICAgfHwgZGVmaW5lZChfX1BPV0VSUENfXykgXAotICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAg
IFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDKQotI2RlZmluZSBXVEZfQ1BVX1BQQyAxCi0jZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMg
NjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9fcHBjNjRfXykgXAotICAgIHx8IGRlZmluZWQoX19Q
UEM2NF9fKQotI2RlZmluZSBXVEZfQ1BVX1BQQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5E
SUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU0g0KSAtIFN1cGVySCBTSC00ICovCi0jaWYgZGVmaW5l
ZChfX1NINF9fKQotI2RlZmluZSBXVEZfQ1BVX1NINCAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJD
MzIpIC0gU1BBUkMgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChf
X2FyY2g2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmN2OCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFSQzMy
IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BBUkM2
NCkgLSBTUEFSQyA2NC1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChf
X2FyY2g2NF9fKSB8fCBkZWZpbmVkIChfX3NwYXJjdjkpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkM2
NCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJD
KSAtIGFueSBTUEFSQywgdHJ1ZSBmb3IgQ1BVKFNQQVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8K
LSNpZiBDUFUoU1BBUkMzMikgfHwgQ1BVKFNQQVJDNjQpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkMg
MQotI2VuZGlmCi0KLS8qIENQVShTMzkwWCkgLSBTMzkwIDY0LWJpdCAqLwotI2lmIGRlZmluZWQo
X19zMzkweF9fKQotI2RlZmluZSBXVEZfQ1BVX1MzOTBYIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MCkgLSBTMzkwIDMyLWJpdCAqLwotI2lmIGRl
ZmluZWQoX19zMzkwX18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MCAxCi0jZGVmaW5lIFdURl9DUFVf
QklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAq
LwotI2lmICAgZGVmaW5lZChfX2kzODZfXykgXAotICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCi0gICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAot
ICAgIHx8IGRlZmluZWQoX19USFdfSU5URUwpCi0jZGVmaW5lIFdURl9DUFVfWDg2IDEKLSNlbmRp
ZgotCi0vKiBDUFUoWDg2XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8K
LSNpZiAgIGRlZmluZWQoX194ODZfNjRfXykgXAotICAgIHx8IGRlZmluZWQoX01fWDY0KQotI2Rl
ZmluZSBXVEZfQ1BVX1g4Nl82NCAxCi0jZW5kaWYKLQotLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2
ZXJzaW9uKi8KLSNpZiAgIGRlZmluZWQoYXJtKSBcCi0gICAgfHwgZGVmaW5lZChfX2FybV9fKSBc
Ci0gICAgfHwgZGVmaW5lZChBUk0pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1fKQotI2RlZmluZSBX
VEZfQ1BVX0FSTSAxCi0KLSNpZiBkZWZpbmVkKF9fQVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1Qp
ICYmIGRlZmluZWQoX19CSUdfRU5ESUFOKSkKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
LQotI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19FQUJJ
X18pIFwKLSAgICAmJiAhZGVmaW5lZChfX1ZGUF9GUF9fKSBcCi0gICAgJiYgIWRlZmluZWQoX1dJ
TjMyX1dDRSkgXAotICAgICYmICFkZWZpbmVkKEFORFJPSUQpCi0jZGVmaW5lIFdURl9DUFVfTUlE
RExFX0VORElBTiAxCi0KLSNlbmRpZgotCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChO
KSAoQ1BVKEFSTSkgJiYgV1RGX0FSTV9BUkNIX1ZFUlNJT04gPj0gTikKLQotLyogU2V0IFdURl9B
Uk1fQVJDSF9WRVJTSU9OICovCi0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1W
NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfQVJNVjRJXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZF
UlNJT04gNAotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQotI2Rl
ZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81
RV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzVURUpfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotLypB
Uk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KLSNkZWZp
bmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0KLSNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF82X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAot
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKLSNk
ZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
N0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKQotI2RlZmluZSBXVEZfQVJN
X0FSQ0hfVkVSU0lPTiA3Ci0KLS8qIFJWQ1Qgc2V0cyBfVEFSR0VUX0FSQ0hfQVJNICovCi0jZWxp
ZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiBfX1RBUkdFVF9BUkNIX0FSTQotCi0jaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCi0g
ICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJH
RVRfQVJDSF81VEVKKQotLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWdu
ZWQgbWVtb3J5Ki8KLSNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdF
UiAxCi0jZW5kaWYKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gMAotCi0j
ZW5kaWYKLQotLyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQo
X19BUk1fQVJDSF80VF9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDEKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OIDIKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04g
MwotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83
TV9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDQKLQotLyogUlZDVCBzZXRzIF9f
VEFSR0VUX0FSQ0hfVEhVTUIgKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikK
LSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX1RIVU1CCi0KLSNl
bHNlCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMAotI2VuZGlmCi0KLQotLyogQ1BV
KEFSTVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLwot
LyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4g
Ci0gICBBbmQgdGhlcmUgYXJlIHNvbWUgb3RoZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxp
ZXIuICovCi0jaWYgIWRlZmluZWQoQVJNVjVfT1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRf
TEVBU1QoNikKLSNkZWZpbmUgV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAxCi0jZW5kaWYKLQotCi0v
KiBDUFUoQVJNX1RSQURJVElPTkFMKSAtIFRodW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRy
YWRpdGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRlcikgKi8KLS8qIENQVShBUk1fVEhVTUIyKSAtIFRo
dW1iMiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZhaWxhYmxlICovCi0vKiBPbmx5IG9uZSBvZiB0aGVz
ZSB3aWxsIGJlIGRlZmluZWQuICovCi0jaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikKLSMgIGlmIGRlZmluZWQodGh1bWIy
KSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwKLSAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwg
ZGVmaW5lZChfX3RodW1iX18pKSAmJiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCi0jICAg
IGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAwCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FS
TV9USFVNQjIgMQotIyAgZWxpZiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNCkKLSMgICAgZGVmaW5l
IFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDEKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1C
MiAwCi0jICBlbHNlCi0jICAgIGVycm9yICJOb3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUi
Ci0jICBlbmRpZgotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIp
IC8qIFNhbml0eSBDaGVjayAqLwotIyAgZXJyb3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BV
X0FSTV9UUkFESVRJT05BTCBhbmQgV1RGX0NQVV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKLSNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQ
VV9BUk1fVEhVTUIyKSAqLwotCi0jaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVk
KFdURl9DUFVfQVJNX05FT04pCi0jZGVmaW5lIFdURl9DUFVfQVJNX05FT04gMQotI2VuZGlmCi0K
LSNlbmRpZiAvKiBBUk0gKi8KLQotI2lmIENQVShBUk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0
KSB8fCBDUFUoU1BBUkMpCi0jZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQot
I2VuZGlmCi0KLS8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25s
eSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZp
cnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLwotCi0vKiBP
UyhBTkRST0lEKSAtIEFuZHJvaWQgKi8KLSNpZmRlZiBBTkRST0lECi0jZGVmaW5lIFdURl9PU19B
TkRST0lEIDEKLSNlbmRpZgotCi0vKiBPUyhBSVgpIC0gQUlYICovCi0jaWZkZWYgX0FJWAotI2Rl
ZmluZSBXVEZfT1NfQUlYIDEKLSNlbmRpZgotCi0vKiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1i
YXNlZCBPUywgaW5jbHVkaW5nIE1hYyBPUyBYIGFuZCBpUGhvbmUgT1MgKi8KLSNpZmRlZiBfX0FQ
UExFX18KLSNkZWZpbmUgV1RGX09TX0RBUldJTiAxCi0KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHku
aD4KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KLSNpbmNsdWRlIDxUYXJnZXRDb25k
aXRpb25hbHMuaD4KLSNlbmRpZgotCi0vKiBPUyhJT1MpIC0gaU9TICovCi0vKiBPUyhNQUNfT1Nf
WCkgLSBNYWMgT1MgWCAobm90IGluY2x1ZGluZyBpT1MpICovCi0jaWYgT1MoREFSV0lOKSAmJiAo
KGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIFwKLSAg
ICB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAg
ICAgICAgICAgICAgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAm
JiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikpCi0jZGVmaW5lIFdURl9PU19JT1MgMQotI2VsaWYg
T1MoREFSV0lOKSAmJiBkZWZpbmVkKFRBUkdFVF9PU19NQUMpICYmIFRBUkdFVF9PU19NQUMKLSNk
ZWZpbmUgV1RGX09TX01BQ19PU19YIDEKLS8qIEZJWE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRB
UkdFVElORy4uLiBtYWNyb3Mgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAq
LwotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBCVUlMRElOR19P
Tl9MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNwotI2RlZmlu
ZSBCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVS
U0lPTl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVS
U0lPTl8xMF84Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xJT04gMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCi0j
ZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIFRBUkdFVElOR19T
Tk9XX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2Rl
ZmluZSBUQVJHRVRJTkdfTElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBPUyhGUkVFQlNEKSAt
IEZyZWVCU0QgKi8KLSNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29u
Rmx5X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotI2RlZmluZSBXVEZfT1NfRlJF
RUJTRCAxCi0jZW5kaWYKLQotLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLwotI2lmZGVmIF9fR05V
X18KLSNkZWZpbmUgV1RGX09TX0hVUkQgMQotI2VuZGlmCi0KLS8qIE9TKExJTlVYKSAtIExpbnV4
ICovCi0jaWZkZWYgX19saW51eF9fCi0jZGVmaW5lIFdURl9PU19MSU5VWCAxCi0jZW5kaWYKLQot
LyogT1MoTkVUQlNEKSAtIE5ldEJTRCAqLwotI2lmIGRlZmluZWQoX19OZXRCU0RfXykKLSNkZWZp
bmUgV1RGX09TX05FVEJTRCAxCi0jZW5kaWYKLQotLyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICov
Ci0jaWZkZWYgX19PcGVuQlNEX18KLSNkZWZpbmUgV1RGX09TX09QRU5CU0QgMQotI2VuZGlmCi0K
LS8qIE9TKFFOWCkgLSBRTlggKi8KLSNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCi0jZGVmaW5lIFdU
Rl9PU19RTlggMQotI2VuZGlmCi0KLS8qIE9TKFNPTEFSSVMpIC0gU29sYXJpcyAqLwotI2lmIGRl
ZmluZWQoc3VuKSB8fCBkZWZpbmVkKF9fc3VuKQotI2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCi0j
ZW5kaWYKLQotLyogT1MoV0lOQ0UpIC0gV2luZG93cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBs
YXRmb3JtIE9TKFdJTkRPV1MpIGlzIGFsc28gZGVmaW5lZCAqLwotI2lmIGRlZmluZWQoX1dJTjMy
X1dDRSkKLSNkZWZpbmUgV1RGX09TX1dJTkNFIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5ET1dTKSAt
IEFueSB2ZXJzaW9uIG9mIFdpbmRvd3MgKi8KLSNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVk
KF9XSU4zMikKLSNkZWZpbmUgV1RGX09TX1dJTkRPV1MgMQotI2VuZGlmCi0KLSNkZWZpbmUgV1RG
X09TX1dJTiBFUlJPUiAiVVNFIFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgotI2RlZmluZSBXVEZf
T1NfTUFDIEVSUk9SICJVU0UgTUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgotCi0vKiBPUyhVTklY
KSAtIEFueSBVbml4LWxpa2Ugc3lzdGVtICovCi0jaWYgICBPUyhBSVgpICAgICAgICAgICAgICBc
Ci0gICAgfHwgT1MoQU5EUk9JRCkgICAgICAgICAgXAotICAgIHx8IE9TKERBUldJTikgICAgICAg
ICAgIFwKLSAgICB8fCBPUyhGUkVFQlNEKSAgICAgICAgICBcCi0gICAgfHwgT1MoSFVSRCkgICAg
ICAgICAgICAgXAotICAgIHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKLSAgICB8fCBPUyhORVRC
U0QpICAgICAgICAgICBcCi0gICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAotICAgIHx8IE9T
KFFOWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhTT0xBUklTKSAgICAgICAgICBcCi0gICAg
fHwgZGVmaW5lZCh1bml4KSAgICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4KSAgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fdW5peF9fKQotI2RlZmluZSBXVEZfT1NfVU5JWCAxCi0jZW5kaWYK
LQotLyogT3BlcmF0aW5nIGVudmlyb25tZW50cyAqLwotCi0vKiBGSVhNRTogdGhlc2UgYXJlIGFs
bCBtaXhlcyBvZiBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4g
Ki8KLS8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotLyogUExBVEZPUk0oUVQpICovCi0vKiBQTEFU
Rk9STShXWCkgKi8KLS8qIFBMQVRGT1JNKEdUSykgKi8KLS8qIFBMQVRGT1JNKEJMQUNLQkVSUlkp
ICovCi0vKiBQTEFURk9STShNQUMpICovCi0vKiBQTEFURk9STShXSU4pICovCi0jaWYgZGVmaW5l
ZChCVUlMRElOR19DSFJPTUlVTV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19XWF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0JMQUNLQkVSUllfXykKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0JMQUNLQkVSUlkgMQotI2VsaWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfUExBVEZPUk1f
TUFDIDEKLSNlbGlmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9XSU4gMQotI2Vu
ZGlmCi0KLS8qIFBMQVRGT1JNKElPUykgKi8KLS8qIEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1
c2VkIGFzIGFuIE9TIHN3aXRjaCBhbmQgc29tZXRpbWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdz
ICovCi0jaWYgKGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURE
RUQpIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQotI2VuZGlmCi0KLS8qIFBMQVRGT1JNKElPU19TSU1V
TEFUT1IpICovCi0jaWYgZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VU
X0lQSE9ORV9TSU1VTEFUT1IKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9JT1NfU0lNVUxBVE9SIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9QTEFURk9STV9J
T1NfU0lNVUxBVE9SIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAwCi0jZW5kaWYKLQotLyogR3JhcGhpY3MgZW5naW5l
cyAqLwotCi0vKiBVU0UoQ0cpIGFuZCBQTEFURk9STShDSSkgKi8KLSNpZiBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkK
LSNkZWZpbmUgV1RGX1VTRV9DQSAxCi0jZW5kaWYKLQotLyogVVNFKFNLSUEpIGZvciBXaW4vTGlu
dXgvTWFjL0FuZHJvaWQgKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiBPUyhEQVJXSU4p
Ci0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9BVFNV
SSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVH
IDEKLSNlbGlmIE9TKEFORFJPSUQpCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZGVmaW5lIFdU
Rl9VU0VfR0xFUzJfUkVOREVSSU5HIDAKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0j
ZGVmaW5lIFdURl9VU0VfQ0hST01JVU1fTkVUIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUg
VVNFX1NZU1RFTV9NQUxMT0MgMQotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5
MzcgMQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEsp
Ci0jZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQotI2VuZGlmCi0KLQotI2lmIE9TKFdJTkNFKQotI2lu
Y2x1ZGUgPGNlX3RpbWUuaD4KLSNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3
IDEKLSNlbmRpZgotCi0vKiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIg
YnkgZGVmYXVsdCAqLwotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9VU0VfUVVFUllfUEVS
Rk9STUFOQ0VfQ09VTlRFUiAgMQotI2VuZGlmCi0KLSNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JN
KFFUKQotI2RlZmluZSBOT01JTk1BWCAgICAgICAvKiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZs
aWN0IHdpdGggc3RhbmRhcmQgbWFjcm9zICovCi0jZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNo
bHdhcGkuaCBub3QgYXZhaWxhYmxlIG9uIFdpbkNlICovCi0KLS8qIE1TRE4gZG9jdW1lbnRhdGlv
biBzYXlzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQg
d2UgY2Fubm90IGZpbmQgdGhpcyBmaWxlLiAqLwotI2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBk
aXNhYmxlICJ1c3AxMC5oIiAqLwotCi0jZGVmaW5lIF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUg
ImFzc2VydC5oIiAqLwotI2RlZmluZSBhc3NlcnQoeCkKLQotI2VuZGlmICAvKiBPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKFFUKSAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0jaWZuZGVmIFdURl9VU0Vf
SUNVX1VOSUNPREUKLSNkZWZpbmUgV1RGX1VTRV9RVDRfVU5JQ09ERSAxCi0jZW5kaWYKLSNlbGlm
IE9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX1dJTkNFX1VOSUNPREUgMQotI2VsaWYgUExBVEZP
Uk0oR1RLKQotLyogVGhlIEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLwot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9JQ1VfVU5JQ09ERSAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiBDUFUoWDg2XzY0KQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1Mg
MQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMg
MQotI2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJTkcgMQotI2RlZmluZSBXVEZfVVNFX1NDUk9M
TEJBUl9QQUlOVEVSIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkK
LSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEK
LSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAx
Ci0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEK
LSNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJIDEKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQotI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKLSNpZiBkZWZpbmVkKEVO
QUJMRV9WSURFTykKLSNkZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKLSNlbmRpZgotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgSEFWRV9MQVlF
Ul9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIgMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKSAqLwotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9T
KERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMg
MQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLQotI2RlZmluZSBXVEZfVVNFX1dLX1ND
Uk9MTEJBUl9QQUlOVEVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBE
T05UX0ZJTkFMSVpFX09OX01BSU5fVEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oUVQp
ICYmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIEhBVkVfRElTUEFU
Q0hfSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBM
QVRGT1JNKFFUKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAotI2RlZmlu
ZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMgMAotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9O
IDEKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAwCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNU
T1IgMQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAotI2RlZmluZSBFTkFCTEVfTkVUU0NB
UEVfUExVR0lOX0FQSSAwCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMQotI2Rl
ZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDEKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCi0jZGVm
aW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNkZWZp
bmUgSEFWRV9SVU5MT09QX1RJTUVSIDAKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdU
Rl9VU0VfQ0ZORVRXT1JLIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0KLSNpZiBQTEFU
Rk9STShJT1NfU0lNVUxBVE9SKQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVU
RVIgMQotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAwCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVQgMAotI2Vsc2UKLSAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKLSAg
ICAjZGVmaW5lIEVOQUJMRV9KSVQgMQotICAgICNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKLSAgICAj
ZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQotI2RlZmluZSBX
VEZfVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKLQotI2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQot
I2RlZmluZSBXVEZfVVNFX0NGVVJMU1RPUkFHRVNFU1NJT05TIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRG
T1JNKFFUKQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZP
Uk0oV0lOX0NBSVJPKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdYKQotI2lmICFDUFUoUFBDKQotI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLSNkZWZp
bmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAw
Ci0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKEdUSykKLSNpZiBIQVZFKFBUSFJFQURfSCkKLSNkZWZpbmUgV1RGX1VT
RV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0jZWxp
ZiBQTEFURk9STShRVCkgJiYgT1MoVU5JWCkKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0j
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZF
X0FDQ0VTU0lCSUxJVFkpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZp
bmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKLSNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVf
QUNDRVNTSUJJTElUWSkgKi8KLQotI2lmIE9TKFVOSVgpCi0jZGVmaW5lIEhBVkVfU0lHTkFMX0gg
MQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1ZBU1BSSU5URikKLSNpZiAhQ09NUElMRVIo
TVNWQykgJiYgIUNPTVBJTEVSKFJWQ1QpICYmICFDT01QSUxFUihNSU5HVykgJiYgIShDT01QSUxF
UihHQ0MpICYmIE9TKFFOWCkpCi0jZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKLSNlbmRpZgotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1NUUk5TVFIpCi0jaWYgT1MoREFSV0lOKSB8fCAoT1Mo
RlJFRUJTRCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKLSNkZWZpbmUgSEFWRV9TVFJOU1RSIDEK
LSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKLSAg
ICAmJiAhT1MoUlZDVCkgXAotICAgICYmICFPUyhBTkRST0lEKQotI2RlZmluZSBIQVZFX1RNX0dN
VE9GRiAxCi0jZGVmaW5lIEhBVkVfVE1fWk9ORSAxCi0jZGVmaW5lIEhBVkVfVElNRUdNIDEKLSNl
bmRpZgotCi0jaWYgT1MoREFSV0lOKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5l
IEhBVkVfTEFOR0lORk9fSCAxCi0jZGVmaW5lIEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfTUVS
R0VTT1JUIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQot
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNk
ZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCi0K
LSNpZm5kZWYgVEFSR0VUSU5HX0xFT1BBUkQKLQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQot
I2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCi0KLSNpZiAhUExBVEZPUk0oSU9T
KQotI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVF
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhB
VkVfUFRIUkVBRF9TRVROQU1FX05QIDEKLSNlbmRpZgotCi0jZWxpZiBPUyhXSU5ET1dTKQotCi0j
aWYgT1MoV0lOQ0UpCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAwCi0jZWxzZQotI2RlZmluZSBIQVZF
X1NZU19USU1FQl9IIDEKLSNkZWZpbmUgSEFWRV9BTElHTkVEX01BTExPQyAxCi0jZGVmaW5lIEhB
VkVfSVNERUJVR0dFUlBSRVNFTlQgMQotI2VuZGlmCi0jZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9D
IDEKLQotI2VsaWYgT1MoUU5YKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhB
VkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9N
QURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
I2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2VsaWYgT1MoQU5EUk9JRCkKLQotI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMAotI2RlZmluZSBIQVZF
X05NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0j
ZWxzZQotCi0vKiBGSVhNRTogaXMgdGhpcyBhY3R1YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRm
b3JtcyBnZW5lcmF0ZSB0aGVpciBvd24gY29uZmlnLmg/ICovCi0KLSNkZWZpbmUgSEFWRV9FUlJO
T19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNk
ZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZF
X1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotI2VuZGlmCi0KLS8q
IEVOQUJMRSBtYWNybyBkZWZhdWx0cyAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0vKiBXZSBtdXN0
IG5vdCBjdXN0b21pemUgdGhlIGdsb2JhbCBvcGVyYXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhl
IFF0IHBvcnQuICovCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAotI2lm
ICFPUyhVTklYKQotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZW5kaWYKLSNlbmRpZgot
Ci0vKiBmYXN0TWFsbG9jIG1hdGNoIHZhbGlkYXRpb24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlm
aWNhdGlvbiB0aGF0Ci0gICBuZXcgaXMgbWF0Y2hlZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMg
bWF0Y2hlZCBieSBmYXN0RnJlZSwgZXRjLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01B
TExPQ19NQVRDSF9WQUxJREFUSU9OKQotI2RlZmluZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hf
VkFMSURBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0Up
Ci0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfU1FMX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfU1FMX0RBVEFCQVNFIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpCi0jZGVmaW5lIEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0ZUUERJUikKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9DT05URVhUX01FTlVTKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EUkFHX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9EUkFHX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQ
RUNUT1IpCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQotI2RlZmluZSBF
TkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQ
RV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
UFVSR0VBQkxFX01FTU9SWSkKLSNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMAotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MpCi0jZGVmaW5l
IFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9PUklFTlRBVElPTl9FVkVOVFMpCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT1BDT0RFX1NUQVRTKQotI2RlZmlu
ZSBFTkFCTEVfT1BDT0RFX1NUQVRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dM
T0JBTF9GQVNUTUFMTE9DX05FVykKLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAxCi0jZW5kaWYKLQotI2RlZmluZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKLSNk
ZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5H
X0ZMQUdTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1JFR0lPTlMgMAotI2RlZmluZSBFTkFC
TEVfT1BDT0RFX1NBTVBMSU5HIDAKLSNkZWZpbmUgRU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAw
Ci0jaWYgRU5BQkxFKENPREVCTE9DS19TQU1QTElORykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJ
TkcpCi0jZXJyb3IgIkNPREVCTE9DS19TQU1QTElORyByZXF1aXJlcyBPUENPREVfU0FNUExJTkci
Ci0jZW5kaWYKLSNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdf
RkxBR1MpIHx8IEVOQUJMRShTQU1QTElOR19SRUdJT05TKQotI2RlZmluZSBFTkFCTEVfU0FNUExJ
TkdfVEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQot
I2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfVklFV1BPUlQpCi0jZGVmaW5lIEVOQUJMRV9WSUVXUE9SVCAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKQotI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9O
UyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FS
RVQgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKLSNkZWZpbmUg
RU5BQkxFX1RFWFRfQ0FSRVQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xP
Q0sgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmlu
ZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpCi0jaWYgKENQVShYODZfNjQpICYmIChPUyhVTklYKSB8
fCBPUyhXSU5ET1dTKSkpIFwKLSAgICB8fCAoQ1BVKElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwK
LSAgICB8fCBDUFUoQUxQSEEpIFwKLSAgICB8fCBDUFUoU1BBUkM2NCkgXAotICAgIHx8IENQVShT
MzkwWCkgXAotICAgIHx8IENQVShQUEM2NCkKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFMzJfNjQgMQotI2VuZGlmCi0jZW5kaWYgLyog
IWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMy
XzY0KSAqLwotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORykKLSNkZWZp
bmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAwCi0jZW5kaWYKLQotLyogRGlzYWJsZSB0aGUg
SklUIG9uIHZlcnNpb25zIG9mIEdDQyBwcmlvciB0byA0LjEgKi8KLSNpZiAhZGVmaW5lZChFTkFC
TEVfSklUKSAmJiBDT01QSUxFUihHQ0MpICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAw
KQotI2RlZmluZSBFTkFCTEVfSklUIDAKLSNlbmRpZgotCi0vKiBKSVQgaXMgbm90IGltcGxlbWVu
dGVkIGZvciBXaW5kb3dzIDY0LWJpdCAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9T
KFdJTkRPV1MpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0K
LS8qIFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJN
ICYgTUlQUyBwbGF0Zm9ybXMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAotICAgICYm
IChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKLSAg
ICAmJiAoT1MoREFSV0lOKSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFT
VCg0LCAxLCAwKSkgXAotICAgICYmICFPUyhXSU5DRSkgXAotICAgICYmICFPUyhRTlgpCi0jZGVm
aW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3
aGVyZSB3ZSBoYXZlIGEgSklULCB3ZSB3YW50IHRvIGFsc28gaGF2ZSB0aGUgCi0gICBsb3ctbGV2
ZWwgaW50ZXJwcmV0ZXIuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUo
SklUKSAmJiAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVfTExJTlQgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKLS8qIEVu
YWJsZSB0aGUgREZHIEpJVCBvbiBYODYgYW5kIFg4Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBh
bmQgR05VL0xpbnV4LiAqLwotI2lmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRG
T1JNKE1BQykgfHwgT1MoTElOVVgpKQotI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCi0jZW5kaWYK
LS8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8K
LSNpZiBDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfREZH
X0pJVCAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBQcm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVl
cyB1c2VkIGJ5IEpJVCBjb2RlLiBERkdfSklUIGRlcGVuZHMgb24gaXQsIGJ1dCB5b3UKLSAgIGNh
biBlbmFibGUgaXQgbWFudWFsbHkgd2l0aCBERkcgdHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1
c2UgaXQgYXMgYSBzdGFuZGFsb25lCi0gICBwcm9maWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJv
YmFibHkgd2FudCB0byBhbHNvIGVuYWJsZSBWRVJCT1NFX1ZBTFVFX1BST0ZJTEUKLSAgIGJlbG93
LiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9WQUxVRV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19K
SVQpCi0jZGVmaW5lIEVOQUJMRV9WQUxVRV9QUk9GSUxFUiAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxF
UikKLSNkZWZpbmUgRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9T
SU1QTEVfSEVBUF9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIENvdW50cyB1c2VzIG9mIHdyaXRl
IGJhcnJpZXJzIHVzaW5nIHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KLSAgIHNl
dCBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgdG8gMS4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BS
T0ZJTElORyAwCi0jZW5kaWYKLQotLyogRW5zdXJlIHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhl
IGludGVycHJldGVyIGhhcyBiZWVuIGVuYWJsZWQuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NM
QVNTSUNfSU5URVJQUkVURVIpICYmICFFTkFCTEUoSklUKQotI2RlZmluZSBFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLSNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFT
U0lDX0lOVEVSUFJFVEVSKSkKLSNlcnJvciBZb3UgaGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBl
eGVjdXRpb24gbW9kZWwgZW5hYmxlZCB0byBidWlsZCBKU0MKLSNlbmRpZgotCi0jaWYgQ1BVKFNI
NCkgJiYgUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIENv
bmZpZ3VyZSB0aGUgSklUICovCi0jaWYgQ1BVKEFSTSkKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklU
X1VTRV9TT0ZUX01PRFVMTykgJiYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDUpCi0jZGVmaW5lIEVO
QUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoTUlQUykKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VT
RV9TT0ZUX01PRFVMTykKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0jZGVmaW5lIEpT
Q19IT1NUX0NBTEwgX19mYXN0Y2FsbAotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQot
I2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCi0jZWxzZQot
I2RlZmluZSBKU0NfSE9TVF9DQUxMCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBpbnRlcnBy
ZXRlciAqLwotI2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAw
LCAwLCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKLSNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RP
IDEKLSNlbmRpZgotI2lmIEhBVkUoQ09NUFVURURfR09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5U
RVJQUkVURVIpCi0jZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVU
RVIgMQotI2VuZGlmCi0KLS8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEg
dG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLwotI2Rl
ZmluZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAotCi0vKiBZZXQgQW5vdGhlciBSZWdleCBSdW50
aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLwotI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAotCi0jZWxpZiBF
TkFCTEUoSklUKSAmJiAhZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAxCi0KLS8qIFNldHRpbmcgdGhpcyBmbGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdp
dGggaW50ZXJwcmV0ZXIgcmVzdWx0cy4gKi8KLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVH
IDAKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQotI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKLSNlbmRpZgotCi0vKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0
byB1c2U7IHdlIG9ubHkgbmVlZCBhbiBleGVjdXRhYmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1i
bGVyIGlzIGNvbXBpbGVkIGluLgotICAgT24geDg2LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBt
bWFwLCBvbiBvdGhlciBwbGF0Zm9ybXMgd2UgbW1hcCBvbiBkZW1hbmQuICovCi0jaWYgRU5BQkxF
KEFTU0VNQkxFUikKLSNpZiBDUFUoWDg2XzY0KSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVO
QUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhFRCAxCi0jZWxzZQotI2RlZmluZSBFTkFCTEVf
RVhFQ1VUQUJMRV9BTExPQ0FUT1JfREVNQU5EIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfUEFOX1NDUk9MTElORykgJiYgT1MoV0lORE9XUykKLSNkZWZpbmUgRU5BQkxF
X1BBTl9TQ1JPTExJTkcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1ND
Uk9MTElORykKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElW
RSAwCi0jZW5kaWYKLQotLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9u
IGZvciBYTUxEb2N1bWVudFBhcnNlciAqLwotLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50
YXRpb24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KLSNpZiBQTEFURk9STShRVCkKLSNpZiAhVVNFKExJ
QlhNTDIpCi0jZGVmaW5lIFdURl9VU0VfUVhNTFNUUkVBTSAxCi0jZGVmaW5lIFdURl9VU0VfUVhN
TFFVRVJZIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0vKiBDb21wbGV4
IHRleHQgZnJhbWV3b3JrICovCi0jaWZuZGVmIEJVSUxESU5HX09OX0xFT1BBUkQKLSNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAwCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNlbHNlCi0jZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAwCi0jZW5kaWYK
LSNlbmRpZgotCi0vKiBBY2NlbGVyYXRlZCBjb21wb3NpdGluZyAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYg
IU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oRUZMKQotI2Rl
ZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0vKiBDb21w
b3NpdGluZyBvbiB0aGUgVUktcHJvY2VzcyBpbiBXZWJLaXQyICovCi0jaWYgUExBVEZPUk0oUVQp
Ci0jZGVmaW5lIFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9S
TShJT1MpCi0jZGVmaW5lIFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEK
LSNlbmRpZgotCi0jaWYgIUVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpICYmICgoT1MoVU5JWCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShXWCkpKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpKQotI2RlZmluZSBF
TkFCTEVfUExVR0lOX1BBQ0tBR0VfU0lNUExFX0hBU0ggMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZp
bmUgRU5BQkxFX1RIUkVBREVEX1NDUk9MTElORyAxCi0jZW5kaWYKLQotLyogU2V0IHVwIGEgZGVm
aW5lIGZvciBhIGNvbW1vbiBlcnJvciB0aGF0IGlzIGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQg
ZXJyb3IgLS0gdGh1cyB0aGUgc3BhY2UgYWZ0ZXIgRXJyb3IuICovCi0jZGVmaW5lIFdURl9QTEFU
Rk9STV9DRk5FVFdPUksgRXJyb3IgVVNFX21hY3JvX3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRX
T1JLCi0KLS8qIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxs
IHBsYXRmb3JtcyBhbmQgZ2V0IHJpZCBvZiB0aGUgZGVmaW5lLiAqLwotI2lmIFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKFFUKQotI2Rl
ZmluZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQotI2RlZmlu
ZSBXVEZfVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCi0jZW5kaWYKLQotLyogR2Vv
bG9jYXRpb24gcmVxdWVzdCBwb2xpY3kuIHByZS1lbXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJl
IHVzZXIgcGVybWlzc2lvbiBiZWZvcmUgYWNxdWlyaW5nIGxvY2F0aW9uLiAqLwotI2RlZmluZSBX
VEZfVVNFX1BSRUVNUFRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTiAxCi0KLSNpZiBDUFUoQVJNX1RI
VU1CMikKLSNkZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9I
KQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKLSNlbGlmICFkZWZpbmVk
KEVOQUJMRV9USFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCi0jZGVmaW5lIEVO
QUJMRV9USFJFQURJTkdfT1BFTk1QIDEKLSNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklD
KQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQotI2VuZGlmCi0KLSNpZiBFTkFC
TEUoR0xJQl9TVVBQT1JUKQotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgotI2Vu
ZGlmCi0KLS8qIEZJWE1FOiBUaGlzIGRlZmluZSB3b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEg
aXMgZnVsbHkgbGFuZGVkLiBIb3dldmVyLCAKLSAgIHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1
cHBvcnQgc3ViLXByb2plY3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRlcnMKLSAgIHRv
IFdURiBjYXVzZXMgbWFueSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBh
ZGRyZXNzIHRoZSBidWlsZAotICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KLSNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkKLSNkZWZpbmUg
V1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01B
Q1JPUyAwCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQotI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlO
X1NPQ0tFVFMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dB
UCkgJiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQot
I2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQotI2VuZGlmCi0KLSNpZm5kZWYgTkRFQlVHCi0j
aWZuZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9OCi0jZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9O
IDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNk
ZWZpbmUgV1RGX1VTRV9BVkZPVU5EQVRJT04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgV1RG
X1VTRV9DT1JFTUVESUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYm
ICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tC
RVJSWSkKLSNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZp
bmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgSEFWRV9JTlZF
UlRFRF9XSEVFTF9FVkVOVFMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5l
IFdURl9VU0VfQ09SRUFVRElPIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0j
aWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAxCi0jZW5kaWYKLSNl
bmRpZiAvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgp
Ci0jZGVmaW5lIFdURl9VU0VfVjggMAotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICov
Ci0KLS8qIFVzaW5nIFY4IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLwot
I2RlZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VTRV9WOAotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19P
TkxZIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCi0jZGVmaW5lIFdU
Rl9VU0VfV1RGVVJMIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfWkxJQiAxCi0jZW5kaWYKLQotI2VuZGlmIC8q
IFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1MGU3NzAuLjk4MzFjN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAg
ICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0Q29yZSB0byBTb3VyY2UvV1RG
L3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHBhdGNoIGlzIHRvIHRlc3Qgd2hhdCBidWlsZHMgYnJlYWsgYW5kIGhvdy4KKyAgICAgICAgTWFj
OiBzaG91bGQgYnVpbGQKKyAgICAgICAgV2luOiBjYW4ndCBiZSBmaXhlZCB1bnRpbCBidWcgODA2
ODAgbGFuZHMuCisgICAgICAgIEd0azogbWlnaHQgYnVpbGQKKyAgICAgICAgUXQ6IG1pZ2h0IGJ1
aWxkLCBsaWtlbHkgbmVlZHMgaGVscCBmcm9tIFF0IGZvbGtzLgorCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAgICAgICAgKiBXVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaC4KKwogMjAxMi0wMy0xOSAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFNldCB0aGUgc3ZuOmln
bm9yZSBwcm9wZXJ0eSBvbiB0aGUgWGNvZGUgcHJvamVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpp
bmRleCBhNTI2ZjRhLi5jOWY3NjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xLDMgKzEs
NCBAQAogd3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5jcHAgXAotCVNvdXJjZS9X
VEYvU3R1Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9Tb3VyY2UvV1RGL1dURi5n
eXBpCmluZGV4IGFlZDE3NjIuLjcxYzY3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5
cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAgJ3By
b2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZfcHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsK
ICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAgICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAg
ICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5k
ZXggYjExN2IwZC4uMDEwZGUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBi
L1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtMTAyLDcgKzEwMiw3IEBAIEhFQURFUlMgKz0gXAogICAg
IFBhc3NPd25QdHIuaCBcCiAgICAgUGFzc1JlZlB0ci5oIFwKICAgICBQYXNzVHJhaXRzLmggXAot
ICAgIFBsYXRmb3JtLmggXAorICAgIC4uLy4uL1dURi93dGYvUGxhdGZvcm0uaCBcCiAgICAgUG9z
c2libHlOdWxsLmggXAogICAgIHF0L1V0aWxzUXQuaCBcCiAgICAgUmFuZG9tTnVtYmVyLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmY4YmRjNi4uOGJk
ZTEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05LDYg
KzksNyBAQAogLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAkJNUQyNDdCNzkxNDY4
OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovOyB9
OwogCQk1RDI0N0I3QTE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8q
IFN0dWIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQlBODc2REJE
ODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9y
bS5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwpAQCAtMjAsNiArMjEsNyBAQAogCQk1RDI0N0I3NzE0
Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTdHViLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdCNzgx
NDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3R1Yi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDI0N0VCMTE0NjhCMDE1
MDBFNzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEhlYWRlckRldGVjdGlvbi5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV1RGL0hlYWRl
ckRldGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlBODc2
REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVu
ZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNjcsMTAgKzY5LDE5IEBACiAJCQkJNUQyNDdFQjExNDY4
QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oICovLAogCQkJCTVEMjQ3Qjc3MTQ2ODlE
ODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLywKIAkJCQk1RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYg
LyogU3R1Yi5oICovLAorCQkJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJ
CQkpOwogCQkJbmFtZSA9IFNvdXJjZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQ
bGF0Zm9ybS5oICovLAorCQkJKTsKKwkJCXBhdGggPSB3dGY7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJY
SGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNzgsOCArODksOCBAQAogCQkJaXNhID0g
UEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owog
CQkJZmlsZXMgPSAoCi0JCQkJNUQyNDdFQjIxNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0
dWIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4NzZEQkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0
Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNDMsNyArMTU0LDcgQEAKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4v
c2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9
PSBcIk5PXCIgXV07IHRoZW5cbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JV
SUxEX0RJUiUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBS
SVZBVEVfSEVBREVSU19QQVRIPVwiJHtEU1RST09UJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERF
Ul9QQVRIfVwiXG5maTtcblxubWtkaXIgLXAgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5y
c3luYyAtYXYgLS1uby1vd25lciAtLW5vLWdyb3VwIC0tcHJ1bmUtZW1wdHktZGlycyAtLWV4Y2x1
ZGUgXCIuc3ZuXCIgLS1leGNsdWRlIFwidXNyXCIgLS1leGNsdWRlIFwiRGVyaXZlZFNvdXJjZXNc
IiAtLWluY2x1ZGUgXCIqL1wiIC0taW5jbHVkZSBcIiouaFwiIC0tZXhjbHVkZSBcIipcIiBcIiR7
U1JDUk9PVH0vXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOworCQkJc2hlbGxTY3Jp
cHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVu
XG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklW
QVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFU
SD1cIiR7RFNUUk9PVCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5c
bm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3du
ZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhj
bHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9c
IiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L3d0Zi9cIiBc
IiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbiI7CiAJCX07CiAJCTVEMjQ3RTlEMTQ2OEFFRTIw
MEU3OEI3NiAvKiBEZXRlY3QgQXZhaWxhYmxlIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL2NvbmZpZy5oIGIv
U291cmNlL1dURi9jb25maWcuaAppbmRleCAwYWIzMzI2Li5jZDg2MjUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XVEYvY29uZmlnLmgKQEAgLTMxLDcgKzMx
LDcgQEAKICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CiAvLyBXVEYgY2Fubm90IGRlcGVu
ZCBvbiBKU0MgZXZlbiBpZiBVU0UoSlNDKS4KICNpZiBVU0UoSlNDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19XVEYpCi0jaW5jbHVkZSAiSlNFeHBvcnRNYWNyb3MuaCIKKyNpbmNsdWRlICJydW50aW1l
L0pTRXhwb3J0TWFjcm9zLmgiCiAjZW5kaWYKIAogI2lmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODM0YjUzCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMCwwICsxLDEyMTAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJ
bmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfUGxhdGZvcm1faAor
I2RlZmluZSBXVEZfUGxhdGZvcm1faAorCisvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1h
Y3JvcyAqLworI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorCisvKiA9PT09IFBMQVRGT1JNIGhh
bmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKKyAgIENQ
VS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRh
cHRhdGlvbgorICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVs
IHBvcnQgZGVmaW5pdGlvbnMuID09PT0gKi8KKyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUp
IChkZWZpbmVkIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNX
VEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVz
ZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8K
KworLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUgQ1BV
KFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVf
IyNXVEZfRkVBVFVSRSkKKy8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVh
ZGVycywgZnVuY3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCisj
ZGVmaW5lIEhBVkUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYg
SEFWRV8jI1dURl9GRUFUVVJFKQorLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3Rl
bTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAK
KyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNkZWZp
bmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZf
T1NfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRo
ZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8K
KworLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0
aW9uYWwgT1Mgc2VydmljZSAqLworI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdU
Rl9VU0VfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQorLyogRU5BQkxF
KCkgLSB0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZpbmUgRU5B
QkxFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxF
XyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hp
dGVjdHVyZSA9PT09ICovCisKKy8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBv
ciBDUFUoTUlERExFX0VORElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCisKKy8q
IENQVShBTFBIQSkgLSBERUMgQWxwaGEgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyNkZWZp
bmUgV1RGX0NQVV9BTFBIQSAxCisjZW5kaWYKKworLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElB
LTY0ICovCisjaWYgZGVmaW5lZChfX2lhNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKKy8q
IDMyLWJpdCBtb2RlIG9uIEl0YW5pdW0gKi8KKyNpZiAhZGVmaW5lZChfX0xQNjRfXykKKyNkZWZp
bmUgV1RGX0NQVV9JQTY0XzMyIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIENQVShNSVBTKSAtIE1J
UFMgMzItYml0ICovCisvKiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFi
bGUgaXQgZm9yIE8zMiBBQkkgZm9yIG5vdy4gICovCisjaWYgKGRlZmluZWQobWlwcykgfHwgZGVm
aW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKKyAg
ICAmJiBkZWZpbmVkKF9BQklPMzIpCisjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaWYgZGVmaW5l
ZChfX01JUFNFQl9fKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisjZGVm
aW5lIFdURl9NSVBTX1BJQyAoZGVmaW5lZCBfX1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19BUkNI
IF9fbWlwcworI2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAm
JiBXVEZfTUlQU19BUkNIID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAo
ZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUgV1RG
X01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2
KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQor
I2RlZmluZSBXVEZfTUlQU19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQg
JiYgIWRlZmluZWQgX19taXBzX3NpbmdsZV9mbG9hdCkKKyNkZWZpbmUgV1RGX01JUFNfRlA2NCAo
ZGVmaW5lZCBfX21pcHNfZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCisvKiBNSVBTIHJlcXVpcmVz
IGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCisjZGVmaW5lIFdURl9VU0VfQVJF
TkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmIC8qIE1JUFMgKi8KKworLyogQ1BV
KFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAor
ICAgIHx8IGRlZmluZWQoX19QUENfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19f
KSBcCisgICAgfHwgZGVmaW5lZChfX3Bvd2VycGMpICAgXAorICAgIHx8IGRlZmluZWQoX19QT1dF
UlBDX18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCisgICAgfHwgZGVmaW5lZChf
X1BQQykKKyNkZWZpbmUgV1RGX0NQVV9QUEMgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQorI2VuZGlmCisKKy8qIENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLworI2lmICAgZGVm
aW5lZChfX3BwYzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZpbmUgV1RG
X0NQVV9QUEM2NCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyog
Q1BVKFNINCkgLSBTdXBlckggU0gtNCAqLworI2lmIGRlZmluZWQoX19TSDRfXykKKyNkZWZpbmUg
V1RGX0NQVV9TSDQgMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAq
LworI2lmIGRlZmluZWQoX19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5l
ZChfX3NwYXJjdjgpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCisjZGVmaW5lIFdURl9DUFVf
QklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICov
CisjaWYgZGVmaW5lZChfX3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5l
ZCAoX19zcGFyY3Y5KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQorI2RlZmluZSBXVEZfQ1BV
X0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUg
Zm9yIENQVShTUEFSQzMyKSBhbmQgQ1BVKFNQQVJDNjQpICovCisjaWYgQ1BVKFNQQVJDMzIpIHx8
IENQVShTUEFSQzY0KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKKyNlbmRpZgorCisvKiBDUFUo
UzM5MFgpIC0gUzM5MCA2NC1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MHhfXykKKyNkZWZpbmUg
V1RGX0NQVV9TMzkwWCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKwor
LyogQ1BVKFMzOTApIC0gUzM5MCAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MF9fKQorI2Rl
ZmluZSBXVEZfQ1BVX1MzOTAgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlm
CisKKy8qIENQVShYODYpIC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19p
Mzg2X18pIFwKKyAgICB8fCBkZWZpbmVkKGkzODYpICAgICBcCisgICAgfHwgZGVmaW5lZChfTV9J
WDg2KSAgXAorICAgIHx8IGRlZmluZWQoX1g4Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fVEhX
X0lOVEVMKQorI2RlZmluZSBXVEZfQ1BVX1g4NiAxCisjZW5kaWYKKworLyogQ1BVKFg4Nl82NCkg
LSBBTUQ2NCAvIEludGVsNjQgLyB4ODZfNjQgNjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9feDg2
XzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9YODZfNjQg
MQorI2VuZGlmCisKKy8qIENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCisjaWYgICBkZWZp
bmVkKGFybSkgXAorICAgIHx8IGRlZmluZWQoX19hcm1fXykgXAorICAgIHx8IGRlZmluZWQoQVJN
KSBcCisgICAgfHwgZGVmaW5lZChfQVJNXykKKyNkZWZpbmUgV1RGX0NQVV9BUk0gMQorCisjaWYg
ZGVmaW5lZChfX0FSTUVCX18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VO
RElBTikpCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisKKyNlbGlmICFkZWZpbmVkKF9f
QVJNX0VBQklfXykgXAorICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCisgICAgJiYgIWRlZmlu
ZWQoX19WRlBfRlBfXykgXAorICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAgICAmJiAh
ZGVmaW5lZChBTkRST0lEKQorI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQorCisjZW5k
aWYKKworI2RlZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9B
Uk1fQVJDSF9WRVJTSU9OID49IE4pCisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLwor
I2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF80VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAorICAgIHx8IGRlZmlu
ZWQoX0FSTVY0SV8pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKKworI2VsaWYgZGVm
aW5lZChfX0FSTV9BUkNIXzVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBc
CisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjVfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZF
UlNJT04gNQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF81VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18p
CisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxv
Y2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxM
T0NfQUxJR05NRU5UX0lOVEVHRVIgMQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBc
CisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZU
Ml9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9W
RVJTSU9OIDYKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfN1JfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNworCisv
KiBSVkNUIHNldHMgX1RBUkdFVF9BUkNIX0FSTSAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9B
UkNIX0FSTSkKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0K
KworI2lmIGRlZmluZWQoX19UQVJHRVRfQVJDSF81RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJH
RVRfQVJDSF81VEUpIFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKy8qQVJN
djVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5l
IFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKyNlbHNl
CisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDAKKworI2VuZGlmCisKKy8qIFNldCBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKKyNk
ZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVm
aW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAy
CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82
TV9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdSX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKKyNkZWZpbmUgV1RGX1RI
VU1CX0FSQ0hfVkVSU0lPTiA0CisKKy8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICov
CisjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVNQl9B
UkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZfVEhV
TUJfQVJDSF9WRVJTSU9OIDAKKyNlbmRpZgorCisKKy8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBB
Uk0gaW5zdHJ1Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFuZCBiZWxv
dyB0aGUgbmF0dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAorICAgQW5kIHRoZXJlIGFyZSBz
b21lIG90aGVyIGRpZmZlcmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLworI2lmICFkZWZpbmVk
KEFSTVY1X09SX0xPV0VSKSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCisjZGVmaW5lIFdU
Rl9DUFVfQVJNVjVfT1JfTE9XRVIgMQorI2VuZGlmCisKKworLyogQ1BVKEFSTV9UUkFESVRJT05B
TCkgLSBUaHVtYjIgaXMgbm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9y
IGdyZWF0ZXIpICovCisvKiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0
IGlzIGF2YWlsYWJsZSAqLworLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAq
LworI2lmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZf
Q1BVX0FSTV9USFVNQjIpCisjICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1i
Ml9fKSBcCisgICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkg
JiYgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1f
VFJBRElUSU9OQUwgMAorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMgIGVsaWYg
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJ
T05BTCAxCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAorIyAgZWxzZQorIyAgICBl
cnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNlbGlmIENQ
VShBUk1fVFJBRElUSU9OQUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8K
KyMgIGVycm9yICJDYW5ub3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5k
IFdURl9DUFVfQVJNX1RIVU1CMiBwbGF0Zm9ybXMiCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQ
VV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KKwor
I2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQor
I2RlZmluZSBXVEZfQ1BVX0FSTV9ORU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJNICovCisK
KyNpZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQorI2Rl
ZmluZSBXVEZfQ1BVX05FRURTX0FMSUdORURfQUNDRVNTIDEKKyNlbmRpZgorCisvKiA9PT09IE9T
KCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFu
ZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRv
IGNob29zZSBhIEdVSSB0b29sa2l0ID09PT0gKi8KKworLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lk
ICovCisjaWZkZWYgQU5EUk9JRAorI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5kaWYKKwor
LyogT1MoQUlYKSAtIEFJWCAqLworI2lmZGVmIF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJWCAxCisj
ZW5kaWYKKworLyogT1MoREFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBN
YWMgT1MgWCBhbmQgaVBob25lIE9TICovCisjaWZkZWYgX19BUFBMRV9fCisjZGVmaW5lIFdURl9P
U19EQVJXSU4gMQorCisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZhaWxh
YmlsaXR5TWFjcm9zLmg+CisjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjZW5kaWYK
KworLyogT1MoSU9TKSAtIGlPUyAqLworLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBp
bmNsdWRpbmcgaU9TKSAqLworI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19F
TUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VU
X09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKKyAgICB8
fCAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1V
TEFUT1IpKQorI2RlZmluZSBXVEZfT1NfSU9TIDEKKyNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5l
ZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDCisjZGVmaW5lIFdURl9PU19NQUNfT1Nf
WCAxCisvKiBGSVhNRTogQlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNo
b3VsZCBiZSBmb2xkZWQgaW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNf
T1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCisjZWxpZiAh
ZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJTkdfT05fU05PV19M
RU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBC
VUlMRElOR19PTl9MSU9OIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05f
MTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzYKKyNkZWZpbmUgVEFSR0VUSU5HX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19P
U19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5HX0xJT04g
MQorI2VuZGlmCisjZW5kaWYKKworLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYgZGVm
aW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9f
RnJlZUJTRF9rZXJuZWxfXykKKyNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisKKy8q
IE9TKEhVUkQpIC0gR05VL0h1cmQgKi8KKyNpZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdURl9PU19I
VVJEIDEKKyNlbmRpZgorCisvKiBPUyhMSU5VWCkgLSBMaW51eCAqLworI2lmZGVmIF9fbGludXhf
XworI2RlZmluZSBXVEZfT1NfTElOVVggMQorI2VuZGlmCisKKy8qIE9TKE5FVEJTRCkgLSBOZXRC
U0QgKi8KKyNpZiBkZWZpbmVkKF9fTmV0QlNEX18pCisjZGVmaW5lIFdURl9PU19ORVRCU0QgMQor
I2VuZGlmCisKKy8qIE9TKE9QRU5CU0QpIC0gT3BlbkJTRCAqLworI2lmZGVmIF9fT3BlbkJTRF9f
CisjZGVmaW5lIFdURl9PU19PUEVOQlNEIDEKKyNlbmRpZgorCisvKiBPUyhRTlgpIC0gUU5YICov
CisjaWYgZGVmaW5lZChfX1FOWE5UT19fKQorI2RlZmluZSBXVEZfT1NfUU5YIDEKKyNlbmRpZgor
CisvKiBPUyhTT0xBUklTKSAtIFNvbGFyaXMgKi8KKyNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5l
ZChfX3N1bikKKyNkZWZpbmUgV1RGX09TX1NPTEFSSVMgMQorI2VuZGlmCisKKy8qIE9TKFdJTkNF
KSAtIFdpbmRvd3MgQ0U7IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBp
cyBhbHNvIGRlZmluZWQgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5lIFdURl9P
U19XSU5DRSAxCisjZW5kaWYKKworLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5k
b3dzICovCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5lIFdU
Rl9PU19XSU5ET1dTIDEKKyNlbmRpZgorCisjZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBX
SU5ET1dTIFdJVEggT1MgTk9UIFdJTiIKKyNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1B
Q19PU19YIFdJVEggT1MgTk9UIE1BQyIKKworLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5
c3RlbSAqLworI2lmICAgT1MoQUlYKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKEFORFJPSUQp
ICAgICAgICAgIFwKKyAgICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCisgICAgfHwgT1MoRlJF
RUJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKKyAgICB8fCBP
UyhMSU5VWCkgICAgICAgICAgICBcCisgICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAorICAg
IHx8IE9TKE9QRU5CU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBc
CisgICAgfHwgT1MoU09MQVJJUykgICAgICAgICAgXAorICAgIHx8IGRlZmluZWQodW5peCkgICAg
ICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3Vu
aXhfXykKKyNkZWZpbmUgV1RGX09TX1VOSVggMQorI2VuZGlmCisKKy8qIE9wZXJhdGluZyBlbnZp
cm9ubWVudHMgKi8KKworLyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJh
dGluZyBlbnZpcm9ubWVudCBhbmQgcG9saWN5IGNob2ljZXMuICovCisvKiBQTEFURk9STShDSFJP
TUlVTSkgKi8KKy8qIFBMQVRGT1JNKFFUKSAqLworLyogUExBVEZPUk0oV1gpICovCisvKiBQTEFU
Rk9STShHVEspICovCisvKiBQTEFURk9STShCTEFDS0JFUlJZKSAqLworLyogUExBVEZPUk0oTUFD
KSAqLworLyogUExBVEZPUk0oV0lOKSAqLworI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1f
XykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0NIUk9NSVVNIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJ
TkdfUVRfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1FUIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJ
TkdfV1hfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dYIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJ
TkdfR1RLX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9HVEsgMQorI2VsaWYgZGVmaW5lZChCVUlM
RElOR19CTEFDS0JFUlJZX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKKyNl
bGlmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCisjZWxpZiBPUyhXSU5E
T1dTKQorI2RlZmluZSBXVEZfUExBVEZPUk1fV0lOIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJ
T1MpICovCisvKiBGSVhNRTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2gg
YW5kIHNvbWV0aW1lcyBmb3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLworI2lmIChkZWZpbmVkKFRB
UkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJH
RVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
SU9TIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLworI2lmIGRlZmlu
ZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCisj
ZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVM
QVRPUiAxCisjZWxzZQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpCisjZGVmaW5lIFdURl9QTEFURk9S
TV9JT1MgMAorI2VuZGlmCisKKy8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KKworLyogVVNFKENHKSBh
bmQgUExBVEZPUk0oQ0kpICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisj
ZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IChQTEFURk9STShXSU4pICYmIFVTRShDRykpCisjZGVmaW5lIFdURl9VU0VfQ0Eg
MQorI2VuZGlmCisKKy8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCisj
aWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgT1MoREFSV0lOKQorI2lmIFVTRShTS0lBX09OX01B
Q19DSFJPTUlVTSkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbHNlCisjZGVmaW5lIFdURl9V
U0VfQ0cgMQorI2VuZGlmCisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBXVEZfVVNF
X0NPUkVfVEVYVCAxCisjZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCisjZWxpZiBPUyhBTkRST0lE
KQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklO
RyAwCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0NIUk9N
SVVNX05FVCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNk
ZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEK
KyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUgV1RGX1VT
RV9TS0lBIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBXVEZfVVNFX0NB
SVJPIDEKKyNlbmRpZgorCisKKyNpZiBPUyhXSU5DRSkKKyNpbmNsdWRlIDxjZV90aW1lLmg+Cisj
ZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCisjZW5kaWYKKworLyogT24g
V2luZG93cywgdXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNpZiBP
UyhXSU5ET1dTKQorI2RlZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEK
KyNlbmRpZgorCisjaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgTk9NSU5N
QVggICAgICAgLyogV2luZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1h
Y3JvcyAqLworI2RlZmluZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJs
ZSBvbiBXaW5DZSAqLworCisvKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlv
bnMgYXJlIHByb3ZpZGVkIHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMg
ZmlsZS4gKi8KKyNkZWZpbmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8K
KworI2RlZmluZSBfSU5DX0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KKyNkZWZp
bmUgYXNzZXJ0KHgpCisKKyNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8K
KworI2lmIFBMQVRGT1JNKFFUKQorI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVmaW5l
IFdURl9VU0VfUVQ0X1VOSUNPREUgMQorI2VuZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNkZWZpbmUg
V1RGX1VTRV9XSU5DRV9VTklDT0RFIDEKKyNlbGlmIFBMQVRGT1JNKEdUSykKKy8qIFRoZSBHVEsr
IFVuaWNvZGUgYmFja2VuZCBpcyBjb25maWd1cmFibGUgKi8KKyNlbHNlCisjZGVmaW5lIFdURl9V
U0VfSUNVX1VOSUNPREUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9S
TShJT1MpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkK
KyNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorI2lmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKKyNkZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JV
QkJFUl9CQU5ESU5HIDEKKyNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5k
aWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZB
X0JSSURHRSAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
CisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCisjZW5kaWYKKyNkZWZpbmUgV1RG
X1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJF
QURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9P
UF9USU1FUiAxCisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZGVmaW5lIEVOQUJM
RV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BVURJTyAxCisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCisjZGVmaW5l
IEVOQUJMRV9WSURFT19UUkFDSyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9M
RU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1df
U0VSVkVSIDEKKyNlbmRpZgorI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElP
UykgKi8KKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdU
Rl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhS
RUFEX1JXTE9DSyAxCisKKyNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlO
X1RIUkVBRCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCisjZGVm
aW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2VuZGlmCisKKyNp
ZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUg
RU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisj
ZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9S
VCAwCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNkZWZpbmUgRU5BQkxF
X0ZUUERJUiAxCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCisjZGVmaW5lIEVOQUJMRV9J
Q09OREFUQUJBU0UgMAorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUgRU5BQkxF
X0pBVkFfQlJJREdFIDAKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAorI2Rl
ZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JFUEFJTlRf
VEhST1RUTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEhBVkVf
TkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0sgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldM
T0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1F
UiAwCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCisj
ZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikK
KyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyAgICAjZGVmaW5lIEVO
QUJMRV9KSVQgMAorICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKyNlbHNlCisgICAgI2Rl
ZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAwCisgICAgI2RlZmluZSBFTkFCTEVfSklU
IDEKKyAgICAjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVQgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0Up
CisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlV
TSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQor
I2VuZGlmCisKKyNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KElPUykKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VTRV9DRlVS
TFNUT1JBR0VTRVNTSU9OUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5B
QkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lO
Q0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBM
QVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShXWCkKKyNpZiAhQ1BVKFBQQykKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAx
CisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFT
VE1BTExPQ19ORVcgMAorI2RlZmluZSBFTkFCTEVfTExJTlQgMAorI2lmIE9TKERBUldJTikKKyNk
ZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUg
RU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEsp
CisjaWYgSEFWRShQVEhSRUFEX0gpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmlu
ZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRpZgorI2VsaWYgUExBVEZPUk0oUVQpICYmIE9T
KFVOSVgpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURf
UldMT0NLIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQorI2lm
IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElU
WSAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCisK
KyNpZiBPUyhVTklYKQorI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoSEFWRV9WQVNQUklOVEYpCisjaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihS
VkNUKSAmJiAhQ09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQor
I2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
SEFWRV9TVFJOU1RSKQorI2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVk
KF9fR0xJQkNfXykpCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgIU9TKFdJTkRPV1MpICYmICFPUyhTT0xBUklTKSBcCisgICAgJiYgIU9TKFJWQ1QpIFwKKyAg
ICAmJiAhT1MoQU5EUk9JRCkKKyNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorI2RlZmluZSBIQVZF
X1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJ
TikKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQor
I2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCisjZGVmaW5lIEhB
VkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVC
X0ggMQorI2RlZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEUgMQorCisjaWZuZGVmIFRBUkdFVElOR19M
RU9QQVJECisKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9IT1NURURf
Q09SRV9BTklNQVRJT04gMQorCisjaWYgIVBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURW
X0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9TRVROQU1FX05QIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykK
KyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O
UCAxCisjZW5kaWYKKworI2VsaWYgT1MoV0lORE9XUykKKworI2lmIE9TKFdJTkNFKQorI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMAorI2Vsc2UKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisjZGVm
aW5lIEhBVkVfQUxJR05FRF9NQUxMT0MgMQorI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5U
IDEKKyNlbmRpZgorI2RlZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCisKKyNlbGlmIE9TKFFOWCkK
KworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBI
QVZFX01BRFZfRlJFRV9SRVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUg
SEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19Q
QVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhS
RUFEUyAxCisKKyNlbGlmIE9TKEFORFJPSUQpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNk
ZWZpbmUgSEFWRV9MQU5HSU5GT19IIDAKKyNkZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZpbmUgSEFW
RV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJB
TV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKworI2Vsc2UKKworLyogRklYTUU6IGlz
IHRoaXMgYWN0dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIg
b3duIGNvbmZpZy5oPyAqLworCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVf
TEFOR0lORk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbmRpZgorCisvKiBFTkFCTEUgbWFjcm8gZGVmYXVs
dHMgKi8KKworI2lmIFBMQVRGT1JNKFFUKQorLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBn
bG9iYWwgb3BlcmF0b3IgbmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLworI2RlZmlu
ZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNkZWZpbmUg
VVNFX1NZU1RFTV9NQUxMT0MgMQorI2VuZGlmCisjZW5kaWYKKworLyogZmFzdE1hbGxvYyBtYXRj
aCB2YWxpZGF0aW9uIGFsbG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAorICAgbmV3
IGlzIG1hdGNoZWQgYnkgZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUs
IGV0Yy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElP
TikKKyNkZWZpbmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVfSUNP
TkRBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkK
KyNkZWZpbmUgRU5BQkxFX1NRTF9EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKQorI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCisjZGVmaW5lIEVO
QUJMRV9GVFBESVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5V
UykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCisjZGVmaW5l
IEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
MAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQorI2RlZmluZSBFTkFC
TEVfSU5TUEVDVE9SIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdF
KQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJ
Tl9BUEkgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01F
VEFEQVRBX0NBQ0hFKQorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NB
Q0hFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCisj
ZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
V1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTKQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NU
X1BST0NFU1MgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZF
TlRTKQorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX09QQ09ERV9TVEFUUykKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFU
UyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcp
CisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQorI2VuZGlmCisKKyNkZWZp
bmUgRU5BQkxFX0RFQlVHX1dJVEhfQlJFQUtQT0lOVCAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElO
R19DT1VOVEVSUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCisjZGVmaW5lIEVO
QUJMRV9TQU1QTElOR19SRUdJT05TIDAKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAw
CisjZGVmaW5lIEVOQUJMRV9DT0RFQkxPQ0tfU0FNUExJTkcgMAorI2lmIEVOQUJMRShDT0RFQkxP
Q0tfU0FNUExJTkcpICYmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQorI2Vycm9yICJDT0RFQkxP
Q0tfU0FNUExJTkcgcmVxdWlyZXMgT1BDT0RFX1NBTVBMSU5HIgorI2VuZGlmCisjaWYgRU5BQkxF
KE9QQ09ERV9TQU1QTElORykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FN
UExJTkdfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xP
Q0FUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQorI2RlZmlu
ZSBFTkFCTEVfVklFV1BPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykKKyNkZWZpbmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQorI2RlZmluZSBF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUE9J
TlRFUl9MT0NLKQorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMy
XzY0KQorI2lmIChDUFUoWDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCisg
ICAgfHwgKENQVShJQTY0KSAmJiAhQ1BVKElBNjRfMzIpKSBcCisgICAgfHwgQ1BVKEFMUEhBKSBc
CisgICAgfHwgQ1BVKFNQQVJDNjQpIFwKKyAgICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8fCBDUFUo
UFBDNjQpCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFdURl9V
U0VfSlNWQUxVRTMyXzY0IDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNW
QUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KKworI2lmICFkZWZp
bmVkKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcpCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RI
Uk9UVExJTkcgMAorI2VuZGlmCisKKy8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBH
Q0MgcHJpb3IgdG8gNC4xICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIo
R0NDKSAmJiAhR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5BQkxFX0pJ
VCAwCisjZW5kaWYKKworLyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1i
aXQgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2
XzY0KQorI2RlZmluZSBFTkFCTEVfSklUIDAKKyNlbmRpZgorCisvKiBUaGUgSklUIGlzIGVuYWJs
ZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAq
LworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSBcCisgICAgJiYgKE9TKERBUldJTikgfHwg
IUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKKyAgICAm
JiAhT1MoV0lOQ0UpIFwKKyAgICAmJiAhT1MoUU5YKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNl
bmRpZgorCisvKiBPbiBzb21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwg
d2Ugd2FudCB0byBhbHNvIGhhdmUgdGhlIAorICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLwor
I2lmICFkZWZpbmVkKEVOQUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikg
JiYgIVBMQVRGT1JNKFFUKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1f
VEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RGR19KSVQpICYmIEVOQUJMRShKSVQpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24g
WDg2IGFuZCBYODZfNjQuICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KKyNp
ZiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVY
KSkKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERGRyBK
SVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MuICovCisjaWYgQ1BVKEFSTV9USFVNQjIp
ICYmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisjZW5k
aWYKKworLyogUHJvZmlsaW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4g
REZHX0pJVCBkZXBlbmRzIG9uIGl0LCBidXQgeW91CisgICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5
IHdpdGggREZHIHR1cm5lZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9u
ZQorICAgcHJvZmlsZXIuIEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBl
bmFibGUgVkVSQk9TRV9WQUxVRV9QUk9GSUxFCisgICBiZWxvdy4gKi8KKyNpZiAhZGVmaW5lZChF
TkFCTEVfVkFMVUVfUFJPRklMRVIpICYmIEVOQUJMRShERkdfSklUKQorI2RlZmluZSBFTkFCTEVf
VkFMVUVfUFJPRklMRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9W
QUxVRV9QUk9GSUxFKSAmJiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCisjZGVmaW5lIEVOQUJMRV9W
RVJCT1NFX1ZBTFVFX1BST0ZJTEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0lN
UExFX0hFQVBfUFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5H
IDAKKyNlbmRpZgorCisvKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1w
bGluZyBjb3VudGVycy4gQmUgc3VyZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NP
VU5URVJTIHRvIDEuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklM
SU5HKQorI2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlmCisK
Ky8qIEVuc3VyZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVl
biBlbmFibGVkLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAm
JiAhRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2Vu
ZGlmCisjaWYgIShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCisj
ZXJyb3IgWW91IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJs
ZWQgdG8gYnVpbGQgSlNDCisjZW5kaWYKKworI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQor
I2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIEpJVCAqLwor
I2lmIENQVShBUk0pCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYm
IFdURl9BUk1fQVJDSF9BVF9MRUFTVCg1KQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01P
RFVMTyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwg
Q1BVKE1JUFMpCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCisjZGVm
aW5lIEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBD
UFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNh
bGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykKKyNkZWZpbmUgSlNDX0hPU1RfQ0FM
TCBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1RfQ0FM
TAorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBDT01QSUxF
UihHQ0MpIHx8IChSVkNUX1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChf
X0dOVUNfXykpCisjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCisjZW5kaWYKKyNpZiBIQVZF
KENPTVBVVEVEX0dPVE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmluZSBF
TkFCTEVfQ09NUFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorCisvKiBS
ZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGlu
IGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JFR0VYUF9U
UkFDSU5HIDAKKworLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBk
ZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkK
KyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKworI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmlu
ZWQoRU5BQkxFX1lBUlJfSklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorCisvKiBTZXR0
aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3Vs
dHMuICovCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCisjZW5kaWYKKworI2lmIEVO
QUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAx
CisjZW5kaWYKKworLyogUGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQg
YW4gZXhlY3V0YWJsZSBhbGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4K
KyAgIE9uIHg4Ni02NCB3ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZv
cm1zIHdlIG1tYXAgb24gZGVtYW5kLiAqLworI2lmIEVOQUJMRShBU1NFTUJMRVIpCisjaWYgQ1BV
KFg4Nl82NCkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExP
Q0FUT1JfRklYRUQgMQorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9S
X0RFTUFORCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JP
TExJTkcpICYmIE9TKFdJTkRPV1MpCisjZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5lIEVO
QUJMRV9TTU9PVEhfU0NST0xMSU5HIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dF
Ql9BUkNISVZFKQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAorI2VuZGlmCisKKy8qIFVz
ZSB0aGUgUVhtbFN0cmVhbVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJz
ZXIgKi8KKy8qIFVzZSB0aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vz
c29yICovCisjaWYgUExBVEZPUk0oUVQpCisjaWYgIVVTRShMSUJYTUwyKQorI2RlZmluZSBXVEZf
VVNFX1FYTUxTVFJFQU0gMQorI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLwor
I2lmbmRlZiBCVUlMRElOR19PTl9MRU9QQVJECisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMAorI2Rl
ZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEK
KyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMAorI2VuZGlmCisjZW5kaWYKKworLyogQWNjZWxl
cmF0ZWQgY29tcG9zaXRpbmcgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVS
QVRFRF9DT01QT1NJVElORyAxCisjZW5kaWYKKworLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXBy
b2Nlc3MgaW4gV2ViS2l0MiAqLworI2lmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1VJ
X1NJREVfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZf
VVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCisjZW5kaWYKKworI2lmICFFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAm
JiAoKE9TKFVOSVgpICYmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpKSkKKyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdF
X1NJTVBMRV9IQVNIIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEVOQUJMRV9USFJFQURFRF9T
Q1JPTExJTkcgMQorI2VuZGlmCisKKy8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJy
b3IgdGhhdCBpcyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNw
YWNlIGFmdGVyIEVycm9yLiAqLworI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9y
IFVTRV9tYWNyb19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSworCisvKiBGSVhNRTogRXZl
bnR1YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCBy
aWQgb2YgdGhlIGRlZmluZS4gKi8KKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9QTEFURk9S
TV9TVFJBVEVHSUVTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKQorI2RlZmluZSBXVEZf
VVNFX0NST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShNQUMpICYmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklM
SVRZX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKy8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9s
aWN5LiBwcmUtZW1wdGl2ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVm
b3JlIGFjcXVpcmluZyBsb2NhdGlvbi4gKi8KKyNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xP
Q0FUSU9OX1BFUk1JU1NJT04gMQorCisjaWYgQ1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVOQUJM
RV9CUkFOQ0hfQ09NUEFDVElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9USFJF
QURJTkdfTElCRElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxFX1RI
UkVBRElOR19MSUJESVNQQVRDSCAxCisjZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09Q
RU5NUCkgJiYgZGVmaW5lZChfT1BFTk1QKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5N
UCAxCisjZWxpZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxFX1RI
UkVBRElOR19HRU5FUklDIDEKKyNlbmRpZgorCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNp
bmNsdWRlIDx3dGYvZ29iamVjdC9HVHlwZWRlZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTogVGhp
cyBkZWZpbmUgd29uJ3QgYmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93
ZXZlciwgCisgICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGlu
ZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFkZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9y
dHMgdG8gYnJlYWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKKyAg
IGJyZWFrYWdlcyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JP
UyAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisKKyNp
ZiAoUExBVEZPUk0oUVQpICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykg
JiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUg
RU5BQkxFX0NPTVBBUkVfQU5EX1NXQVAgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
UEFSQUxMRUxfR0MpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZP
Uk0oUVQpKSAmJiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BBUkFM
TEVMX0dDIDEKKyNlbmRpZgorCisjaWZuZGVmIE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0NfVkFM
SURBVElPTgorI2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZGT1VO
REFUSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVG
TCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJP
KSkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9V
U0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmICFkZWZpbmVkKFdURl9VU0Vf
VjgpCisjZGVmaW5lIFdURl9VU0VfVjggMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oQ0hS
T01JVU0pICovCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4
IDAKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4KSAqLworCisvKiBVc2luZyBWOCBpbXBs
aWVzIG5vdCB1c2luZyBKU0MgYW5kIHZpY2UgdmVyc2EgKi8KKyNkZWZpbmUgV1RGX1VTRV9KU0Mg
IVdURl9VU0VfVjgKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMp
CisjZGVmaW5lIEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSAxCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKFdURl9VU0VfV1RGVVJMKQorI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmlu
ZSBXVEZfVVNFX1pMSUIgMQorI2VuZGlmCisKKyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0N2RjMTM3Li5jODRjMzEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMSw1ICsxLDYgQEAKIFNFVChXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAg
ICAiJHtXRUJDT1JFX0RJUn0iCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9
L01vZHVsZXMvZmlsZXN5c3RlbSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9nZW9sb2Nh
dGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9pbmRleGVkZGIiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3Rz
LnR4dAppbmRleCA2MmY0YjMxLi5mMTNlYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTEsNCAr
MSw1IEBACiBTRVQoV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtXVEZfRElSfSIK
ICAgICAiJHtXRUJLSVRfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0iCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvd2ViZGF0YWJhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2ViZGF0YWJhc2VfcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNl
X3AuaAppbmRleCBlYzAzZWE1Li4yOTg0NzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2ViZGF0YWJhc2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRh
YmFzZV9wLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRlICJSZWZQdHIuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIAogY2xhc3MgUVdlYkRhdGFiYXNlUHJpdmF0ZSA6IHB1Ymxp
YyBRU2hhcmVkRGF0YSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2Ny
aXB0d29ybGRfcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaApp
bmRleCA3MTE1ZWIyLi44YzE4ZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2NyaXB0d29ybGRfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3
b3JsZF9wLmgKQEAgLTIwLDcgKzIwLDcgQEAKICNpZm5kZWYgX1FXRUJTQ1JJUFRXT1JMRF9QX0hf
CiAjZGVmaW5lIF9RV0VCU0NSSVBUV09STERfUF9IXwogCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RE9NV3JhcHBlcldvcmxkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNl
Y3VyaXR5b3JpZ2luX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdp
bl9wLmgKaW5kZXggY2RjOTNiZC4uMWI2NGM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2VjdXJpdHlvcmlnaW5fcC5oCkBAIC0yMSw3ICsyMSw3IEBACiAjZGVmaW5lIF9XRUJTRUNV
UklUWU9SSUdJTl9QX0hfCiAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUg
IlJlZlB0ci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogY2xhc3MgUVdlYlNlY3VyaXR5
T3JpZ2luUHJpdmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7CiBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmggYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXgg
Yzk0ZDYxYS4uNmM3ZDAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaApAQCAtMzIsMTAgKzMyLDEwIEBACiAKICNpbmNsdWRl
ICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmgiCi0jaW5jbHVkZSAiT3duUHRyLmgiCi0jaW5jbHVkZSAiUGFzc093blB0ci5oIgogI2lu
Y2x1ZGUgPFF0Q29yZS9RU3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIFFX
ZWJQYWdlOwogY2xhc3MgUVdlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaAppbmRleCBlYTExMWZhLi4yOTgwZDQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQ
b3B1cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dl
YlBvcHVwLmgKQEAgLTIwLDggKzIwLDggQEAKICNpZm5kZWYgUXRGYWxsYmFja1dlYlBvcHVwX2gK
ICNkZWZpbmUgUXRGYWxsYmFja1dlYlBvcHVwX2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAj
aW5jbHVkZSAicXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgiCisjaW5jbHVkZSA8d3RmL1BsYXRmb3Jt
Lmg+CiAKICNpbmNsdWRlIDxRQ29tYm9Cb3g+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKaW5kZXggYmNhMmU1Zi4uNDI2NDc1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKQEAgLTIx
LDcgKzIxLDcgQEAKICNpZm5kZWYgUXRXZWJDb21ib0JveF9oCiAjZGVmaW5lIFF0V2ViQ29tYm9C
b3hfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
IAogI2luY2x1ZGUgPFFDb21ib0JveD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9k
ZWNsYXJhdGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnByaSBiL1NvdXJjZS9XZWJLaXQv
cXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4cGVyaW1lbnRhbC5wcmkKaW5kZXggNTgzNzI2
Zi4uMTUzODZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBl
cmltZW50YWwvZXhwZXJpbWVudGFsLnByaQorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0
aXZlL2V4cGVyaW1lbnRhbC9leHBlcmltZW50YWwucHJpCkBAIC00Myw3ICs0Myw4IEBAIElOQ0xV
REVQQVRIICs9IFwKICAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZSBc
CiAgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCiAgICAgLi4vLi4vLi4v
Li4vV2ViS2l0Mi9QbGF0Zm9ybSBcCi0gICAgLi4vLi4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDCisgICAgLi4vLi4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKKyAgICAu
Li8uLi8uLi8uLi9XVEYKIAogdGFyZ2V0LnBhdGggPSAkJFtRVF9JTlNUQUxMX0lNUE9SVFNdLyQk
e1RBUkdFVC5tb2R1bGVfbmFtZX0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9kZWNs
YXJhdGl2ZS9wdWJsaWMucHJpIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMu
cHJpCmluZGV4IGUzODllMzguLmEyZjc3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
ZGVjbGFyYXRpdmUvcHVibGljLnByaQorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZl
L3B1YmxpYy5wcmkKQEAgLTQ0LDcgKzQ0LDggQEAgSU5DTFVERVBBVEggKz0gXAogICAgIC4uLy4u
Ly4uL1dlYktpdDIvU2hhcmVkL3F0IFwKICAgICAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCiAg
ICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCi0gICAgLi4vLi4vLi4vSmF2YVNj
cmlwdENvcmUvd3RmCisgICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmIFwKKyAgICAuLi8u
Li8uLi9XVEYKIAogU09VUkNFUyArPSBwbHVnaW4uY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZmaW5nL01JTUVTbmlmZmluZy5wcm8gYi9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL01JTUVTbmlmZmluZy9NSU1FU25pZmZpbmcucHJvCmluZGV4IGZlNTBmMWIu
LmM4NTZhNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZmaW5n
L01JTUVTbmlmZmluZy5wcm8KKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9NSU1FU25pZmZp
bmcvTUlNRVNuaWZmaW5nLnBybwpAQCAtMTAsNiArMTAsNyBAQCBIRUFERVJTICs9IFwKIElOQ0xV
REVQQVRIICs9IFwKICAgICAuLi8uLi8uLi8uLi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsgXAog
ICAgIC4uLy4uLy4uLy4uL0phdmFTY3JpcHRDb3JlIFwKLSAgICAuLi8uLi8uLi8uLi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lCisgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBc
CisgICAgLi4vLi4vLi4vLi4vV1RGCiAKIFJFU09VUkNFUyArPSByZXNvdXJjZXMucXJjCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKaW5kZXggZDE1NjVi
ZS4uNDU3ZDdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29y
a1JlcGx5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBs
eURhdGEuaApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWZuZGVmIFF0TmV0d29ya1JlcGx5RGF0YV9o
CiAjZGVmaW5lIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNp
bmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKaW5kZXggZjIxMDY2MC4uOGE4MGZiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEu
Y3BwCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNsdWRlICJRdE5ldHdvcmtSZXF1ZXN0RGF0YS5o
IgogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNRdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtLmgi
CiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtS
ZXBseT4KICNpbmNsdWRlIDxRTmV0d29ya1JlcXVlc3Q+CiAjaW5jbHVkZSA8UVV1aWQ+CisjaW5j
bHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0
L1F0TmV0d29ya1JlcXVlc3REYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3
b3JrUmVxdWVzdERhdGEuaAppbmRleCAwODJkNDk5Li45NDBiZjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaApAQCAtMjYsNyArMjYsNyBA
QAogI2lmbmRlZiBRdE5ldHdvcmtSZXF1ZXN0RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcXVl
c3REYXRhX2gKIAotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29y
ZUlQQyB7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50
eHQgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggM2MxZmVh
Yi4uY2FiZTRjZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlz
dHMudHh0CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAt
NDEsNiArNDEsNyBAQCBTRVQoRHVtcFJlbmRlclRyZWVfTElCUkFSSUVTCiApCiAKIFNFVChEdW1w
UmVuZGVyVHJlZV9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgJHtXVEZfRElSfQogICAgICIke1dF
QktJVF9ESVJ9L2VmbC9ld2siCiAgICAgJHtXRUJLSVRfRElSfS9lZmwKICAgICAke1dFQkNPUkVf
RElSfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUu
cHJvIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCmluZGV4IDU2
NjA0ZDUuLjU0YmNkYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlLnBybworKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZS5wcm8KQEAgLTE1LDcgKzE1LDggQEAgV0VCS0lUICs9IHd0ZiB3ZWJjb3JlCiAKIElOQ0xVREVQ
QVRIICs9IFwKICAgICAkJFBXRC8uLiBcCi0gICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0CisgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0IFwKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJj
ZS9XVEYKIAogUVQgPSBjb3JlIGd1aSBuZXR3b3JrIHRlc3RsaWIgd2Via2l0CiBtYWN4OiBRVCAr
PSB4bWwKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8g
Yi9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvCmluZGV4IDYyOGRjMWYuLjZk
OGE0MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8K
KysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybwpAQCAtOSw2ICs5LDcg
QEAgVEVNUExBVEUgPSBhcHAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJHtST09UX1dFQktJVF9E
SVJ9L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQgXAogICAgICQke1JPT1RfV0VCS0lU
X0RJUn0vVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvIFwKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9
L1NvdXJjZS9XVEYKIAogbG9hZChmZWF0dXJlcykKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132854</attachid>
            <date>2012-03-20 11:03:23 -0700</date>
            <delta_ts>2012-03-20 15:09:34 -0700</delta_ts>
            <desc>Attempt to fix Win-EWS</desc>
            <filename>bug-80911-20120320110321.patch</filename>
            <type>text/plain</type>
            <size>92094</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OWJkNWZhZjdjODU2ZWFjM2Q5MzE1MjM4MWE1NjViN2UwM2I3NmQ0Li42N2Q4MGYzZjNhYTIyMjRk
NThjMTc5NTJjNTgxOThkMWMxMjdhZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0y
MCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIERpdmlz
aW9uIG9wdGltaXphdGlvbnMgZmFpbCB0byBpbmZlciBjYXNlcyBvZiB0cnVuY2F0ZWQgZGl2aXNp
b24gYW5kIG1pc2hhbmRsZSAtMjE0NzQ4MzY0OC8tMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBjZmVkNTU1Yjc5NDFmMWM0Mjk4
NGRlZmEyOGY3Y2JkNDI2ZDlmOGI4Li4xNDA5MTI1M2JlN2UyMmFjZjJmMjczNGJlMGY3NWI5OTY5
ZDM0OWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTIwICBFcmljIFNlaWRlbCAgPGVy
aWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNj
cmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFr
IGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1aWxkCisgICAgICAgIFdpbjogY2FuJ3Qg
YmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgorICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxk
CisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xr
cy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV1RGLmd5cGk6
CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3Rm
L1BsYXRmb3JtLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmguCisKIDIwMTItMDMtMjAgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtDaHJvbWl1bV0gRml4IHRoZSBBbmRyb2lkIGJ1aWxkIGJ5IGJ1aWxkaW5n
IE5FV1dURiBmb3IgaG9zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQy
MDg2ODhlYWM5ZmIzYzgzY2FiYzhmYjk2NjY5M2JhYWY3ZGY2N2YuLmRiZTQyYzhlZWNhZTdiYjg1
ZWUwZmI3ZGYxZDVlMWJjMGM0NzY0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEsNSArMSw2IEBACiBTRVQoSmF2YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9IgorICAgICIke1dURl9ESVJ9IgogICAgICIke0pB
VkFTQ1JJUFRDT1JFX0RJUn0iCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9BUEkiCiAgICAg
IiR7SkFWQVNDUklQVENPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IGVlYWNlMTc2NDk4OWRiMTQ5MDI1ZjkzZDlk
ODU5OTZkNjhlZDZhYzkuLjRhOGVjZDQyZmViNDdiNThiYzBmNTk4NjEyZmUyOTI2YTY5NjFiYWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMTIsNiArMTIs
NyBAQCBKQVZBU0NSSVBUQ09SRV9HRU5FUkFURURfU09VUkNFU19ESVIgPSAkJHtST09UX0JVSUxE
X0RJUn0vU291cmNlL0phdmFTY3JpcHRDb3JlLwogSU5DTFVERVBBVEggKz0gXAogICAgICQkU09V
UkNFX0RJUiBcCiAgICAgJCRTT1VSQ0VfRElSLy4uIFwKKyAgICAkJFNPVVJDRV9ESVIvLi4vV1RG
IFwKICAgICAkJFNPVVJDRV9ESVIvYXNzZW1ibGVyIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNv
ZGUgXAogICAgICQkU09VUkNFX0RJUi9ieXRlY29tcGlsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oK
aW5kZXggM2JmNzgxN2YzMTg1MDhjYzI5NzExNTdmM2I0YTllZGM2NDYzYzc3ZC4uNzM4ZTQ5Mzk3
MTFhNTNiODJmNzY1OTJmZGQ3MGIyNDZmMjMzYWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBA
IC05OTcsNyArOTk3LDcgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlx3dGZcUGxhdGZvcm0uaCIKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cV1RG
XHd0ZlxQbGF0Zm9ybS5oIgogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEZDb21tb24u
dnNwcm9wcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RG
L1dURkNvbW1vbi52c3Byb3BzCmluZGV4IGVkNjgyMjE2YmNmYTkwZTUxNDQwZjgyMjFhMDQ4ZGVj
YmQzYWJjNzguLjVmODE1ZTg0Mjk1ZmZmOTY2NTY0MzYxNWYwNzc0OGMxODg4YzJiM2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dU
RkNvbW1vbi52c3Byb3BzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovV1RGL1dURkNvbW1vbi52c3Byb3BzCkBAIC03LDcgKzcsNyBAQAogCT4KIAk8VG9v
bAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPSImcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXEphdmFTY3JpcHRDb3JlXERl
cml2ZWRTb3VyY2VzXCZxdW90OzsuLi8uLi87JnF1b3Q7Li4vLi4vb3Mtd2luMzIvJnF1b3Q7Oy4u
Ly4uL3BhcnNlci87Li4vLi4vd3RmLzsuLi8uLi93dGYvdGhyZWFkczsuLi8uLi93dGYvdW5pY29k
ZS87JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsuLi8uLi8uLi9pY3UvaW5j
bHVkZTsuLi8uLi9iaW5kaW5nczsuLi8uLi9iaW5kaW5ncy9jOy4uLy4uL2JpbmRpbmdzL2puaTsm
cXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OyIKKwkJ
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialxKYXZhU2NyaXB0Q29yZVxEZXJpdmVkU291cmNlc1wmcXVvdDs7Li4vLi4vOyZxdW90
Oy4uLy4uL29zLXdpbjMyLyZxdW90OzsuLi8uLi8uLi9XVEYvOy4uLy4uL3BhcnNlci87Li4vLi4v
d3RmLzsuLi8uLi93dGYvdGhyZWFkczsuLi8uLi93dGYvdW5pY29kZS87JnF1b3Q7JChDb25maWd1
cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcaW5jbHVkZSZxdW90OzsuLi8uLi8uLi9pY3UvaW5jbHVkZTsuLi8uLi9iaW5kaW5n
czsuLi8uLi9iaW5kaW5ncy9jOy4uLy4uL2JpbmRpbmdzL2puaTsmcXVvdDskKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OyIKIAkJUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM9Il9fU1REX0MiCiAJCUZvcmNlZEluY2x1ZGVGaWxlcz0iSUNVVmVyc2lvbi5oIgogCQlQ
cm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iJChPdXREaXIpXCQoVGFyZ2V0TmFtZSkudmM4MC5wZGIi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiZjY1ZmZiZWIyZjQzOWIwZDA1OThm
ZjVlZGY4YzFjZDNiNWE4YTcuLjM0OGQ2Y2Q3ZjIxNzEyZjI4NDcwODRmZDljMzUxYmMxMmUxODA4
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAog
CQk2NUM2NDdCMzA5M0VGOEQ2MDAyMkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAv
KiBKU1dyYXBwZXJPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTV3JhcHBlck9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1
QzdBMTcyMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTY1REZDOTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhh
c2hGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owog
CQk2NURGQzkyQjA4RUExNzNBMDBGNzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBC
IC8qIEhhc2hTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSGFzaFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IH07CkBAIC0yMTQxLDcgKzIxNDAsNiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAv
KiBQYXNzT3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NS
ZWZQdHIuaCAqLywKIAkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5o
ICovLAotCQkJCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJ
CUE3RDY0OUE5MTAxNTIyNEUwMDlCMkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhG
QTVCOTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVC
QTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIw
ZjU4NWVhNjcyYjZhLi5hZGFiNzI4NmE3MDkzOWNlMjk3YjA1OTMyYjVkMThhODQ0YzZjY2UzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcg
QEAgU0VUKFdURl9IRUFERVJTCiAgICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxs
ZWxKb2JzTGliZGlzcGF0Y2guaAogICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZv
cm0uaAorICAgICR7V1RGX0RJUn0vd3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAog
ICAgIFJhbmRvbU51bWJlci5oCiAgICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5
ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1Bs
YXRmb3JtX2gKLQotLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNs
dWRlIDx3dGYvQ29tcGlsZXIuaD4KLQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVy
YXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8g
d2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1h
Y3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRp
b25zLiA9PT09ICovCi0jZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
UExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0K
LQotLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJv
cGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkg
KGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUp
Ci0vKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9u
cyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVB
VFVSRSkKLS8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUg
dXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1l
bW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRV
UkUpCi0KLQotLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9s
aWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0g
dXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZp
Y2UgKi8KLSNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZF
QVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBh
IHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVS
RSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJF
KQotCi0KLS8qID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAq
LwotCi0vKiBUaGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9F
TkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0g
REVDIEFscGhhICovCi0jaWYgZGVmaW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQ
SEEgMQotI2VuZGlmCi0KLS8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRl
ZmluZWQoX19pYTY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBv
biBJdGFuaXVtICovCi0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2
NF8zMiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwot
LyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIg
QUJJIGZvciBub3cuICAqLwotI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18p
IHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChf
QUJJTzMyKQotI2RlZmluZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykK
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19Q
SUMgKGRlZmluZWQgX19QSUNfXykKLSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZp
bmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJD
SCA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01J
UFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVW
IF9fbWlwc19pc2FfcmV2Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RG
X01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01J
UFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9f
bWlwc19zaW5nbGVfZmxvYXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBz
X2ZwciAmJiBfX21pcHNfZnByID09IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSAqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdO
TUVOVF9JTlRFR0VSIDEKLSNlbmRpZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQ
QyAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVk
KF9fUFBDX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRl
ZmluZWQoX19wb3dlcnBjKSAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5l
IFdURl9DUFVfUFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0v
KiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9f
KSBcCi0gICAgfHwgZGVmaW5lZChfX1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQot
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3Vw
ZXJIIFNILTQgKi8KLSNpZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVk
KF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQot
I2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQot
I2VuZGlmCi0KLS8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQo
X19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMz
MikgYW5kIENQVShTUEFSQzY0KSAqLwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAg
NjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFgg
MQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAt
IFMzOTAgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9T
MzkwIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2
KSAtIGkzODYgLyB4ODYgMzItYml0ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAg
fHwgZGVmaW5lZChpMzg2KSAgICAgXAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8
fCBkZWZpbmVkKF9YODZfKSAgICBcCi0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZp
bmUgV1RGX0NQVV9YODYgMQotI2VuZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRl
bDY0IC8geDg2XzY0IDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9YNjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0v
KiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRl
ZmluZWQoX0FSTV8pCi0jZGVmaW5lIFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1F
Ql9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwK
LSAgICAmJiAhZGVmaW5lZChfX0VBQklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18p
IFwKLSAgICAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9J
RCkKLSNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUg
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA+PSBOKQotCi0vKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQo
X19BUk1fQVJDSF80X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAg
IHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF81X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19NQVJNX0FSTVY1X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1WNl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdSX18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9U
QVJHRVRfQVJDSF9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVm
aW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfNUUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBc
Ci0gICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMg
YWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5B
X0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiAwCi0KLSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVKX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gNAotCi0vKiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5l
ZChfX1RBUkdFVF9BUkNIX1RIVU1CKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfVEhVTUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAwCi0jZW5kaWYKLQotCi0vKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9u
IHNldCB2NSBvciBlYXJsaWVyICovCi0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwg
YWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZm
ZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dF
UikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09S
X0xPV0VSIDEKLSNlbmRpZgotCi0KLS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlz
IG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwot
LyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUg
Ki8KLS8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5l
ZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIy
KQotIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8
ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9B
UkNIX1ZFUlNJT04gPT0gNCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAK
LSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9B
VF9MRUFTVCg0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBw
b3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElP
TkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fu
bm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9U
SFVNQjIgcGxhdGZvcm1zIgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElP
TkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9f
QVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQ
VV9BUk1fTkVPTiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkg
fHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9O
RUVEU19BTElHTkVEX0FDQ0VTUyAxCi0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWlu
ZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZl
bCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkg
dG9vbGtpdCA9PT09ICovCi0KLS8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFO
RFJPSUQKLSNkZWZpbmUgV1RGX09TX0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBB
SVggKi8KLSNpZmRlZiBfQUlYCi0jZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9T
KERBUldJTikgLSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQ
aG9uZSBPUyAqLwotI2lmZGVmIF9fQVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQot
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5o
PgotI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykg
LSBpT1MgKi8KLS8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykg
Ki8KLSNpZiBPUyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRB
UkdFVF9PU19FTUJFRERFRCkgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYm
IFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFS
R0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZp
bmUgV1RGX09TX0lPUyAxCi0jZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01B
QykgJiYgVEFSR0VUX09TX01BQwotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6
IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVk
IGludG8gdGhlIE9TKCkgc3lzdGVtICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8x
MF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8x
MF82Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09T
X1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElP
TiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5l
IFRBUkdFVElOR19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBf
NykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEw
XzcKLSNkZWZpbmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFD
X09TX1hfVkVSU0lPTl8xMF84Ci0jZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2Vu
ZGlmCi0KLS8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNE
X18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVs
X18pCi0jZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdO
VS9IdXJkICovCi0jaWZkZWYgX19HTlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYK
LQotLyogT1MoTElOVVgpIC0gTGludXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RG
X09TX0xJTlVYIDEKLSNlbmRpZgotCi0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVm
aW5lZChfX05ldEJTRF9fKQotI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBP
UyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZf
T1NfT1BFTkJTRCAxCi0jZW5kaWYKLQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQo
X19RTlhOVE9fXykKLSNkZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJ
UykgLSBTb2xhcmlzICovCi0jaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVm
aW5lIFdURl9PU19TT0xBUklTIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENF
OyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVk
ICovCi0jaWYgZGVmaW5lZChfV0lOMzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2Vu
ZGlmCi0KLS8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRl
ZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAx
Ci0jZW5kaWYKLQotI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9T
IE5PVCBXSU4iCi0jZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9T
IE5PVCBNQUMiCi0KLS8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAg
IE9TKEFJWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0g
ICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAg
IFwKLSAgICB8fCBPUyhIVVJEKSAgICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAg
ICAgICAgXAotICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNE
KSAgICAgICAgICBcCi0gICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNP
TEFSSVMpICAgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwg
ZGVmaW5lZChfX3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5l
IFdURl9PU19VTklYIDEKLSNlbmRpZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0K
LS8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1l
bnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQ
TEFURk9STShRVCkgKi8KLS8qIFBMQVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwot
LyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRG
T1JNKFdJTikgKi8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9DSFJPTUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJS
WV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX1dJTiAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklY
TUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMg
Zm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURE
RUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkg
JiYgVEFSR0VUX09TX0lQSE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYK
LQotLyogUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhP
TkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExB
VEZPUk1fSU9TIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfUExBVEZPUk1fSU9TKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRp
ZgotCi0vKiBHcmFwaGljcyBlbmdpbmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJ
KSAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNF
X0NHIDEKLSNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0v
KiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQotI2lmIE9TKERBUldJTikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0j
ZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRp
ZgotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQot
I2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RG
X1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9E
UkFHX1NVUFBPUlQgMAotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9V
U0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYK
LQotCi0jaWYgT1MoV0lOQ0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNF
X01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBR
dWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNk
ZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lm
IE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdp
bmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZp
bmUgTk9TSExXQVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8K
LQotLyogTVNETiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRl
ZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVm
aW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lO
Q19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQot
Ci0jZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9S
TShRVCkKLSNpZm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9V
TklDT0RFIDEKLSNlbmRpZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0Vf
VU5JQ09ERSAxCi0jZWxpZiBQTEFURk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tl
bmQgaXMgY29uZmlndXJhYmxlICovCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RF
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9V
U0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5l
IEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAx
Ci0jZGVmaW5lIFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2Vu
ZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQgMQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0j
ZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJf
QVVESU8gMQotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9f
VFJBQ0sgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9M
SU9OKQotI2RlZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5k
aWYKLSNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQ
TEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNk
ZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQot
Ci0jZGVmaW5lIFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShJT1MpCi0jZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NG
IDEKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAm
JiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVf
Q09OVEVYVF9NRU5VUyAwCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2Rl
ZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAK
LSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAw
Ci0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09S
SUVOVEFUSU9OX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQot
I2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRB
X0FSUkFZX0NBTExCQUNLIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5l
IEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBX
VEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKLQotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBF
TkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAg
ICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NM
QVNTSUNfSU5URVJQUkVURVIgMAotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMQotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgot
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZf
VVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9S
TShXSU5fQ0FJUk8pCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYg
VVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5l
IFdURl9VU0VfQ0ZVUkxDQUNIRSAxCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElW
RSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNk
ZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gp
Ci0jaWYgIUNQVShQUEMpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFC
TEVfSklUIDEKLSNlbmRpZgotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAK
LSNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0Vf
Q0YgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJD
SElWRSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRI
UkVBRF9IKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFE
X1JXTE9DSyAxCi0jZW5kaWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmlu
ZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1Mp
IHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0j
ZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkK
LSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFT
UFJJTlRGKQotI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJ
TEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9W
QVNQUklOVEYgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikK
LSNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQot
I2RlZmluZSBIQVZFX1NUUk5TVFIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dT
KSAmJiAhT1MoU09MQVJJUykgXAotICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJP
SUQpCi0jZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNk
ZWZpbmUgSEFWRV9USU1FR00gMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9N
TUFQIDEKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUg
V1RGX1VTRV9BQ0NFTEVSQVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVm
aW5lIEhBVkVfRElTUEFUQ0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9O
IDEKLQotI2lmICFQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEK
LSNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O
UCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVf
TUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0K
LSNlbGlmIE9TKFdJTkRPV1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19I
IDAKLSNlbHNlCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdO
RURfTUFMTE9DIDEKLSNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNk
ZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVf
UkVVU0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0j
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxp
ZiBPUyhBTkRST0lEKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFO
R0lORk9fSCAwCi0jZGVmaW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5l
IEhBVkVfU1lTX1RJTUVfSCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5
IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8g
Ki8KLQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQot
I2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19U
SU1FX0ggMQotCi0jZW5kaWYKLQotLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQ
TEFURk9STShRVCkKLS8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9y
IG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JB
TF9GQVNUTUFMTE9DX05FVyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFM
TE9DIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBh
bGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5
IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVO
QUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJM
RV9TUUxfREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikKLSNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVO
QUJMRV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5B
QkxFX0pBVkFfQlJJREdFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBF
X1BMVUdJTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkK
LSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVf
UFVSR0VBQkxFX01FTU9SWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lO
X0hPU1RfUFJPQ0VTUykKLSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUg
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9PUENPREVfU1RBVFMpCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFC
TEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJV
R19XSVRIX0JSRUFLUE9JTlQgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
UkVHSU9OUyAwCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFC
TEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAm
JiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJl
cXVpcmVzIE9QQ09ERV9TQU1QTElORyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJ
TkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMp
Ci0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQ
T1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVm
aW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQot
I2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9URVhUX0NBUkVUKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNk
ZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9V
U0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BV
KFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2
NCkgJiYgIUNQVShJQTY0XzMyKSkgXAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShT
UEFSQzY0KSBcCi0gICAgfHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmlu
ZSBXVEZfVVNFX0pTVkFMVUU2NCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82
NCAxCi0jZW5kaWYKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRl
ZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQ
QUlOVF9USFJPVFRMSU5HKQotI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNl
bmRpZgotCi0vKiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQu
MSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19W
RVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0K
LS8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUg
RU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQg
b24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShB
Uk0pIHx8IENQVShNSVBTKSkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0Mp
IHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBc
Ci0gICAgJiYgIU9TKFFOWCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24g
c29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxz
byBoYXZlIHRoZSAKLSAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShR
VCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVm
aW5lIEVOQUJMRV9MTElOVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklU
KSAmJiBFTkFCTEUoSklUKQotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0
LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8
IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAg
T25seSB0ZXN0ZWQgb24gaU9TLiAqLwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2Zp
bGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5k
cyBvbiBpdCwgYnV0IHlvdQotICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJu
ZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVy
LiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0Vf
VkFMVUVfUFJPRklMRQotICAgYmVsb3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BS
T0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVS
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkg
JiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJ
TElORykKLSNkZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQot
LyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMu
IEJlIHN1cmUgdG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAq
LwotI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUg
RU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhh
dCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQp
Ci0jZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5B
QkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZl
IHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpT
QwotI2VuZGlmCi0KLSNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxF
X0pJVCAxCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQot
I2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoNSkKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklU
X1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09N
UElMRVIoTVNWQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUo
WDg2KSAmJiBDT01QSUxFUihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVf
XyAoKGZhc3RjYWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0v
KiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZD
VF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2Rl
ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RP
KSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNz
aW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRz
IGR1bXBlZCBhdCBleGl0ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8q
IFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklU
IGVuYWJsZWQgcG9ydHMuICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVCAwCi0KLSNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJS
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcg
Y29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmlu
ZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBF
TkFCTEUoWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8q
IFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUg
YWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQg
d2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9u
IGRlbWFuZC4gKi8KLSNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBM
QVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEK
LSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhX
SU5ET1dTKQotI2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNk
ZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJl
YW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2Ug
dGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBM
QVRGT1JNKFFUKQotI2lmICFVU0UoTElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFN
IDEKLSNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykKLS8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJ
TkdfT05fTEVPUEFSRAotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9V
U0VfQ09SRV9URVhUIDAKLSNlbmRpZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFU
KSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8p
KSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcgMQotI2VuZGlmCi0KLS8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktp
dDIgKi8KLSNpZiBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lU
SU5HIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9O
X1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAm
JiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKSkpCi0jZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNl
bmRpZgotCi0vKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50
ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJv
ci4gKi8KLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hv
dWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hv
dWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZp
bmUuICovCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFU
Rk9STV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZF
KEFDQ0VTU0lCSUxJVFkpCi0jZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01F
TlVTIDEKLSNlbmRpZgotCi0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRp
dmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcg
bG9jYXRpb24uICovCi0jZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNT
SU9OIDEKLQotI2lmIENQVShBUk1fVEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBB
Q1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BB
VENIKSAmJiBIQVZFKERJU1BBVENIX0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElT
UEFUQ0ggMQotI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmlu
ZWQoX09QRU5NUCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRl
ZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJ
QyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dv
YmplY3QvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0
IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2lu
Y2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFk
ZGluZyBuZXcgaGVhZGVycwotICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBh
bmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25l
IHBvcnQgYXQgYSB0aW1lLiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKFdYKQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFU
KSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVm
aW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJF
X0FORF9TV0FQIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAm
JiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5B
QkxFKENPTVBBUkVfQU5EX1NXQVApCi0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5k
aWYKLQotI2lmbmRlZiBOREVCVUcKLSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZp
bmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9MSU9OKQotI2RlZmluZSBXVEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX1RJTUVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
X0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQotI2RlZmluZSBIQVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBX
VEZfVVNFX1Y4IDEKLSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0j
aWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyog
IWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcg
SlNDIGFuZCB2aWNlIHZlcnNhICovCi0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0K
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFC
TEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZf
VVNFX1dURlVSTCkKLSNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElC
IDEKLSNlbmRpZgotCi0jZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBhNTI2ZjRhMzdmMzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3
NjEyNTMxZjNmYmU0YzE5MWM2OGYzNzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0xLDMgKzEsNCBAQAogd3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5j
cHAgXAotCVNvdXJjZS9XVEYvU3R1Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9T
b3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2
MWVhYzViZDAuLjcxYzY3NGM4NDQ5Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAt
Myw2ICszLDcgQEAKICAgICAgICAgJ3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZf
cHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAg
ICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsK
ICAgICAgICAgICAgICdTdHViLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8g
Yi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYx
ZDZjMGMzNTc3OC4uMDEwZGUzODQwZDhmOGU5MTk4MTljOWE2MTA1OGFhZDZmY2IwNmE2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAt
MTAyLDcgKzEwMiw3IEBAIEhFQURFUlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFz
c1JlZlB0ci5oIFwKICAgICBQYXNzVHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4u
Ly4uL1dURi93dGYvUGxhdGZvcm0uaCBcCiAgICAgUG9zc2libHlOdWxsLmggXAogICAgIHF0L1V0
aWxzUXQuaCBcCiAgICAgUmFuZG9tTnVtYmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNmY4YmRjNjI2ZDZmOTExNGJjNjU2ZWEyMmMxMjVkNzM5NGI4
ZTdjYy4uOGJkZTEyOWJkNTA2MTYzZjVmODc5ZTllMWVkMzlhZjNjYzcyNTAwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05LDYgKzksNyBAQAogLyogQmVn
aW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAkJNUQyNDdCNzkxNDY4OUQ4OTAwRTc4Qjc2IC8q
IFN0dWIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUQyNDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovOyB9OwogCQk1RDI0N0I3QTE0
Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQlBODc2REJEODE1MTgxNkU1MDBEQURC
OTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovOyB9OwogLyog
RW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ug
c2VjdGlvbiAqLwpAQCAtMjAsNiArMjEsNyBAQAogCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYg
LyogU3R1Yi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHViLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2
IC8qIFN0dWIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R1Yi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDI0N0VCMTE0NjhCMDE1MDBFNzhCNzYgLyogSGVh
ZGVyRGV0ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhlYWRlckRl
dGVjdGlvbi5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV1RGL0hlYWRlckRldGVjdGlvbi5oOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlBODc2REJENzE1MTgxNkU1MDBE
QURCOTUgLyogUGxhdGZvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxh
dGZvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJl
bmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlv
biAqLwpAQCAtNjcsMTAgKzY5LDE5IEBACiAJCQkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8q
IEhlYWRlckRldGVjdGlvbi5oICovLAogCQkJCTVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBT
dHViLmNwcCAqLywKIAkJCQk1RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oICovLAor
CQkJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkpOwogCQkJbmFtZSA9
IFNvdXJjZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE4NzZEQkQ2MTUx
ODE2RTUwMERBREI5NSAvKiB3dGYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAor
CQkJKTsKKwkJCXBhdGggPSB3dGY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
LyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhh
c2Ugc2VjdGlvbiAqLwpAQCAtNzgsOCArODksOCBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0J
CQkJNUQyNDdFQjIxNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE4NzZEQkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0xNDMsNyArMTU0LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNj
cmlwdCA9ICJpZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07IHRo
ZW5cbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30ke1BS
SVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVSU19Q
QVRIPVwiJHtEU1RST09UJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maTtc
blxubWtkaXIgLXAgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1uby1v
d25lciAtLW5vLWdyb3VwIC0tcHJ1bmUtZW1wdHktZGlycyAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1l
eGNsdWRlIFwidXNyXCIgLS1leGNsdWRlIFwiRGVyaXZlZFNvdXJjZXNcIiAtLWluY2x1ZGUgXCIq
L1wiIC0taW5jbHVkZSBcIiouaFwiIC0tZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vXCIgXCIk
e1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9I
RUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNfRk9M
REVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVCUl
L30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwiJHtQ
UklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91cCAt
LXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0t
ZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIq
LmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L3d0Zi9cIiBcIiR7UFJJVkFURV9IRUFE
RVJTX1BBVEh9XCJcbiI7CiAJCX07CiAJCTVEMjQ3RTlEMTQ2OEFFRTIwMEU3OEI3NiAvKiBEZXRl
Y3QgQXZhaWxhYmxlIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL2NvbmZpZy5oIGIvU291cmNlL1dURi9jb25m
aWcuaAppbmRleCAwYWIzMzI2M2I3NjE3NDdjNzA3ZjgyOGMxNTRiMDIwNjYyMTEwMDhmLi5jZDg2
MjUyYzUzMDY5YjcyNDI0NGIxNWEyMzAwMTI4ZDdmNjEzNDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XVEYvY29uZmlnLmgKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CiAvLyBXVEYgY2Fubm90IGRlcGVuZCBvbiBK
U0MgZXZlbiBpZiBVU0UoSlNDKS4KICNpZiBVU0UoSlNDKSAmJiAhZGVmaW5lZChCVUlMRElOR19X
VEYpCi0jaW5jbHVkZSAiSlNFeHBvcnRNYWNyb3MuaCIKKyNpbmNsdWRlICJydW50aW1lL0pTRXhw
b3J0TWFjcm9zLmgiCiAjZW5kaWYKIAogI2lmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kODM0YjUzOTg0ZjkzMzM1MDc0NWU4NzU0Y2NkYTQxNzBjMGYwMjBlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMCwwICsxLDEyMTAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxl
LCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfUGxhdGZvcm1f
aAorI2RlZmluZSBXVEZfUGxhdGZvcm1faAorCisvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmlj
IG1hY3JvcyAqLworI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorCisvKiA9PT09IFBMQVRGT1JN
IGhhbmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKKyAg
IENQVS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0g
YWRhcHRhdGlvbgorICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxl
dmVsIHBvcnQgZGVmaW5pdGlvbnMuID09PT0gKi8KKyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1f
IyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0
aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0g
Ki8KKworLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUg
Q1BVKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9D
UFVfIyNXVEZfRkVBVFVSRSkKKy8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAo
aGVhZGVycywgZnVuY3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICov
CisjZGVmaW5lIEhBVkUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAg
JiYgSEFWRV8jI1dURl9GRUFUVVJFKQorLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5
c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlr
ZSAKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNk
ZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBX
VEZfT1NfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6
IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0g
Ki8KKworLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Ig
b3B0aW9uYWwgT1Mgc2VydmljZSAqLworI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVk
IFdURl9VU0VfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQorLyogRU5B
QkxFKCkgLSB0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZpbmUg
RU5BQkxFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5B
QkxFXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFy
Y2hpdGVjdHVyZSA9PT09ICovCisKKy8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFO
KSBvciBDUFUoTUlERExFX0VORElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCisK
Ky8qIENQVShBTFBIQSkgLSBERUMgQWxwaGEgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyNk
ZWZpbmUgV1RGX0NQVV9BTFBIQSAxCisjZW5kaWYKKworLyogQ1BVKElBNjQpIC0gSXRhbml1bSAv
IElBLTY0ICovCisjaWYgZGVmaW5lZChfX2lhNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0IDEK
Ky8qIDMyLWJpdCBtb2RlIG9uIEl0YW5pdW0gKi8KKyNpZiAhZGVmaW5lZChfX0xQNjRfXykKKyNk
ZWZpbmUgV1RGX0NQVV9JQTY0XzMyIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIENQVShNSVBTKSAt
IE1JUFMgMzItYml0ICovCisvKiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBl
bmFibGUgaXQgZm9yIE8zMiBBQkkgZm9yIG5vdy4gICovCisjaWYgKGRlZmluZWQobWlwcykgfHwg
ZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwK
KyAgICAmJiBkZWZpbmVkKF9BQklPMzIpCisjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaWYgZGVm
aW5lZChfX01JUFNFQl9fKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisj
ZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVmaW5lZCBfX1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19B
UkNIIF9fbWlwcworI2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJD
SCAmJiBXVEZfTUlQU19BUkNIID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2
KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUg
V1RGX01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JF
Vih2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2
KQorI2RlZmluZSBXVEZfTUlQU19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxv
YXQgJiYgIWRlZmluZWQgX19taXBzX3NpbmdsZV9mbG9hdCkKKyNkZWZpbmUgV1RGX01JUFNfRlA2
NCAoZGVmaW5lZCBfX21pcHNfZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCisvKiBNSVBTIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCisjZGVmaW5lIFdURl9VU0Vf
QVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmIC8qIE1JUFMgKi8KKworLyog
Q1BVKFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAg
XAorICAgIHx8IGRlZmluZWQoX19QUENfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJw
Y19fKSBcCisgICAgfHwgZGVmaW5lZChfX3Bvd2VycGMpICAgXAorICAgIHx8IGRlZmluZWQoX19Q
T1dFUlBDX18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCisgICAgfHwgZGVmaW5l
ZChfX1BQQykKKyNkZWZpbmUgV1RGX0NQVV9QUEMgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorI2VuZGlmCisKKy8qIENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLworI2lmICAg
ZGVmaW5lZChfX3BwYzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZpbmUg
V1RGX0NQVV9QUEM2NCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKwor
LyogQ1BVKFNINCkgLSBTdXBlckggU0gtNCAqLworI2lmIGRlZmluZWQoX19TSDRfXykKKyNkZWZp
bmUgV1RGX0NQVV9TSDQgMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJp
dCAqLworI2lmIGRlZmluZWQoX19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVm
aW5lZChfX3NwYXJjdjgpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCisjZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0
ICovCisjaWYgZGVmaW5lZChfX3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVm
aW5lZCAoX19zcGFyY3Y5KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQorI2RlZmluZSBXVEZf
Q1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRy
dWUgZm9yIENQVShTUEFSQzMyKSBhbmQgQ1BVKFNQQVJDNjQpICovCisjaWYgQ1BVKFNQQVJDMzIp
IHx8IENQVShTUEFSQzY0KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKKyNlbmRpZgorCisvKiBD
UFUoUzM5MFgpIC0gUzM5MCA2NC1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MHhfXykKKyNkZWZp
bmUgV1RGX0NQVV9TMzkwWCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYK
KworLyogQ1BVKFMzOTApIC0gUzM5MCAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MF9fKQor
I2RlZmluZSBXVEZfQ1BVX1MzOTAgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2Vu
ZGlmCisKKy8qIENQVShYODYpIC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X19pMzg2X18pIFwKKyAgICB8fCBkZWZpbmVkKGkzODYpICAgICBcCisgICAgfHwgZGVmaW5lZChf
TV9JWDg2KSAgXAorICAgIHx8IGRlZmluZWQoX1g4Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9f
VEhXX0lOVEVMKQorI2RlZmluZSBXVEZfQ1BVX1g4NiAxCisjZW5kaWYKKworLyogQ1BVKFg4Nl82
NCkgLSBBTUQ2NCAvIEludGVsNjQgLyB4ODZfNjQgNjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9f
eDg2XzY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9NX1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9YODZf
NjQgMQorI2VuZGlmCisKKy8qIENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCisjaWYgICBk
ZWZpbmVkKGFybSkgXAorICAgIHx8IGRlZmluZWQoX19hcm1fXykgXAorICAgIHx8IGRlZmluZWQo
QVJNKSBcCisgICAgfHwgZGVmaW5lZChfQVJNXykKKyNkZWZpbmUgV1RGX0NQVV9BUk0gMQorCisj
aWYgZGVmaW5lZChfX0FSTUVCX18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklH
X0VORElBTikpCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisKKyNlbGlmICFkZWZpbmVk
KF9fQVJNX0VBQklfXykgXAorICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCisgICAgJiYgIWRl
ZmluZWQoX19WRlBfRlBfXykgXAorICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAgICAm
JiAhZGVmaW5lZChBTkRST0lEKQorI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQorCisj
ZW5kaWYKKworI2RlZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdU
Rl9BUk1fQVJDSF9WRVJTSU9OID49IE4pCisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAq
LworI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF80VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAorICAgIHx8IGRl
ZmluZWQoX0FSTVY0SV8pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKKworI2VsaWYg
ZGVmaW5lZChfX0FSTV9BUkNIXzVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9f
KSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjVfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNI
X1ZFUlNJT04gNQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVK
X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKy8qQVJNdjVURSByZXF1aXJlcyBh
bGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFf
QUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDYKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNwor
CisvKiBSVkNUIHNldHMgX1RBUkdFVF9BUkNIX0FSTSAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdF
VF9BUkNIX0FSTSkKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9B
Uk0KKworI2lmIGRlZmluZWQoX19UQVJHRVRfQVJDSF81RSkgXAorICAgIHx8IGRlZmluZWQoX19U
QVJHRVRfQVJDSF81VEUpIFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKy8q
QVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVm
aW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKyNl
bHNlCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDAKKworI2VuZGlmCisKKy8qIFNldCBX
VEZfVEhVTUJfQVJDSF9WRVJTSU9OICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykK
KyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1f
QVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAyCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF82TV9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKKworI2VsaWYgZGVmaW5l
ZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzdSX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKKyNkZWZpbmUgV1RG
X1RIVU1CX0FSQ0hfVkVSU0lPTiA0CisKKy8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1C
ICovCisjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OIDAKKyNlbmRpZgorCisKKy8qIENQVShBUk1WNV9PUl9MT1dFUikg
LSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFuZCBi
ZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAorICAgQW5kIHRoZXJlIGFy
ZSBzb21lIG90aGVyIGRpZmZlcmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLworI2lmICFkZWZp
bmVkKEFSTVY1X09SX0xPV0VSKSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCisjZGVmaW5l
IFdURl9DUFVfQVJNVjVfT1JfTE9XRVIgMQorI2VuZGlmCisKKworLyogQ1BVKEFSTV9UUkFESVRJ
T05BTCkgLSBUaHVtYjIgaXMgbm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0
IG9yIGdyZWF0ZXIpICovCisvKiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24g
c2V0IGlzIGF2YWlsYWJsZSAqLworLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVk
LiAqLworI2lmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChX
VEZfQ1BVX0FSTV9USFVNQjIpCisjICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3Ro
dW1iMl9fKSBcCisgICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9f
KSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9B
Uk1fVFJBRElUSU9OQUwgMAorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMgIGVs
aWYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFE
SVRJT05BTCAxCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAorIyAgZWxzZQorIyAg
ICBlcnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNlbGlm
IENQVShBUk1fVFJBRElUSU9OQUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sg
Ki8KKyMgIGVycm9yICJDYW5ub3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwg
YW5kIFdURl9DUFVfQVJNX1RIVU1CMiBwbGF0Zm9ybXMiCisjZW5kaWYgLyogIWRlZmluZWQoV1RG
X0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8K
KworI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9O
KQorI2RlZmluZSBXVEZfQ1BVX0FSTV9ORU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJNICov
CisKKyNpZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQor
I2RlZmluZSBXVEZfQ1BVX05FRURTX0FMSUdORURfQUNDRVNTIDEKKyNlbmRpZgorCisvKiA9PT09
IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3Ig
bWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90
IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ID09PT0gKi8KKworLyogT1MoQU5EUk9JRCkgLSBBbmRy
b2lkICovCisjaWZkZWYgQU5EUk9JRAorI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5kaWYK
KworLyogT1MoQUlYKSAtIEFJWCAqLworI2lmZGVmIF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJWCAx
CisjZW5kaWYKKworLyogT1MoREFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGlu
ZyBNYWMgT1MgWCBhbmQgaVBob25lIE9TICovCisjaWZkZWYgX19BUFBMRV9fCisjZGVmaW5lIFdU
Rl9PU19EQVJXSU4gMQorCisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZh
aWxhYmlsaXR5TWFjcm9zLmg+CisjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjZW5k
aWYKKworLyogT1MoSU9TKSAtIGlPUyAqLworLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5v
dCBpbmNsdWRpbmcgaU9TKSAqLworI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9P
U19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSBcCisgICAgfHwgKGRlZmluZWQoVEFS
R0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKKyAg
ICB8fCAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9T
SU1VTEFUT1IpKQorI2RlZmluZSBXVEZfT1NfSU9TIDEKKyNlbGlmIE9TKERBUldJTikgJiYgZGVm
aW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDCisjZGVmaW5lIFdURl9PU19NQUNf
T1NfWCAxCisvKiBGSVhNRTogQlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9z
IHNob3VsZCBiZSBmb2xkZWQgaW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBN
QUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCisjZWxp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJTkdfT05fU05P
V19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmlu
ZSBCVUlMRElOR19PTl9MSU9OIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJ
T05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzYKKyNkZWZpbmUgVEFSR0VUSU5HX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFD
X09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1B
Q19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKKyNl
bGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5HX0xJ
T04gMQorI2VuZGlmCisjZW5kaWYKKworLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYg
ZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVk
KF9fRnJlZUJTRF9rZXJuZWxfXykKKyNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisK
Ky8qIE9TKEhVUkQpIC0gR05VL0h1cmQgKi8KKyNpZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdURl9P
U19IVVJEIDEKKyNlbmRpZgorCisvKiBPUyhMSU5VWCkgLSBMaW51eCAqLworI2lmZGVmIF9fbGlu
dXhfXworI2RlZmluZSBXVEZfT1NfTElOVVggMQorI2VuZGlmCisKKy8qIE9TKE5FVEJTRCkgLSBO
ZXRCU0QgKi8KKyNpZiBkZWZpbmVkKF9fTmV0QlNEX18pCisjZGVmaW5lIFdURl9PU19ORVRCU0Qg
MQorI2VuZGlmCisKKy8qIE9TKE9QRU5CU0QpIC0gT3BlbkJTRCAqLworI2lmZGVmIF9fT3BlbkJT
RF9fCisjZGVmaW5lIFdURl9PU19PUEVOQlNEIDEKKyNlbmRpZgorCisvKiBPUyhRTlgpIC0gUU5Y
ICovCisjaWYgZGVmaW5lZChfX1FOWE5UT19fKQorI2RlZmluZSBXVEZfT1NfUU5YIDEKKyNlbmRp
ZgorCisvKiBPUyhTT0xBUklTKSAtIFNvbGFyaXMgKi8KKyNpZiBkZWZpbmVkKHN1bikgfHwgZGVm
aW5lZChfX3N1bikKKyNkZWZpbmUgV1RGX09TX1NPTEFSSVMgMQorI2VuZGlmCisKKy8qIE9TKFdJ
TkNFKSAtIFdpbmRvd3MgQ0U7IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dT
KSBpcyBhbHNvIGRlZmluZWQgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5lIFdU
Rl9PU19XSU5DRSAxCisjZW5kaWYKKworLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBX
aW5kb3dzICovCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5l
IFdURl9PU19XSU5ET1dTIDEKKyNlbmRpZgorCisjZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVT
RSBXSU5ET1dTIFdJVEggT1MgTk9UIFdJTiIKKyNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNF
IE1BQ19PU19YIFdJVEggT1MgTk9UIE1BQyIKKworLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtl
IHN5c3RlbSAqLworI2lmICAgT1MoQUlYKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKEFORFJP
SUQpICAgICAgICAgIFwKKyAgICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCisgICAgfHwgT1Mo
RlJFRUJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKKyAgICB8
fCBPUyhMSU5VWCkgICAgICAgICAgICBcCisgICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAor
ICAgIHx8IE9TKE9QRU5CU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhRTlgpICAgICAgICAgICAg
ICBcCisgICAgfHwgT1MoU09MQVJJUykgICAgICAgICAgXAorICAgIHx8IGRlZmluZWQodW5peCkg
ICAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCisgICAgfHwgZGVmaW5lZChf
X3VuaXhfXykKKyNkZWZpbmUgV1RGX09TX1VOSVggMQorI2VuZGlmCisKKy8qIE9wZXJhdGluZyBl
bnZpcm9ubWVudHMgKi8KKworLyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9w
ZXJhdGluZyBlbnZpcm9ubWVudCBhbmQgcG9saWN5IGNob2ljZXMuICovCisvKiBQTEFURk9STShD
SFJPTUlVTSkgKi8KKy8qIFBMQVRGT1JNKFFUKSAqLworLyogUExBVEZPUk0oV1gpICovCisvKiBQ
TEFURk9STShHVEspICovCisvKiBQTEFURk9STShCTEFDS0JFUlJZKSAqLworLyogUExBVEZPUk0o
TUFDKSAqLworLyogUExBVEZPUk0oV0lOKSAqLworI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01J
VU1fXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0NIUk9NSVVNIDEKKyNlbGlmIGRlZmluZWQoQlVJ
TERJTkdfUVRfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1FUIDEKKyNlbGlmIGRlZmluZWQoQlVJ
TERJTkdfV1hfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dYIDEKKyNlbGlmIGRlZmluZWQoQlVJ
TERJTkdfR1RLX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9HVEsgMQorI2VsaWYgZGVmaW5lZChC
VUlMRElOR19CTEFDS0JFUlJZX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEK
KyNlbGlmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCisjZWxpZiBPUyhX
SU5ET1dTKQorI2RlZmluZSBXVEZfUExBVEZPUk1fV0lOIDEKKyNlbmRpZgorCisvKiBQTEFURk9S
TShJT1MpICovCisvKiBGSVhNRTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0
Y2ggYW5kIHNvbWV0aW1lcyBmb3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLworI2lmIChkZWZpbmVk
KFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChU
QVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKQorI2RlZmluZSBXVEZfUExBVEZP
Uk1fSU9TIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLworI2lmIGRl
ZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9S
CisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJ
TVVMQVRPUiAxCisjZWxzZQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9JT1MgMAorI2VuZGlmCisKKy8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KKworLyogVVNFKENH
KSBhbmQgUExBVEZPUk0oQ0kpICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1Mp
CisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShJT1MpIHx8IChQTEFURk9STShXSU4pICYmIFVTRShDRykpCisjZGVmaW5lIFdURl9VU0Vf
Q0EgMQorI2VuZGlmCisKKy8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICov
CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgT1MoREFSV0lOKQorI2lmIFVTRShTS0lBX09O
X01BQ19DSFJPTUlVTSkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbHNlCisjZGVmaW5lIFdU
Rl9VU0VfQ0cgMQorI2VuZGlmCisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBXVEZf
VVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCisjZWxpZiBPUyhBTkRS
T0lEKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRF
UklORyAwCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0NI
Uk9NSVVNX05FVCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkK
KyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9D
IDEKKyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUgV1RG
X1VTRV9TS0lBIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBXVEZfVVNF
X0NBSVJPIDEKKyNlbmRpZgorCisKKyNpZiBPUyhXSU5DRSkKKyNpbmNsdWRlIDxjZV90aW1lLmg+
CisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCisjZW5kaWYKKworLyog
T24gV2luZG93cywgdXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNp
ZiBPUyhXSU5ET1dTKQorI2RlZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIg
IDEKKyNlbmRpZgorCisjaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgTk9N
SU5NQVggICAgICAgLyogV2luZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJk
IG1hY3JvcyAqLworI2RlZmluZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWls
YWJsZSBvbiBXaW5DZSAqLworCisvKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5j
dGlvbnMgYXJlIHByb3ZpZGVkIHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRo
aXMgZmlsZS4gKi8KKyNkZWZpbmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIg
Ki8KKworI2RlZmluZSBfSU5DX0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KKyNk
ZWZpbmUgYXNzZXJ0KHgpCisKKyNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkg
Ki8KKworI2lmIFBMQVRGT1JNKFFUKQorI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVm
aW5lIFdURl9VU0VfUVQ0X1VOSUNPREUgMQorI2VuZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNkZWZp
bmUgV1RGX1VTRV9XSU5DRV9VTklDT0RFIDEKKyNlbGlmIFBMQVRGT1JNKEdUSykKKy8qIFRoZSBH
VEsrIFVuaWNvZGUgYmFja2VuZCBpcyBjb25maWd1cmFibGUgKi8KKyNlbHNlCisjZGVmaW5lIFdU
Rl9VU0VfSUNVX1VOSUNPREUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFU
Rk9STShJT1MpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82
NCkKKyNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkKKyNkZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxF
X1JVQkJFUl9CQU5ESU5HIDEKKyNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCisj
ZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9K
QVZBX0JSSURHRSAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCisjZW5kaWYKKyNkZWZpbmUg
V1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BU
SFJFQURfUldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVO
TE9PUF9USU1FUiAxCisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZGVmaW5lIEVO
QUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNk
ZWZpbmUgRU5BQkxFX1dFQl9BVURJTyAxCisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCisjZGVm
aW5lIEVOQUJMRV9WSURFT19UUkFDSyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5E
T1dfU0VSVkVSIDEKKyNlbmRpZgorI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KElPUykgKi8KKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5l
IFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1JXTE9DSyAxCisKKyNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9N
QUlOX1RIUkVBRCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCisj
ZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2VuZGlmCisK
KyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKKyNkZWZp
bmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1Mp
CisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQ
UE9SVCAwCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNkZWZpbmUgRU5B
QkxFX0ZUUERJUiAxCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCisjZGVmaW5lIEVOQUJM
RV9JQ09OREFUQUJBU0UgMAorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUgRU5B
QkxFX0pBVkFfQlJJREdFIDAKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAor
I2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JFUEFJ
TlRfVEhST1RUTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEhB
VkVfTkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0sgMQorI2RlZmluZSBIQVZFX1BUSFJFQURf
UldMT0NLIDEKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9U
SU1FUiAwCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAx
CisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRP
UikKKyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyAgICAjZGVmaW5l
IEVOQUJMRV9KSVQgMAorICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKyNlbHNlCisgICAg
I2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAwCisgICAgI2RlZmluZSBFTkFCTEVf
SklUIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisgICAgI2RlZmluZSBFTkFCTEVfWUFS
Ul9KSVQgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lO
Q0UpCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJP
TUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksg
MQorI2VuZGlmCisKKyNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VTRV9D
RlVSTFNUT1JBR0VTRVNTSU9OUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUg
RU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYg
IVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShXWCkKKyNpZiAhQ1BVKFBQQykKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxF
UiAxCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxf
RkFTVE1BTExPQ19ORVcgMAorI2RlZmluZSBFTkFCTEVfTExJTlQgMAorI2lmIE9TKERBUldJTikK
KyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShH
VEspCisjaWYgSEFWRShQVEhSRUFEX0gpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2Rl
ZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRpZgorI2VsaWYgUExBVEZPUk0oUVQpICYm
IE9TKFVOSVgpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJF
QURfUldMT0NLIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQor
I2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJ
TElUWSAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICov
CisKKyNpZiBPUyhVTklYKQorI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoSEFWRV9WQVNQUklOVEYpCisjaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxF
UihSVkNUKSAmJiAhQ09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgp
KQorI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoSEFWRV9TVFJOU1RSKQorI2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZp
bmVkKF9fR0xJQkNfXykpCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKyNlbmRpZgor
CisjaWYgIU9TKFdJTkRPV1MpICYmICFPUyhTT0xBUklTKSBcCisgICAgJiYgIU9TKFJWQ1QpIFwK
KyAgICAmJiAhT1MoQU5EUk9JRCkKKyNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorI2RlZmluZSBI
QVZFX1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERB
UldJTikKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0gg
MQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCisjZGVmaW5l
IEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNf
UEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVCX0ggMQorI2RlZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEUgMQorCisjaWZuZGVmIFRBUkdFVElO
R19MRU9QQVJECisKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9IT1NU
RURfQ09SRV9BTklNQVRJT04gMQorCisjaWYgIVBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9N
QURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVf
UFRIUkVBRF9TRVROQU1FX05QIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFN
RV9OUCAxCisjZW5kaWYKKworI2VsaWYgT1MoV0lORE9XUykKKworI2lmIE9TKFdJTkNFKQorI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMAorI2Vsc2UKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisj
ZGVmaW5lIEhBVkVfQUxJR05FRF9NQUxMT0MgMQorI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVT
RU5UIDEKKyNlbmRpZgorI2RlZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCisKKyNlbGlmIE9TKFFO
WCkKKworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZp
bmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZ
U19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAxCisKKyNlbGlmIE9TKEFORFJPSUQpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
KyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDAKKyNkZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZpbmUg
SEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19Q
QVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKworI2Vsc2UKKworLyogRklYTUU6
IGlzIHRoaXMgYWN0dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhl
aXIgb3duIGNvbmZpZy5oPyAqLworCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhB
VkVfTEFOR0lORk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAx
CisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisj
ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbmRpZgorCisvKiBFTkFCTEUgbWFjcm8gZGVm
YXVsdHMgKi8KKworI2lmIFBMQVRGT1JNKFFUKQorLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRo
ZSBnbG9iYWwgb3BlcmF0b3IgbmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLworI2Rl
ZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNkZWZp
bmUgVVNFX1NZU1RFTV9NQUxMT0MgMQorI2VuZGlmCisjZW5kaWYKKworLyogZmFzdE1hbGxvYyBt
YXRjaCB2YWxpZGF0aW9uIGFsbG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAorICAg
bmV3IGlzIG1hdGNoZWQgYnkgZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZy
ZWUsIGV0Yy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURB
VElPTikKKyNkZWZpbmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVf
SUNPTkRBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFT
RSkKKyNkZWZpbmUgRU5BQkxFX1NRTF9EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKQorI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCisjZGVmaW5l
IEVOQUJMRV9GVFBESVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9N
RU5VUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCisjZGVm
aW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQorI2RlZmluZSBF
TkFCTEVfSU5TUEVDVE9SIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJ
REdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9BUEkgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X01FVEFEQVRBX0NBQ0hFKQorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRB
X0NBQ0hFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkp
CisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTKQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9I
T1NUX1BST0NFU1MgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05f
RVZFTlRTKQorI2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX09QQ09ERV9TVEFUUykKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9T
VEFUUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19O
RVcpCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQorI2VuZGlmCisKKyNk
ZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhfQlJFQUtQT0lOVCAwCisjZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19DT1VOVEVSUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCisjZGVmaW5l
IEVOQUJMRV9TQU1QTElOR19SRUdJT05TIDAKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElO
RyAwCisjZGVmaW5lIEVOQUJMRV9DT0RFQkxPQ0tfU0FNUExJTkcgMAorI2lmIEVOQUJMRShDT0RF
QkxPQ0tfU0FNUExJTkcpICYmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQorI2Vycm9yICJDT0RF
QkxPQ0tfU0FNUExJTkcgcmVxdWlyZXMgT1BDT0RFX1NBTVBMSU5HIgorI2VuZGlmCisjaWYgRU5B
QkxFKE9QQ09ERV9TQU1QTElORykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUo
U0FNUExJTkdfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dF
T0xPQ0FUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQorI2Rl
ZmluZSBFTkFCTEVfVklFV1BPUlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykKKyNkZWZpbmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVU
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQorI2RlZmlu
ZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
UE9JTlRFUl9MT0NLKQorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxV
RTMyXzY0KQorI2lmIChDUFUoWDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBc
CisgICAgfHwgKENQVShJQTY0KSAmJiAhQ1BVKElBNjRfMzIpKSBcCisgICAgfHwgQ1BVKEFMUEhB
KSBcCisgICAgfHwgQ1BVKFNQQVJDNjQpIFwKKyAgICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8fCBD
UFUoUFBDNjQpCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFdU
Rl9VU0VfSlNWQUxVRTMyXzY0IDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0Vf
SlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcpCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5U
X1RIUk9UVExJTkcgMAorI2VuZGlmCisKKy8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBv
ZiBHQ0MgcHJpb3IgdG8gNC4xICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElM
RVIoR0NDKSAmJiAhR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5BQkxF
X0pJVCAwCisjZW5kaWYKKworLyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2
NC1iaXQgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUo
WDg2XzY0KQorI2RlZmluZSBFTkFCTEVfSklUIDAKKyNlbmRpZgorCisvKiBUaGUgSklUIGlzIGVu
YWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1z
LiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSBcCisgICAgJiYgKE9TKERBUldJTikg
fHwgIUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKKyAg
ICAmJiAhT1MoV0lOQ0UpIFwKKyAgICAmJiAhT1MoUU5YKQorI2RlZmluZSBFTkFCTEVfSklUIDEK
KyNlbmRpZgorCisvKiBPbiBzb21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJ
VCwgd2Ugd2FudCB0byBhbHNvIGhhdmUgdGhlIAorICAgbG93LWxldmVsIGludGVycHJldGVyLiAq
LworI2lmICFkZWZpbmVkKEVOQUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJ
TikgJiYgIVBMQVRGT1JNKFFUKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShB
Uk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX0RGR19KSVQpICYmIEVOQUJMRShKSVQpCisvKiBFbmFibGUgdGhlIERGRyBKSVQg
b24gWDg2IGFuZCBYODZfNjQuICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8K
KyNpZiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJ
TlVYKSkKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERG
RyBKSVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MuICovCisjaWYgQ1BVKEFSTV9USFVN
QjIpICYmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisj
ZW5kaWYKKworLyogUHJvZmlsaW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29k
ZS4gREZHX0pJVCBkZXBlbmRzIG9uIGl0LCBidXQgeW91CisgICBjYW4gZW5hYmxlIGl0IG1hbnVh
bGx5IHdpdGggREZHIHR1cm5lZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRh
bG9uZQorICAgcHJvZmlsZXIuIEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxz
byBlbmFibGUgVkVSQk9TRV9WQUxVRV9QUk9GSUxFCisgICBiZWxvdy4gKi8KKyNpZiAhZGVmaW5l
ZChFTkFCTEVfVkFMVUVfUFJPRklMRVIpICYmIEVOQUJMRShERkdfSklUKQorI2RlZmluZSBFTkFC
TEVfVkFMVUVfUFJPRklMRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9T
RV9WQUxVRV9QUk9GSUxFKSAmJiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCisjZGVmaW5lIEVOQUJM
RV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
U0lNUExFX0hFQVBfUFJPRklMSU5HKQorI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklM
SU5HIDAKKyNlbmRpZgorCisvKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBz
YW1wbGluZyBjb3VudGVycy4gQmUgc3VyZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5H
X0NPVU5URVJTIHRvIDEuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJP
RklMSU5HKQorI2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlm
CisKKy8qIEVuc3VyZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMg
YmVlbiBlbmFibGVkLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVS
KSAmJiAhRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQor
I2VuZGlmCisjaWYgIShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikp
CisjZXJyb3IgWW91IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVu
YWJsZWQgdG8gYnVpbGQgSlNDCisjZW5kaWYKKworI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFU
KQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIEpJVCAq
LworI2lmIENQVShBUk0pCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8p
ICYmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg1KQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZU
X01PRFVMTyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkg
fHwgQ1BVKE1JUFMpCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCisj
ZGVmaW5lIEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNp
ZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFz
dGNhbGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykKKyNkZWZpbmUgSlNDX0hPU1Rf
Q0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1Rf
Q0FMTAorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBDT01Q
SUxFUihHQ0MpIHx8IChSVkNUX1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5l
ZChfX0dOVUNfXykpCisjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCisjZW5kaWYKKyNpZiBI
QVZFKENPTVBVVEVEX0dPVE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmlu
ZSBFTkFCTEVfQ09NUFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorCisv
KiBSZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdz
IGluIGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JFR0VY
UF9UUkFDSU5HIDAKKworLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBi
eSBkZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KKyNpZiBQTEFURk9STShDSFJPTUlV
TSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKworI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRl
ZmluZWQoRU5BQkxFX1lBUlJfSklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorCisvKiBT
ZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJl
c3VsdHMuICovCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCisjZW5kaWYKKworI2lm
IEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxF
UiAxCisjZW5kaWYKKworLyogUGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5l
ZWQgYW4gZXhlY3V0YWJsZSBhbGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBp
bi4KKyAgIE9uIHg4Ni02NCB3ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxh
dGZvcm1zIHdlIG1tYXAgb24gZGVtYW5kLiAqLworI2lmIEVOQUJMRShBU1NFTUJMRVIpCisjaWYg
Q1BVKFg4Nl82NCkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9B
TExPQ0FUT1JfRklYRUQgMQorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NB
VE9SX0RFTUFORCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9T
Q1JPTExJTkcpICYmIE9TKFdJTkRPV1MpCisjZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5l
IEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X1dFQl9BUkNISVZFKQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAorI2VuZGlmCisKKy8q
IFVzZSB0aGUgUVhtbFN0cmVhbVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQ
YXJzZXIgKi8KKy8qIFVzZSB0aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJv
Y2Vzc29yICovCisjaWYgUExBVEZPUk0oUVQpCisjaWYgIVVTRShMSUJYTUwyKQorI2RlZmluZSBX
VEZfVVNFX1FYTUxTVFJFQU0gMQorI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAq
LworI2lmbmRlZiBCVUlMRElOR19PTl9MRU9QQVJECisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMAor
I2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0FUU1VJ
IDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMAorI2VuZGlmCisjZW5kaWYKKworLyogQWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NF
TEVSQVRFRF9DT01QT1NJVElORyAxCisjZW5kaWYKKworLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJ
LXByb2Nlc3MgaW4gV2ViS2l0MiAqLworI2lmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNF
X1VJX1NJREVfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBX
VEZfVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCisjZW5kaWYKKworI2lmICFF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KSAmJiAoKE9TKFVOSVgpICYmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKSkKKyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNL
QUdFX1NJTVBMRV9IQVNIIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIEVOQUJMRV9USFJFQURF
RF9TQ1JPTExJTkcgMQorI2VuZGlmCisKKy8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24g
ZXJyb3IgdGhhdCBpcyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhl
IHNwYWNlIGFmdGVyIEVycm9yLiAqLworI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVy
cm9yIFVTRV9tYWNyb19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSworCisvKiBGSVhNRTog
RXZlbnR1YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdl
dCByaWQgb2YgdGhlIGRlZmluZS4gKi8KKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9QTEFU
Rk9STV9TVFJBVEVHSUVTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKQorI2RlZmluZSBX
VEZfVVNFX0NST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpICYmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJ
QklMSVRZX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKy8qIEdlb2xvY2F0aW9uIHJlcXVlc3Qg
cG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24g
YmVmb3JlIGFjcXVpcmluZyBsb2NhdGlvbi4gKi8KKyNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dF
T0xPQ0FUSU9OX1BFUk1JU1NJT04gMQorCisjaWYgQ1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVO
QUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9U
SFJFQURJTkdfTElCRElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19MSUJESVNQQVRDSCAxCisjZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5H
X09QRU5NUCkgJiYgZGVmaW5lZChfT1BFTk1QKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09Q
RU5NUCAxCisjZWxpZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19HRU5FUklDIDEKKyNlbmRpZgorCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkK
KyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HVHlwZWRlZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTog
VGhpcyBkZWZpbmUgd29uJ3QgYmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4g
SG93ZXZlciwgCisgICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0
IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFkZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkg
cG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQK
KyAgIGJyZWFrYWdlcyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01B
Q1JPUyAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisK
KyNpZiAoUExBVEZPUk0oUVQpICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdD
QykgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZp
bmUgRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVAgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfUEFSQUxMRUxfR0MpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oUVQpKSAmJiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BB
UkFMTEVMX0dDIDEKKyNlbmRpZgorCisjaWZuZGVmIE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0Nf
VkFMSURBVElPTgorI2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZG
T1VOREFUSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisjZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KEVGTCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NB
SVJPKSkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdU
Rl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SIDEKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRT
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJ
TyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmICFkZWZpbmVkKFdURl9V
U0VfVjgpCisjZGVmaW5lIFdURl9VU0VfVjggMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0o
Q0hST01JVU0pICovCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNF
X1Y4IDAKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4KSAqLworCisvKiBVc2luZyBWOCBp
bXBsaWVzIG5vdCB1c2luZyBKU0MgYW5kIHZpY2UgdmVyc2EgKi8KKyNkZWZpbmUgV1RGX1VTRV9K
U0MgIVdURl9VU0VfVjgKKworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShN
QUMpCisjZGVmaW5lIEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSAxCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKFdURl9VU0VfV1RGVVJMKQorI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQorI2Rl
ZmluZSBXVEZfVVNFX1pMSUIgMQorI2VuZGlmCisKKyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAq
LwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0N2RjMTM3Y2E5MTE3NTQyY2Y3YzBmNWU3ZjhlNTZm
NmQwMWZlNjU2Li5jODRjMzEzOTYyMDBjN2ExZGZhZWQyMDYwOGJhYWVhNjI1ODFjN2M2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMSw1ICsxLDYgQEAKIFNFVChXZWJDb3JlX0lOQ0xVREVfRElS
RUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0iCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmlsZXN5c3RlbSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9nZW9sb2NhdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9pbmRleGVkZGIi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dC9DTWFrZUxpc3RzLnR4dAppbmRleCA2MmY0YjMxMTYyZTVhYmRiMmQ0YzBhMmE3Mzc5MWI1M2Fl
YWM5ZDFjLi5mMTNlYzI2OTA2ZTlmNjRmZTY5ZmU0ZGExMDA0OGZhYTMwZjQxOTVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01h
a2VMaXN0cy50eHQKQEAgLTEsNCArMSw1IEBACiBTRVQoV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJ
RVMKKyAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXRUJLSVRfRElSfSIKICAgICAiJHtXRUJDT1JF
X0RJUn0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2ViZGF0YWJhc2UiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oIGIvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYmRhdGFiYXNlX3AuaAppbmRleCBlYzAzZWE1ZTIwMjlkNzhmNjQ5NDk0OTQ0
NzAzOTA0MWY3NmEzNmNlLi4yOTg0NzA0NDI1NTBjODk0ZWZmOGQwYzM3OGUzMzFhOWVmODk4MzRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRhYmFzZV9wLmgKQEAgLTI0LDcgKzI0LDcgQEAK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKLSNpbmNsdWRlICJSZWZQdHIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIAogY2xh
c3MgUVdlYkRhdGFiYXNlUHJpdmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oIGIvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaAppbmRleCA3MTE1ZWIyYzUwYjkxOWNmMjg1ODVi
MTQxOTIwYTNkNDA0NTRkNWY0Li44YzE4ZTIzZWQ4NDdkN2E5MTg0YWExZjkwZTgxZTQ0NDEwMjMy
YzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKQEAgLTIwLDcg
KzIwLDcgQEAKICNpZm5kZWYgX1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAjZGVmaW5lIF9RV0VCU0NS
SVBUV09STERfUF9IXwogCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKaW5kZXggY2RjOTNi
ZDE0MWFjYmM0MWZhMTA3MGEwYWZlZDM2ZWNlNzE1NmUxNS4uMWI2NGM0OWYwYzE0MjA5ZWYwMTg1
NDU4NjFhYzJkM2M1NzY1MjNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnNlY3VyaXR5b3JpZ2luX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJp
dHlvcmlnaW5fcC5oCkBAIC0yMSw3ICsyMSw3IEBACiAjZGVmaW5lIF9XRUJTRUNVUklUWU9SSUdJ
Tl9QX0hfCiAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogY2xhc3MgUVdlYlNlY3VyaXR5T3JpZ2luUHJp
dmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmggYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggYzk0ZDYxYTMy
OTQwYTZhNDNkNTZlOWRlZTllNDE4MjhiN2QyNDFkYy4uNmM3ZDAwZjg1ZDc4NDlmNTViODIxNTk2
NDcwN2Y5MWZhOTU0ZTY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaApAQCAtMzIsMTAgKzMyLDEwIEBACiAKICNpbmNsdWRl
ICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmgiCi0jaW5jbHVkZSAiT3duUHRyLmgiCi0jaW5jbHVkZSAiUGFzc093blB0ci5oIgogI2lu
Y2x1ZGUgPFF0Q29yZS9RU3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIFFX
ZWJQYWdlOwogY2xhc3MgUVdlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaAppbmRleCBlYTExMWZhNWNmZTFjMzYyYjk0
Y2NjNGZjMGQzNTFkZTk4NTJiZTkzLi4yOTgwZDQ1ODI0YTY3ZWRlZTQ5OTEyYWE0YThlMmU4YWQ5
NGEzOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFs
bGJhY2tXZWJQb3B1cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRG
YWxsYmFja1dlYlBvcHVwLmgKQEAgLTIwLDggKzIwLDggQEAKICNpZm5kZWYgUXRGYWxsYmFja1dl
YlBvcHVwX2gKICNkZWZpbmUgUXRGYWxsYmFja1dlYlBvcHVwX2gKIAotI2luY2x1ZGUgIlBsYXRm
b3JtLmgiCiAjaW5jbHVkZSAicXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgiCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAKICNpbmNsdWRlIDxRQ29tYm9Cb3g+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKaW5kZXggYmNhMmU1ZjM4MmJmMmFj
MGNjNjQwNGIxYjBlNWE4MWJlZTNiZTgxMS4uNDI2NDc1NzY2NzgyMjRiNDU4Y2I2MDY5MTU1NWU3
Y2IwZWRkZDM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9R
dFdlYkNvbWJvQm94LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdl
YkNvbWJvQm94LmgKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgUXRXZWJDb21ib0JveF9oCiAj
ZGVmaW5lIFF0V2ViQ29tYm9Cb3hfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKKyNpbmNsdWRl
IDx3dGYvUGxhdGZvcm0uaD4KIAogI2luY2x1ZGUgPFFDb21ib0JveD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnBy
aSBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4cGVyaW1lbnRh
bC5wcmkKaW5kZXggNTgzNzI2ZjYyY2ZjYjZiYTg5NmI1NTU5YTk5ZWJkNGZlN2NlMWE0OS4uMTUz
ODZiODA3MWY2NzY3MjM2YWU1OTQ2Y2Q2M2ZkNWU5NGZhMzViYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnByaQorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9leHBlcmltZW50YWwu
cHJpCkBAIC00Myw3ICs0Myw4IEBAIElOQ0xVREVQQVRIICs9IFwKICAgICAuLi8uLi8uLi8uLi9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZSBcCiAgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENv
cmUvcnVudGltZSBcCiAgICAgLi4vLi4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybSBcCi0gICAgLi4v
Li4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDCisgICAgLi4vLi4vLi4vLi4vV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKKyAgICAuLi8uLi8uLi8uLi9XVEYKIAogdGFyZ2V0LnBhdGgg
PSAkJFtRVF9JTlNUQUxMX0lNUE9SVFNdLyQke1RBUkdFVC5tb2R1bGVfbmFtZX0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMucHJpIGIvU291cmNlL1dl
YktpdC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMucHJpCmluZGV4IGUzODllMzhlYjA4OTMyZDVmNmJh
OTY2YWE1Zjc4YjFiYTU2ZTE2ZGIuLmEyZjc3ZWU3YzdmNmY1MWVmYmNkM2NmOTBjZTRkNGIyYzJj
ZjhhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnBy
aQorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKQEAgLTQ0LDcg
KzQ0LDggQEAgSU5DTFVERVBBVEggKz0gXAogICAgIC4uLy4uLy4uL1dlYktpdDIvU2hhcmVkL3F0
IFwKICAgICAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCiAgICAgLi4vLi4vLi4vSmF2YVNjcmlw
dENvcmUvcnVudGltZSBcCi0gICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmCisgICAgLi4v
Li4vLi4vSmF2YVNjcmlwdENvcmUvd3RmIFwKKyAgICAuLi8uLi8uLi9XVEYKIAogU09VUkNFUyAr
PSBwbHVnaW4uY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvTUlNRVNu
aWZmaW5nL01JTUVTbmlmZmluZy5wcm8gYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL01JTUVTbmlm
ZmluZy9NSU1FU25pZmZpbmcucHJvCmluZGV4IGZlNTBmMWIzNDNhNzk2NjhiMDI1N2NhNjg4YWNi
ZDE5NWNmZjQyMjEuLmM4NTZhNmU3ZGEwZDQ5NzU1YTBmYWVhM2I2N2JiNDI4ODgwZTlhMjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZmaW5nL01JTUVTbmlmZmlu
Zy5wcm8KKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9NSU1FU25pZmZpbmcvTUlNRVNuaWZm
aW5nLnBybwpAQCAtMTAsNiArMTAsNyBAQCBIRUFERVJTICs9IFwKIElOQ0xVREVQQVRIICs9IFwK
ICAgICAuLi8uLi8uLi8uLi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsgXAogICAgIC4uLy4uLy4u
Ly4uL0phdmFTY3JpcHRDb3JlIFwKLSAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lCisgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCisgICAgLi4vLi4v
Li4vLi4vV1RGCiAKIFJFU09VUkNFUyArPSByZXNvdXJjZXMucXJjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKaW5kZXggZDE1NjViZWMyMGRkZWFhMDM0
YjM4MzgyMTkxYmY5MTBjMTlkMDYwNS4uNDU3ZDdiZTI3YWYwM2Y4YzRhMmRmNDNhZGEyNzk1NTM2
OTBmYTY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1Jl
cGx5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURh
dGEuaApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWZuZGVmIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAj
ZGVmaW5lIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgot
I2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNs
dWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKaW5kZXggZjIxMDY2MGZkNGU1MzM2MTVjM2Ey
Y2Y3YTAwNzdhNDkxZTU3N2M1Mi4uOGE4MGZiMzY5OTFmZjU4YmQ2NGZmNmVlMThmNTY5OWFlMmUz
ZTkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVl
c3REYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVz
dERhdGEuY3BwCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNsdWRlICJRdE5ldHdvcmtSZXF1ZXN0
RGF0YS5oIgogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNRdC5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8UU5l
dHdvcmtSZXBseT4KICNpbmNsdWRlIDxRTmV0d29ya1JlcXVlc3Q+CiAjaW5jbHVkZSA8UVV1aWQ+
CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQv
UXROZXR3b3JrUmVxdWVzdERhdGEuaAppbmRleCAwODJkNDk5Y2MyNjljYTE5YmQzYTJkNmNiN2Fm
NWRlZmYwYjI0NzRlLi45NDBiZjgxNWY2MjUzMWZiMzEyNDVjYzkzNzM1ZWM5Y2Q2NmUyMGFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaApA
QCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBRdE5ldHdvcmtSZXF1ZXN0RGF0YV9oCiAjZGVmaW5l
IFF0TmV0d29ya1JlcXVlc3REYXRhX2gKIAotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50
eHQKaW5kZXggM2MxZmVhYmJkOTBlMTQwYjI3ZWRhZjRkZTE4ZDExYTU0YjYwNGY5ZC4uY2FiZTRj
ZjFlYzk5NDI0Mjk2NGU5NTYyOTllOThiMGI5ZTA0ZjI2NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtNDEsNiArNDEsNyBAQCBTRVQoRHVtcFJlbmRlclRyZWVf
TElCUkFSSUVTCiApCiAKIFNFVChEdW1wUmVuZGVyVHJlZV9JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgJHtXVEZfRElSfQogICAgICIke1dFQktJVF9ESVJ9L2VmbC9ld2siCiAgICAgJHtXRUJLSVRf
RElSfS9lZmwKICAgICAke1dFQkNPUkVfRElSfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWUucHJvCmluZGV4IDU2NjA0ZDUxODU2YzNkYjlkYjAwNTJhZGE5ZjJiNjg1YjVk
ZGEwNjAuLjU0YmNkYmZlMGFlOTk0YTg4ZDRlNWViNWE5YTliNTRkNzE3NDljM2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybworKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KQEAgLTE1LDcgKzE1LDggQEAg
V0VCS0lUICs9IHd0ZiB3ZWJjb3JlCiAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJFBXRC8uLiBc
Ci0gICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
CisgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
IFwKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XVEYKIAogUVQgPSBjb3JlIGd1aSBu
ZXR3b3JrIHRlc3RsaWIgd2Via2l0CiBtYWN4OiBRVCArPSB4bWwKZGlmZiAtLWdpdCBhL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8gYi9Ub29scy9RdFRlc3RCcm93c2VyL1F0
VGVzdEJyb3dzZXIucHJvCmluZGV4IDYyOGRjMWY0MjJiMWY0MTQxN2RjN2IxZDFkODUyMzBkOTUz
YjE5N2EuLjZkOGE0MWI3MjNjYTQ5ZTBhNjVkYjBkZTczYjgzM2JiM2UxOGMwMGYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KKysrIGIvVG9vbHMvUXRU
ZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybwpAQCAtOSw2ICs5LDcgQEAgVEVNUExBVEUgPSBh
cHAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQgXAogICAgICQke1JPT1RfV0VCS0lUX0RJUn0vVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvIFwKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XVEYKIAog
bG9hZChmZWF0dXJlcykKIApkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3Rz
LnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5Nzk2ODU0YzhkNDZjLi5hOWMx
YmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEwMDY0NAotLS0gYS9DTWFrZUxp
c3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBJRiAoT05MWV9C
VUlMRF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RPT0xTIE9GRikKIEVORElGICgp
CiAKK1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogU0VUKEpB
VkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUiKQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3Jl
IikKIFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQiKQpk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFiZWU1MGQyZjRmMDRhYjU1
YjhkNDRiN2NmNGM0MzkwYWZmMzhiZDAuLjljZWEyOTNmNjFiOTUxYzRjYzgzOWM4YjRkZjlmMzNl
MTkxMTA3ZTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9X
VEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEyLTAzLTIwICBHeXV5b3VuZyBL
aW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBoYXNTcGVs
bGluZ01hcmtlciB0byB1c2UgSW50ZXJuYWxzIGludGVyZmFjZS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132910</attachid>
            <date>2012-03-20 15:09:42 -0700</date>
            <delta_ts>2012-03-20 15:39:31 -0700</delta_ts>
            <desc>Attempt to fix win-ews again</desc>
            <filename>bug-80911-20120320150941.patch</filename>
            <type>text/plain</type>
            <size>91023</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Y2E2NzZhZDAyOThjOTQ2YjI5ZDhhZTcyMmIyNGNlNWFmNGQwMmUxLi45ZTQ0ZDdjZGM1YjNkNDk3
YjBlZDhjYjEwNTI0NDA1YmQxYTRlY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0y
MCAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUg
V1RGLXJlbGF0ZWQgV2luZG93cyBwcm9qZWN0IGZpbGVzIG91dCBvZiBKYXZhU2NyaXB0Q29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCBmYWVmODAxNTAzYzdhNWUyYWZhODE0ZjJlZWVjMjlhZGI0ZWZlZTZmLi4yMzUwM2RjYzY5
Mjc0MmMxYzllNWVmY2I2ODNlMTRmZjk2ZDNkMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0
Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0
byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1
aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgor
ICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5
IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmguCisKIDIwMTItMDMtMjAgIFN0ZXZlIEZhbGtl
bmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdURi1yZWxhdGVkIFdp
bmRvd3MgcHJvamVjdCBmaWxlcyBvdXQgb2YgSmF2YVNjcmlwdENvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4ZmI5NjY2OTNiYWFm
N2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2NDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAogU0VUKEphdmFTY3Jp
cHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAg
ICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9IgogICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vRm9yd2FyZGlu
Z0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBl
ZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li40YThlY2Q0MmZlYjQ3YjU4
YmMwZjU5ODYxMmZlMjkyNmE2OTYxYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcmkKQEAgLTEyLDYgKzEyLDcgQEAgSkFWQVNDUklQVENPUkVfR0VORVJBVEVEX1NP
VVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS8KIElO
Q0xVREVQQVRIICs9IFwKICAgICAkJFNPVVJDRV9ESVIgXAogICAgICQkU09VUkNFX0RJUi8uLiBc
CisgICAgJCRTT1VSQ0VfRElSLy4uL1dURiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2VtYmxlciBc
CiAgICAgJCRTT1VSQ0VfRElSL2J5dGVjb2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvbXBp
bGVyIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2JmNjVmZmJlYjJmNDM5YjBk
MDU5OGZmNWVkZjhjMWNkM2I1YThhNy4uMzQ4ZDZjZDdmMjE3MTJmMjg0NzA4NGZkOWMzNTFiYzEy
ZTE4MDg0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTMsNyArMTA5Myw2
IEBACiAJCTY1QzY0N0IzMDkzRUY4RDYwMDIyQzM4MCAvKiBSZWZQdHIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmUHRyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVDN0ExNzEwQThFQUFDQjAwRkEz
N0VBIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVERkM5MkEwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hGdW5j
dGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSGFzaEZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IH07CiAJCTY1REZDOTJCMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoTWFwLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hNYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQzA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaFNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYXNoU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgfTsKQEAgLTIxNDEsNyArMjE0MCw2IEBACiAJCQkJNDRERDQ4NTIwRkFFQTg1MDAwRDZC
NEVCIC8qIFBhc3NPd25QdHIuaCAqLywKIAkJCQk2NTgwRjc5NTA5NDA3MDU2MDA4MkMyMTkgLyog
UGFzc1JlZlB0ci5oICovLAogCQkJCTY1MURDQTAyMTM2QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJh
aXRzLmggKi8sCi0JCQkJNjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8s
CiAJCQkJQTdENjQ5QTkxMDE1MjI0RTAwOUIyRTFCIC8qIFBvc3NpYmx5TnVsbC5oICovLAogCQkJ
CTA4OEZBNUI5MEVGNzZENDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuY3BwICovLAogCQkJCTA4
OEZBNUJBMEVGNzZENDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuaCAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDcyNDIwMTI4YTdhZjU5MTY4OGFkNDRm
ZTUxYjBmNTg1ZWE2NzJiNmEuLmFkYWI3Mjg2YTcwOTM5Y2UyOTdiMDU5MzJiNWQxOGE4NDRjNmNj
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNjksNyAr
NjksNyBAQCBTRVQoV1RGX0hFQURFUlMKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmgKICAgICBQ
YXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oCiAgICAgUGFyYWxsZWxKb2JzT3Blbk1QLmgKLSAgICBQ
bGF0Zm9ybS5oCisgICAgJHtXVEZfRElSfS93dGYvUGxhdGZvcm0uaAogICAgIFBvc3NpYmx5TnVs
bC5oCiAgICAgUmFuZG9tTnVtYmVyLmgKICAgICBSYW5kb21OdW1iZXJTZWVkLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgz
NGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIwZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXVEZfUGxhdGZvcm1faAotI2RlZmluZSBX
VEZfUGxhdGZvcm1faAotCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwot
I2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1Ms
IG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKLSAgIENQVS4gVGhpcyBt
YWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgot
ICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVm
aW5pdGlvbnMuID09PT0gKi8KLSNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVk
IFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVS
RSkKLQotCi0vKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmli
ZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KLQotLyogQ1BV
KCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNkZWZpbmUgQ1BVKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVB
VFVSRSkKLS8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVu
Y3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCi0jZGVmaW5lIEhB
VkUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dU
Rl9GRUFUVVJFKQotLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0
byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZpcnR1
YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KLSNkZWZpbmUgT1MoV1RG
X0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZf
RkVBVFVSRSkKLQotCi0vKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmlu
ZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KLQotLyogVVNF
KCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mg
c2VydmljZSAqLwotI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNX
VEZfRkVBVFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQotLyogRU5BQkxFKCkgLSB0dXJu
IG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KLSNkZWZpbmUgRU5BQkxFKFdURl9G
RUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUpCi0KLQotLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9
PT09ICovCi0KLS8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlE
RExFX0VORElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCi0KLS8qIENQVShBTFBI
QSkgLSBERUMgQWxwaGEgKi8KLSNpZiBkZWZpbmVkKF9fYWxwaGFfXykKLSNkZWZpbmUgV1RGX0NQ
VV9BTFBIQSAxCi0jZW5kaWYKLQotLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCi0j
aWYgZGVmaW5lZChfX2lhNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKLS8qIDMyLWJpdCBt
b2RlIG9uIEl0YW5pdW0gKi8KLSNpZiAhZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgV1RGX0NQ
VV9JQTY0XzMyIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0
ICovCi0vKiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9y
IE8zMiBBQkkgZm9yIG5vdy4gICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21p
cHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKLSAgICAmJiBkZWZp
bmVkKF9BQklPMzIpCi0jZGVmaW5lIFdURl9DUFVfTUlQUyAxCi0jaWYgZGVmaW5lZChfX01JUFNF
Ql9fKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0jZGVmaW5lIFdURl9N
SVBTX1BJQyAoZGVmaW5lZCBfX1BJQ19fKQotI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcwot
I2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQ
U19BUkNIID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBX
VEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKLSNkZWZpbmUgV1RGX01JUFNfQVJD
SF9SRVYgX19taXBzX2lzYV9yZXYKLSNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5l
ZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQotI2RlZmluZSBX
VEZfTUlQU19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmlu
ZWQgX19taXBzX3NpbmdsZV9mbG9hdCkKLSNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBf
X21pcHNfZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCi0vKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRv
cnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmIC8qIE1JUFMgKi8KLQotLyogQ1BVKFBQQykgLSBQ
b3dlclBDIDMyLWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAotICAgIHx8IGRl
ZmluZWQoX19QUENfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCi0gICAg
fHwgZGVmaW5lZChfX3Bvd2VycGMpICAgXAotICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQykKLSNk
ZWZpbmUgV1RGX0NQVV9QUEMgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlm
Ci0KLS8qIENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3Bw
YzY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9QUEM2
NCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNINCkg
LSBTdXBlckggU0gtNCAqLwotI2lmIGRlZmluZWQoX19TSDRfXykKLSNkZWZpbmUgV1RGX0NQVV9T
SDQgMQotI2VuZGlmCi0KLS8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLwotI2lmIGRl
ZmluZWQoX19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJj
djgpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElB
TiAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCi0jaWYgZGVm
aW5lZChfX3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFy
Y3Y5KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShT
UEFSQzMyKSBhbmQgQ1BVKFNQQVJDNjQpICovCi0jaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFS
QzY0KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MFgpIC0g
UzM5MCA2NC1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MHhfXykKLSNkZWZpbmUgV1RGX0NQVV9T
MzkwWCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFMz
OTApIC0gUzM5MCAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MF9fKQotI2RlZmluZSBXVEZf
Q1BVX1MzOTAgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQ
VShYODYpIC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwK
LSAgICB8fCBkZWZpbmVkKGkzODYpICAgICBcCi0gICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAot
ICAgIHx8IGRlZmluZWQoX1g4Nl8pICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQot
I2RlZmluZSBXVEZfQ1BVX1g4NiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAv
IEludGVsNjQgLyB4ODZfNjQgNjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwK
LSAgICB8fCBkZWZpbmVkKF9NX1g2NCkKLSNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQotI2VuZGlm
Ci0KLS8qIENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCi0jaWYgICBkZWZpbmVkKGFybSkg
XAotICAgIHx8IGRlZmluZWQoX19hcm1fXykgXAotICAgIHx8IGRlZmluZWQoQVJNKSBcCi0gICAg
fHwgZGVmaW5lZChfQVJNXykKLSNkZWZpbmUgV1RGX0NQVV9BUk0gMQotCi0jaWYgZGVmaW5lZChf
X0FSTUVCX18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCi0j
ZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0KLSNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklf
XykgXAotICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19WRlBf
RlBfXykgXAotICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKLSAgICAmJiAhZGVmaW5lZChB
TkRST0lEKQotI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQotCi0jZW5kaWYKLQotI2Rl
ZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9W
RVJTSU9OID49IE4pCi0KLS8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVm
aW5lZChfX0FSTV9BUkNIXzRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAotICAgIHx8IGRlZmluZWQoX0FSTVY0
SV8pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKLQotI2VsaWYgZGVmaW5lZChfX0FS
TV9BUkNIXzVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX01BUk1fQVJNVjVfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQot
Ci0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05N
RU5UX0lOVEVHRVIgMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0g
ICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYK
LQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfN1JfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNwotCi0vKiBSVkNUIHNl
dHMgX1RBUkdFVF9BUkNIX0FSTSAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkK
LSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KLQotI2lmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF81RSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81
VEUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKLS8qQVJNdjVURSByZXF1
aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0Vf
QVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLSNlbHNlCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDAKLQotI2VuZGlmCi0KLS8qIFNldCBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OICovCi0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKLSNkZWZpbmUgV1RG
X1RIVU1CX0FSQ0hfVkVSU0lPTiAxCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzVURUpfXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCi0KLSNlbGlm
IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZL
X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQotI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzZUMl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiA0Ci0KLS8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCi0jZWxpZiBk
ZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gX19UQVJHRVRfQVJDSF9USFVNQgotCi0jZWxzZQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9W
RVJTSU9OIDAKLSNlbmRpZgotCi0KLS8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1
Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KLS8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0
dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAotICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVy
IGRpZmZlcmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLwotI2lmICFkZWZpbmVkKEFSTVY1X09S
X0xPV0VSKSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCi0jZGVmaW5lIFdURl9DUFVfQVJN
VjVfT1JfTE9XRVIgMQotI2VuZGlmCi0KLQotLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVt
YjIgaXMgbm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIp
ICovCi0vKiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWls
YWJsZSAqLwotLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLwotI2lmICFk
ZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9U
SFVNQjIpCi0jICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCi0g
ICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RI
VU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwgMAotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKLSMgIGVsaWYgV1RGX0FSTV9B
UkNIX0FUX0xFQVNUKDQpCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCi0j
ICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAotIyAgZWxzZQotIyAgICBlcnJvciAiTm90
IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgotIyAgZW5kaWYKLSNlbGlmIENQVShBUk1fVFJB
RElUSU9OQUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KLSMgIGVycm9y
ICJDYW5ub3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVf
QVJNX1RIVU1CMiBwbGF0Zm9ybXMiCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJB
RElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KLQotI2lmIGRlZmlu
ZWQoX19BUk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQotI2RlZmluZSBX
VEZfQ1BVX0FSTV9ORU9OIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogQVJNICovCi0KLSNpZiBDUFUo
QVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQotI2RlZmluZSBXVEZf
Q1BVX05FRURTX0FMSUdORURfQUNDRVNTIDEKLSNlbmRpZgotCi0vKiA9PT09IE9TKCkgLSB1bmRl
cmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93
LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBh
IEdVSSB0b29sa2l0ID09PT0gKi8KLQotLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCi0jaWZk
ZWYgQU5EUk9JRAotI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCi0jZW5kaWYKLQotLyogT1MoQUlY
KSAtIEFJWCAqLwotI2lmZGVmIF9BSVgKLSNkZWZpbmUgV1RGX09TX0FJWCAxCi0jZW5kaWYKLQot
LyogT1MoREFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBh
bmQgaVBob25lIE9TICovCi0jaWZkZWYgX19BUFBMRV9fCi0jZGVmaW5lIFdURl9PU19EQVJXSU4g
MQotCi0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFj
cm9zLmg+Ci0jaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jZW5kaWYKLQotLyogT1Mo
SU9TKSAtIGlPUyAqLwotLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcg
aU9TKSAqLwotI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkg
JiYgVEFSR0VUX09TX0VNQkVEREVEKSBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9O
RSkgJiYgVEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKLSAgICB8fCAoZGVmaW5l
ZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQot
I2RlZmluZSBXVEZfT1NfSU9TIDEKLSNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRf
T1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDCi0jZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCi0vKiBG
SVhNRTogQlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBm
b2xkZWQgaW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzYKLSNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBN
QUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEK
LSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2RlZmluZSBCVUlMRElOR19P
Tl9MSU9OIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwg
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNk
ZWZpbmUgVEFSR0VUSU5HX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lP
Tl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJ
T05fMTBfNwotI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVk
KE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQotI2VuZGlm
Ci0jZW5kaWYKLQotLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCi0jaWYgZGVmaW5lZChfX0Zy
ZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9r
ZXJuZWxfXykKLSNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQotI2VuZGlmCi0KLS8qIE9TKEhVUkQp
IC0gR05VL0h1cmQgKi8KLSNpZmRlZiBfX0dOVV9fCi0jZGVmaW5lIFdURl9PU19IVVJEIDEKLSNl
bmRpZgotCi0vKiBPUyhMSU5VWCkgLSBMaW51eCAqLwotI2lmZGVmIF9fbGludXhfXwotI2RlZmlu
ZSBXVEZfT1NfTElOVVggMQotI2VuZGlmCi0KLS8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KLSNp
ZiBkZWZpbmVkKF9fTmV0QlNEX18pCi0jZGVmaW5lIFdURl9PU19ORVRCU0QgMQotI2VuZGlmCi0K
LS8qIE9TKE9QRU5CU0QpIC0gT3BlbkJTRCAqLwotI2lmZGVmIF9fT3BlbkJTRF9fCi0jZGVmaW5l
IFdURl9PU19PUEVOQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhRTlgpIC0gUU5YICovCi0jaWYgZGVm
aW5lZChfX1FOWE5UT19fKQotI2RlZmluZSBXVEZfT1NfUU5YIDEKLSNlbmRpZgotCi0vKiBPUyhT
T0xBUklTKSAtIFNvbGFyaXMgKi8KLSNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikK
LSNkZWZpbmUgV1RGX09TX1NPTEFSSVMgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkNFKSAtIFdpbmRv
d3MgQ0U7IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRl
ZmluZWQgKi8KLSNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCi0jZGVmaW5lIFdURl9PU19XSU5DRSAx
Ci0jZW5kaWYKLQotLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCi0j
aWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCi0jZGVmaW5lIFdURl9PU19XSU5E
T1dTIDEKLSNlbmRpZgotCi0jZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJ
VEggT1MgTk9UIFdJTiIKLSNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJ
VEggT1MgTk9UIE1BQyIKLQotLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLwot
I2lmICAgT1MoQUlYKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAg
IFwKLSAgICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCi0gICAgfHwgT1MoRlJFRUJTRCkgICAg
ICAgICAgXAotICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhMSU5VWCkg
ICAgICAgICAgICBcCi0gICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAotICAgIHx8IE9TKE9Q
RU5CU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCi0gICAgfHwg
T1MoU09MQVJJUykgICAgICAgICAgXAotICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXhfXykKLSNk
ZWZpbmUgV1RGX09TX1VOSVggMQotI2VuZGlmCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMg
Ki8KLQotLyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZp
cm9ubWVudCBhbmQgcG9saWN5IGNob2ljZXMuICovCi0vKiBQTEFURk9STShDSFJPTUlVTSkgKi8K
LS8qIFBMQVRGT1JNKFFUKSAqLwotLyogUExBVEZPUk0oV1gpICovCi0vKiBQTEFURk9STShHVEsp
ICovCi0vKiBQTEFURk9STShCTEFDS0JFUlJZKSAqLwotLyogUExBVEZPUk0oTUFDKSAqLwotLyog
UExBVEZPUk0oV0lOKSAqLwotI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKLSNkZWZp
bmUgV1RGX1BMQVRGT1JNX0NIUk9NSVVNIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX1FUIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dYIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9HVEsgMQotI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFD
S0JFUlJZX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKLSNlbGlmIE9TKERB
UldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCi0jZWxpZiBPUyhXSU5ET1dTKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fV0lOIDEKLSNlbmRpZgotCi0vKiBQTEFURk9STShJT1MpICovCi0v
KiBGSVhNRTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0
aW1lcyBmb3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLwotI2lmIChkZWZpbmVkKFRBUkdFVF9PU19F
TUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBI
T05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNl
bmRpZgotCi0vKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLwotI2lmIGRlZmluZWQoVEFSR0VU
X0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9JT1MgMQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCi0j
ZWxzZQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAot
I2VuZGlmCi0KLS8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KLQotLyogVVNFKENHKSBhbmQgUExBVEZP
Uk0oQ0kpICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdU
Rl9VU0VfQ0cgMQotI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8
IChQTEFURk9STShXSU4pICYmIFVTRShDRykpCi0jZGVmaW5lIFdURl9VU0VfQ0EgMQotI2VuZGlm
Ci0KLS8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCi0jaWYgUExBVEZP
Uk0oQ0hST01JVU0pCi0jaWYgT1MoREFSV0lOKQotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlV
TSkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQot
I2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVY
VCAxCi0jZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCi0jZWxpZiBPUyhBTkRST0lEKQotI2RlZmlu
ZSBXVEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCi0jZWxz
ZQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAx
Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUgRU5B
QkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNkZWZpbmUg
V1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKLSNl
bmRpZgotCi0KLSNpZiBPUyhXSU5DRSkKLSNpbmNsdWRlIDxjZV90aW1lLmg+Ci0jZGVmaW5lIFdU
Rl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZW5kaWYKLQotLyogT24gV2luZG93cywg
dXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KLSNpZiBPUyhXSU5ET1dT
KQotI2RlZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKLSNlbmRpZgot
Ci0jaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgTk9NSU5NQVggICAgICAg
LyogV2luZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLwot
I2RlZmluZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5D
ZSAqLwotCi0vKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHBy
b3ZpZGVkIHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8K
LSNkZWZpbmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KLQotI2RlZmlu
ZSBfSU5DX0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KLSNkZWZpbmUgYXNzZXJ0
KHgpCi0KLSNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KLQotI2lmIFBM
QVRGT1JNKFFUKQotI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCi0jZGVmaW5lIFdURl9VU0Vf
UVQ0X1VOSUNPREUgMQotI2VuZGlmCi0jZWxpZiBPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9X
SU5DRV9VTklDT0RFIDEKLSNlbGlmIFBMQVRGT1JNKEdUSykKLS8qIFRoZSBHVEsrIFVuaWNvZGUg
YmFja2VuZCBpcyBjb25maWd1cmFibGUgKi8KLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSUNVX1VO
SUNPREUgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCi0j
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUg
V1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNk
ZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5E
SU5HIDEKLSNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLSNpZiAh
ZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAx
Ci0jZW5kaWYKLSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5l
IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9DRiAx
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKLSNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAx
Ci0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNkZWZpbmUgRU5BQkxF
X1dFQl9BVURJTyAxCi0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCi0jZGVmaW5lIEVOQUJMRV9W
SURFT19UUkFDSyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCi0jZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEK
LSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KLQot
I2lmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0Yg
MQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9D
SyAxCi0KLSNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9V
U0VfQ0YgMQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJX
SU4pICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1BV
UkdFQUJMRV9NRU1PUlkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVO
QUJMRV9DT05URVhUX01FTlVTIDAKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVm
aW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAx
Ci0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCi0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJB
U0UgMAotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJ
REdFIDAKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAotI2RlZmluZSBFTkFC
TEVfT1JJRU5UQVRJT05fRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElO
RyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEhBVkVfTkVUV09SS19D
RkRBVEFfQVJSQVlfQ0FMTEJBQ0sgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNk
ZWZpbmUgSEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCi0jZGVm
aW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCi0jZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQotCi0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLSAgICAjZGVm
aW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSAgICAjZGVmaW5lIEVOQUJMRV9KSVQg
MAotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKLSNlbHNlCi0gICAgI2RlZmluZSBFTkFC
TEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAwCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDEKLSAgICAj
ZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotI2Vu
ZGlmCi0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCi0jZGVmaW5l
IFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKLSNlbmRpZgotCi0jaWYg
UExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2VuZGlmCi0K
LSNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKLSNk
ZWZpbmUgV1RGX1VTRV9DRlVSTENBQ0hFIDEKLSNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VT
RVNTSU9OUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1dFQl9B
UkNISVZFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQ
TEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFU
KQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXWCkKLSNpZiAhQ1BVKFBQQykKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZGVmaW5l
IEVOQUJMRV9KSVQgMQotI2VuZGlmCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19O
RVcgMAotI2RlZmluZSBFTkFCTEVfTExJTlQgMAotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgV1RG
X1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgRU5BQkxFX1dF
Ql9BUkNISVZFIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0jaWYgSEFW
RShQVEhSRUFEX0gpCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BU
SFJFQURfUldMT0NLIDEKLSNlbmRpZgotI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCi0j
ZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQotI2lmIFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCi0jZW5k
aWYKLSNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCi0KLSNpZiBPUyhV
TklYKQotI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFW
RV9WQVNQUklOVEYpCi0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAh
Q09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQotI2RlZmluZSBI
QVZFX1ZBU1BSSU5URiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9TVFJO
U1RSKQotI2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNf
XykpCi0jZGVmaW5lIEhBVkVfU1RSTlNUUiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIU9TKFdJ
TkRPV1MpICYmICFPUyhTT0xBUklTKSBcCi0gICAgJiYgIU9TKFJWQ1QpIFwKLSAgICAmJiAhT1Mo
QU5EUk9JRCkKLSNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQotI2RlZmluZSBIQVZFX1RNX1pPTkUg
MQotI2RlZmluZSBIQVZFX1RJTUVHTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLQotI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBI
QVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAx
Ci0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2Rl
ZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEUgMQotCi0jaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECi0K
LSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklN
QVRJT04gMQotCi0jaWYgIVBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVV
U0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO
QU1FX05QIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
SEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5k
aWYKLQotI2VsaWYgT1MoV0lORE9XUykKLQotI2lmIE9TKFdJTkNFKQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMAotI2Vsc2UKLSNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIEhBVkVf
QUxJR05FRF9NQUxMT0MgMQotI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKLSNlbmRp
ZgotI2RlZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCi0KLSNlbGlmIE9TKFFOWCkKLQotI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01BRFZf
RlJFRV9SRVVTRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9TQlJL
IDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK
LSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0K
LSNlbGlmIE9TKEFORFJPSUQpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDAKLSNkZWZpbmUgSEFWRV9OTUFQIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEK
LSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotI2Vsc2UKLQotLyogRklYTUU6IGlzIHRoaXMgYWN0
dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZp
Zy5oPyAqLwotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9f
SCAxCi0jZGVmaW5lIEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCi0KLSNlbmRpZgotCi0vKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KLQot
I2lmIFBMQVRGT1JNKFFUKQotLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3Bl
cmF0b3IgbmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLwotI2RlZmluZSBFTkFCTEVf
R0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNpZiAhT1MoVU5JWCkKLSNkZWZpbmUgVVNFX1NZU1RF
TV9NQUxMT0MgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0
aW9uIGFsbG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAotICAgbmV3IGlzIG1hdGNo
ZWQgYnkgZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKLSNkZWZp
bmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNF
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKLSNkZWZpbmUg
RU5BQkxFX1NRTF9EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKQotI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCi0jZGVmaW5lIEVOQUJMRV9GVFBE
SVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKLSNkZWZp
bmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
RFJBR19TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfSU5TUEVD
VE9SIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmlu
ZSBFTkFCTEVfSkFWQV9CUklER0UgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVU
U0NBUEVfUExVR0lOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NB
Q0hFKQotI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCi0jZGVmaW5lIEVO
QUJMRV9QVVJHRUFCTEVfTUVNT1JZIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9Q
TFVHSU5fSE9TVF9QUk9DRVNTKQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1Mg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQotI2Rl
ZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09QQ09ERV9TVEFUUykKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCi0jZGVmaW5l
IEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQotI2VuZGlmCi0KLSNkZWZpbmUgRU5BQkxF
X0RFQlVHX1dJVEhfQlJFQUtQT0lOVCAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVS
UyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19SRUdJT05TIDAKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCi0jZGVmaW5l
IEVOQUJMRV9DT0RFQkxPQ0tfU0FNUExJTkcgMAotI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJ
TkcpICYmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJ
TkcgcmVxdWlyZXMgT1BDT0RFX1NBTVBMSU5HIgotI2VuZGlmCi0jaWYgRU5BQkxFKE9QQ09ERV9T
QU1QTElORykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVH
SU9OUykKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQotI2RlZmluZSBFTkFCTEVf
VklFV1BPUlQgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykK
LSNkZWZpbmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1RFWFRfQ0FSRVQpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQotI2RlZmluZSBFTkFCTEVfRlVM
TFNDUkVFTl9BUEkgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NL
KQotI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
V1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQotI2lm
IChDUFUoWDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCi0gICAgfHwgKENQ
VShJQTY0KSAmJiAhQ1BVKElBNjRfMzIpKSBcCi0gICAgfHwgQ1BVKEFMUEhBKSBcCi0gICAgfHwg
Q1BVKFNQQVJDNjQpIFwKLSAgICB8fCBDUFUoUzM5MFgpIFwKLSAgICB8fCBDUFUoUFBDNjQpCi0j
ZGVmaW5lIFdURl9VU0VfSlNWQUxVRTY0IDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSlNWQUxV
RTMyXzY0IDEKLSNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAm
JiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9SRVBBSU5UX1RIUk9UVExJTkcpCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcg
MAotI2VuZGlmCi0KLS8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3Ig
dG8gNC4xICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAh
R0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5k
aWYKLQotLyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQotI2Rl
ZmluZSBFTkFCTEVfSklUIDAKLSNlbmRpZgotCi0vKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVm
YXVsdCBvbiBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLwotI2lmICFk
ZWZpbmVkKEVOQUJMRV9KSVQpIFwKLSAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSBcCi0gICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVS
KEdDQykgfHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKLSAgICAmJiAhT1MoV0lO
Q0UpIFwKLSAgICAmJiAhT1MoUU5YKQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotCi0v
KiBPbiBzb21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0
byBhbHNvIGhhdmUgdGhlIAotICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLwotI2lmICFkZWZp
bmVkKEVOQUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRG
T1JNKFFUKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkK
LSNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RG
R19KSVQpICYmIEVOQUJMRShKSVQpCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBY
ODZfNjQuICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KLSNpZiAoQ1BVKFg4
NikgfHwgQ1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKLSNkZWZp
bmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJN
djcuICBPbmx5IHRlc3RlZCBvbiBpT1MuICovCi0jaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRG
T1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0jZW5kaWYKLQotLyog
UHJvZmlsaW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBk
ZXBlbmRzIG9uIGl0LCBidXQgeW91Ci0gICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZH
IHR1cm5lZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQotICAgcHJv
ZmlsZXIuIEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVS
Qk9TRV9WQUxVRV9QUk9GSUxFCi0gICBiZWxvdy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkFM
VUVfUFJPRklMRVIpICYmIEVOQUJMRShERkdfSklUKQotI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJP
RklMRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9G
SUxFKSAmJiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCi0jZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZB
TFVFX1BST0ZJTEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBf
UFJPRklMSU5HKQotI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKLSNlbmRp
ZgotCi0vKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3Vu
dGVycy4gQmUgc3VyZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRv
IDEuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQotI2Rl
ZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIEVuc3Vy
ZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVk
LiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxF
KEpJVCkKLSNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQotI2VuZGlmCi0jaWYg
IShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCi0jZXJyb3IgWW91
IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVp
bGQgSlNDCi0jZW5kaWYKLQotI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBF
TkFCTEVfSklUIDEKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIEpJVCAqLwotI2lmIENQVShB
Uk0pCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1f
QVJDSF9BVF9MRUFTVCg1KQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMp
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCi0jZGVmaW5lIEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KSAm
JiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlm
IENQVShYODYpICYmIENPTVBJTEVSKEdDQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJp
YnV0ZV9fICgoZmFzdGNhbGwpKQotI2Vsc2UKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTAotI2VuZGlm
Ci0KLS8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01QSUxFUihHQ0MpIHx8
IChSVkNUX1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykp
Ci0jZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCi0jZW5kaWYKLSNpZiBIQVZFKENPTVBVVEVE
X0dPVE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQotI2RlZmluZSBFTkFCTEVfQ09N
UFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotCi0vKiBSZWd1bGFyIEV4
cHJlc3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJl
c3VsdHMgZHVtcGVkIGF0IGV4aXQgKi8KLSNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAK
LQotLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZv
ciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUg
RU5BQkxFX1lBUlJfSklUIDAKLQotI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxF
X1lBUlJfSklUKQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotCi0vKiBTZXR0aW5nIHRoaXMg
ZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCi0j
ZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCi0jZW5kaWYKLQotI2lmIEVOQUJMRShKSVQp
IHx8IEVOQUJMRShZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYK
LQotLyogUGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0
YWJsZSBhbGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KLSAgIE9uIHg4
Ni02NCB3ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1t
YXAgb24gZGVtYW5kLiAqLwotI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgQ1BVKFg4Nl82NCkg
fHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklY
RUQgMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAx
Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYm
IE9TKFdJTkRPV1MpCi0jZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZF
KQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAotI2VuZGlmCi0KLS8qIFVzZSB0aGUgUVht
bFN0cmVhbVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KLS8q
IFVzZSB0aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCi0j
aWYgUExBVEZPUk0oUVQpCi0jaWYgIVVTRShMSUJYTUwyKQotI2RlZmluZSBXVEZfVVNFX1FYTUxT
VFJFQU0gMQotI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCi0jZW5kaWYKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKQotLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLwotI2lmbmRlZiBC
VUlMRElOR19PTl9MRU9QQVJECi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMAotI2RlZmluZSBXVEZf
VVNFX0NPUkVfVEVYVCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUg
V1RGX1VTRV9DT1JFX1RFWFQgMAotI2VuZGlmCi0jZW5kaWYKLQotLyogQWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcgKi8KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZP
Uk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykpIHx8IFBMQVRGT1JNKEVGTCkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01Q
T1NJVElORyAxCi0jZW5kaWYKLQotLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4g
V2ViS2l0MiAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09N
UE9TSVRJTkcgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX1BST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCi0jZW5kaWYKLQotI2lmICFFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVO
SVgpICYmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShFRkwpKSkKLSNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9I
QVNIIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xJT04pCi0jZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcg
MQotI2VuZGlmCi0KLS8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBp
cyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVy
IEVycm9yLiAqLwotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNy
b19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSwotCi0vKiBGSVhNRTogRXZlbnR1YWxseSB3
ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhl
IGRlZmluZS4gKi8KLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVH
SUVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKQotI2RlZmluZSBXVEZfVVNFX0NST1NT
X1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYm
IEhBVkUoQUNDRVNTSUJJTElUWSkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRF
WFRfTUVOVVMgMQotI2VuZGlmCi0KLS8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUt
ZW1wdGl2ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVp
cmluZyBsb2NhdGlvbi4gKi8KLSNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BF
Uk1JU1NJT04gMQotCi0jaWYgQ1BVKEFSTV9USFVNQjIpCi0jZGVmaW5lIEVOQUJMRV9CUkFOQ0hf
Q09NUEFDVElPTiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElC
RElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19M
SUJESVNQQVRDSCAxCi0jZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYg
ZGVmaW5lZChfT1BFTk1QKQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCi0jZWxp
ZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19H
RU5FUklDIDEKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKLSNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HVHlwZWRlZnMuaD4KLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBkZWZpbmUg
d29uJ3QgYmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCi0g
ICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5j
ZSwgYWRkaW5nIG5ldyBoZWFkZXJzCi0gICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJl
YWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKLSAgIGJyZWFrYWdl
cyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShR
VCkgfHwgUExBVEZPUk0oV1gpCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCi0jZWxz
ZQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oUVQpICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
LSNkZWZpbmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5BQkxFX0NP
TVBBUkVfQU5EX1NXQVAgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxf
R0MpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAm
JiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkKLSNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEK
LSNlbmRpZgotCi0jaWZuZGVmIE5ERUJVRwotI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgot
I2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xJT04pCi0jZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9X
X0xFT1BBUkQpCi0jZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCi0jZGVm
aW5lIFdURl9VU0VfVjggMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICov
Ci0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDAKLSNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4KSAqLwotCi0vKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1
c2luZyBKU0MgYW5kIHZpY2UgdmVyc2EgKi8KLSNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0Vf
VjgKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5l
IEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KFdURl9VU0VfV1RGVVJMKQotI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKFdURl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNF
X1pMSUIgMQotI2VuZGlmCi0KLSNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGE1MjZmNGEzN2YzNzg0NjIyZDBjNTEwMzU4ZTNhNDVkZDczY2M1Zjku
LmM5Zjc2MTI1MzFmM2ZiZTRjMTkxYzY4ZjM3M2JjZWI5YjAzNDE0NzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEsMyArMSw0IEBACiB3dGZfc291cmNlcyArPSBcCiAJU291cmNlL1dURi9T
dHViLmNwcCBcCi0JU291cmNlL1dURi9TdHViLmgKKwlTb3VyY2UvV1RGL1N0dWIuaCBcCisgICAg
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYuZ3lw
aSBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKaW5kZXggYWVkMTc2MmJhMTYxYzIyMDY2MmYzNmQ1MDEz
OWNkMjYxZWFjNWJkMC4uNzFjNjc0Yzg0NDljZThjMjkwYTA5OTg0M2ZjNjUzMTU3Y2UyNmVmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYuZ3lwaQorKysgYi9Tb3VyY2UvV1RGL1dURi5neXBp
CkBAIC0zLDYgKzMsNyBAQAogICAgICAgICAncHJvamVjdF9kaXInOiBbJy4nXSwKICAgICAgICAg
J3d0Zl9wcml2YXRlaGVhZGVyX2ZpbGVzJzogWwogICAgICAgICAgICAgJ1N0dWIuaCcsCisgICAg
ICAgICAgICAnd3RmL1BsYXRmb3JtLmgnLAogICAgICAgICBdLAogICAgICAgICAnd3RmX2ZpbGVz
JzogWwogICAgICAgICAgICAgJ1N0dWIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RG
LnBybyBiL1NvdXJjZS9XVEYvV1RGLnBybwppbmRleCBiMTE3YjBkMmQ3NGZjOGZhYTVkNTQyZTI5
MmM4NjFkNmMwYzM1Nzc4Li4wMTBkZTM4NDBkOGY4ZTkxOTgxOWM5YTYxMDU4YWFkNmZjYjA2YTY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5wcm8KKysrIGIvU291cmNlL1dURi9XVEYucHJv
CkBAIC0xMDIsNyArMTAyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgUGFzc093blB0ci5oIFwKICAg
ICBQYXNzUmVmUHRyLmggXAogICAgIFBhc3NUcmFpdHMuaCBcCi0gICAgUGxhdGZvcm0uaCBcCisg
ICAgLi4vLi4vV1RGL3d0Zi9QbGF0Zm9ybS5oIFwKICAgICBQb3NzaWJseU51bGwuaCBcCiAgICAg
cXQvVXRpbHNRdC5oIFwKICAgICBSYW5kb21OdW1iZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNw
cm9qCmluZGV4IDc3YTFkYjhkNzlkMDM5NTkzMDQ4NTE0MjcwYzVmYjI5N2JiYTM2NzIuLmZjNzQ3
ZmVkMTZiMGM0ZDBiZjNkZDA2MDEyYjFlMGQ4NmU5YmI5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYu
dmNwcm9qCkBAIC05OTcsNyArOTk3LDcgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlxKYXZhU2NyaXB0Q29yZVx3dGZcUGxhdGZvcm0uaCIKKwkJCVJl
bGF0aXZlUGF0aD0id3RmXFBsYXRmb3JtLmgiCiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZmOGJkYzYyNmQ2Zjkx
MTRiYzY1NmVhMjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUxMjliZDUwNjE2M2Y1Zjg3OWU5ZTFlZDM5
YWYzY2M3MjUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOSw2ICs5LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAJCTVEMjQ3
Qjc5MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNw
cCAqLzsgfTsKIAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc4MTQ2ODlEODkwMEU3
OEI3NiAvKiBTdHViLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJ
QTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyog
UGxhdGZvcm0uaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KQEAgLTIwLDYgKzIxLDcgQEAKIAkJNUQy
NDdCNzcxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVE
MjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdFQjEx
NDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dU
Ri9IZWFkZXJEZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
KwkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1l
d29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3LDEwICs2OSwxOSBAQAogCQkJCTVEMjQ3
RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCAqLywKIAkJCQk1RDI0N0I3
NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8sCiAJCQkJNUQyNDdCNzgxNDY4OUQ4OTAw
RTc4Qjc2IC8qIFN0dWIuaCAqLywKKwkJCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3Rm
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwogCQl9OworCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBODc2REJENzE1MTgxNkU1MDBEQURC
OTUgLyogUGxhdGZvcm0uaCAqLywKKwkJCSk7CisJCQlwYXRoID0gd3RmOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCiAKIC8qIEJl
Z2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTc4LDggKzg5LDggQEAKIAkJ
CWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTVEMjQ3RUIyMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFk
ZXJEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3
NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODc2REJEODE1MTgxNkU1MDBEQURCOTUg
LyogUGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTQzLDcgKzE1NCw3IEBACiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke1RB
UkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmVsc2Vc
biAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVCUlL30ke1BSSVZBVEVfSEVBREVS
U19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURFUlNfUEFU
SH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5LWRpcnMg
LS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRT
b3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIq
XCIgXCIke1NSQ1JPT1R9L1wiIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuIjsKKwkJCXNo
ZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiTk9cIiBd
XTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtUQVJHRVRfQlVJTERfRElSJSUv
fSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFURV9IRUFE
RVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJc
bmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAt
LW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5c
IiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0taW5jbHVk
ZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNST09UfS93
dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOwogCQl9OwogCQk1RDI0N0U5RDE0
NjhBRUUyMDBFNzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJsZSBIZWFkZXJzICovID0gewogCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9jb25m
aWcuaCBiL1NvdXJjZS9XVEYvY29uZmlnLmgKaW5kZXggMGFiMzMyNjNiNzYxNzQ3YzcwN2Y4Mjhj
MTU0YjAyMDY2MjExMDA4Zi4uY2Q4NjI1MmM1MzA2OWI3MjQyNDRiMTVhMjMwMDEyOGQ3ZjYxMzQ5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9jb25maWcuaAorKysgYi9Tb3VyY2UvV1RGL2NvbmZp
Zy5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgogLy8g
V1RGIGNhbm5vdCBkZXBlbmQgb24gSlNDIGV2ZW4gaWYgVVNFKEpTQykuCiAjaWYgVVNFKEpTQykg
JiYgIWRlZmluZWQoQlVJTERJTkdfV1RGKQotI2luY2x1ZGUgIkpTRXhwb3J0TWFjcm9zLmgiCisj
aW5jbHVkZSAicnVudGltZS9KU0V4cG9ydE1hY3Jvcy5oIgogI2VuZGlmCiAKICNpZiBPUyhXSU5E
T1dTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0
MTcwYzBmMDIwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTAsMCArMSwxMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4
LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5j
bHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIu
aD4KKworLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQs
IGdyYXBoaWNzIEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0
IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lz
aW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVm
aW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVB
VFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9y
bSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFy
Z2V0IGVudmlyb25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJj
aGl0ZWN0dXJlICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8j
I1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVj
aWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0
IGFyZSBwcmVzZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5l
ZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1
bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQg
bG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29z
ZSBhIEdVSSB0b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
T1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQ
b2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEg
cGFydGljdWxhciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0
aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNF
KFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0Vf
IyNXVEZfRkVBVFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUg
b2YgV2ViS2l0ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxF
XyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BV
KCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28g
ZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIs
IGFzIGFwcHJvcHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYg
ZGVmaW5lZChfX2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8q
IENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisj
ZGVmaW5lIFdURl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYg
IWRlZmluZWQoX19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNl
bmRpZgorCisvKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIg
QUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLwor
I2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykg
fHwgZGVmaW5lZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBX
VEZfQ1BVX01JUFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9C
SUdfRU5ESUFOIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNf
XykKKyNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYp
IChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBX
VEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQ
U19BUkNIID49IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2Cisj
ZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYg
V1RGX01JUFNfQVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChk
ZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQp
CisjZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnBy
ID09IDY0KQorLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9y
eSAqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNl
bmRpZiAvKiBNSVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAg
IGRlZmluZWQoX19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisg
ICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAg
IFwKKyAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMp
ICAgICAgXAorICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNk
ZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93
ZXJQQyA2NC1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX1BQQzY0X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJ
R19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBk
ZWZpbmVkKF9fU0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUo
U1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZp
bmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQ
QVJDMzIgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShT
UEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZp
bmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9T
UEFSQzY0IDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUo
U1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0
KSAqLworI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9T
UEFSQyAxCisjZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVm
aW5lZChfX3MzOTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BV
X0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisj
aWYgZGVmaW5lZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzIt
Yml0ICovCisjaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAg
ICAgXAorICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAg
ICBcCisgICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQor
I2VuZGlmCisKKy8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJp
dCAqLworI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQp
CisjZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwg
YW55IHZlcnNpb24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJt
X18pIFwKKyAgICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVm
aW5lIFdURl9DUFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIo
UlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorCisjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChf
X0VBQklfXykgXAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5l
ZChfV0lOMzJfV0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQ
VV9NSURETEVfRU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xF
QVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJN
X0FSTVY0X18pIFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FS
Q0hfVkVSU0lPTiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18p
CisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9B
UkNIXzVFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1
CisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwor
I2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYg
ZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9f
KQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1f
QVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdU
Rl9BUk1fQVJDSF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8K
KyNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9W
RVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUp
IFwKKyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChf
X1RBUkdFVF9BUkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKKyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAw
CisKKyNlbmRpZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVm
aW5lZChfX0FSTV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQor
CisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF81VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5l
IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAg
ICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAzCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzdNX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNl
dHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RI
VU1CKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIK
KworI2Vsc2UKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisv
KiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVy
ICovCisvKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVp
cmVkLiAKKyAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3Ig
ZWFybGllci4gKi8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJD
SF9BVF9MRUFTVCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgor
CisKKy8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9u
bHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIp
IC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9m
IHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFE
SVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0
aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1i
KSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkK
KyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9D
UFVfQVJNX1RIVU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1f
VEhVTUIyIDAKKyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVj
dHVyZSIKKyMgIGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RI
VU1CMikgLyogU2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdU
Rl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgor
I2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChX
VEZfQ1BVX0FSTV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRl
ZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5k
aWYKKworI2VuZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQ
VShTSDQpIHx8IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VT
UyAxCisjZW5kaWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVt
OyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAor
ICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisK
Ky8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RG
X09TX0FORFJPSUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlY
CisjZGVmaW5lIFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFy
d2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVm
IF9fQVBQTEVfXworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJp
bGl0eS5oPgorI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdl
dENvbmRpdGlvbmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1B
Q19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4p
ICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
XAorICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUp
ICAgICAgICAgICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFU
T1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisj
ZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01B
QworI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBh
bmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lz
dGVtICovCisjaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxE
SU5HX09OX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8
fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Cisj
ZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1Nf
WF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1Nf
WF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAh
ZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJE
IDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VU
SU5HX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgp
IHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84
CisjZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVC
U0QpIC0gRnJlZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19E
cmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9P
U19GUkVFQlNEIDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYg
X19HTlVfXworI2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0g
TGludXggKi8KKyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRp
ZgorCisvKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQor
I2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5C
U0QgKi8KKyNpZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5k
aWYKKworLyogT1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZp
bmUgV1RGX09TX1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisj
aWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklT
IDEKKyNlbmRpZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRo
aXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChf
V0lOMzJfV0NFKQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRP
V1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRl
ZmluZWQoX1dJTjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmlu
ZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5l
IFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9T
KFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAg
ICAgIFwKKyAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAg
ICAgICAgICAgXAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJE
KSAgICAgICAgICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9T
KE5FVEJTRCkgICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAg
fHwgT1MoUU5YKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwK
KyAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAg
ICAgXAorICAgIHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNl
bmRpZgorCisvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBh
cmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9p
Y2VzLiAqLworLyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8q
IFBMQVRGT1JNKFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tC
RVJSWSkgKi8KKy8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBk
ZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlV
TSAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9R
VCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9X
WCAxCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
R1RLIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZf
UExBVEZPUk1fQkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9NQUMgMQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAx
CisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRp
bWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0
aGluZ3MgKi8KKyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19F
TUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9O
RSkKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBU
QVJHRVRfSVBIT05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX0lPU19TSU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1f
SU9TKQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBl
bmdpbmVzICovCisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0Uo
Q0cpKQorI2RlZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdp
bi9MaW51eC9NYWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERB
UldJTikKKyNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJ
QSAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNF
X0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lD
Q0pQRUcgMQorI2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lB
IDEKKyNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2Rl
ZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RF
Ul8xOTkzNyAxCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEdUSykKKyNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0Up
CisjaW5jbHVkZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJf
MTk5MzcgMQorI2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291
bnRlciBieSBkZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVS
WV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExB
VEZPUk0oUVQpCisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXgg
Y29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAg
Lyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVu
dGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4g
IEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAg
IC8qIGRpc2FibGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlz
YWJsZSAiYXNzZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RG
X1VTRV9JQ1VfVU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgor
I2VsaWYgT1MoV0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQ
TEFURk9STShHVEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxl
ICovCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJP
Q0VTUyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VW
RU5UUyAxCisjZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0Vf
U0NST0xMQkFSX1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJ
REdFKQorI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQgMQorI2VuZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJF
QURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJ
TkUgMQorI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFND
UkVFTl9BUEkgMQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVO
QUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmlu
ZWQoRU5BQkxFX1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisj
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05f
U05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZF
X0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkg
JiYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhS
RUFEUyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0Vf
V0tfU0NST0xMQkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVm
aW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShRVCkgJiYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9E
SVNQQVRDSF9IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAm
JiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisj
ZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUyAwCisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9D
QVRJT04gMQorI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lO
U1BFQ1RPUiAxCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9O
RVRTQ0FQRV9QTFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAx
CisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VC
X0FSQ0hJVkUgMQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEK
KyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQor
I2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZp
bmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lm
IFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRF
UlBSRVRFUiAxCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAwCisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIg
MAorICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQor
ICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUg
V1RGX1VTRV9QVEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVm
aW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNI
RSAxCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAh
UExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQ
TEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisj
ZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgor
I2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xM
SU5UIDAKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZf
VVNFX0NPUkVfVEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYK
KyNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURT
IDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEhBVkVfQUNDRVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQor
I2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQo
SEFWRV9BQ0NFU1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdO
QUxfSCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01Q
SUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENP
TVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlm
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8
IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5T
VFIgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykg
XAorICAgICYmICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVf
VE1fR01UT0ZGIDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00g
MQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNk
ZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFW
RV9NRVJHRVNPUlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0gg
MQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRF
IDEKKworI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hf
SCAxCisjZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9S
TShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURW
X0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1Mp
CisKKyNpZiBPUyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5l
IEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZp
bmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFM
QUxMT0MgMQorCisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZp
bmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBI
QVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVf
SCAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisj
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5l
IEhBVkVfTk1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
CisKKyNlbHNlCisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIg
cGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAg
MQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5l
IEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYK
KworLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdl
IG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZv
ciB0aGUgUXQgcG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAw
CisjaWYgIU9TKFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUg
dmVyaWZpY2F0aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxv
YyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19N
QVRDSF9WQUxJREFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRB
QkFTRSkKKyNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZp
bmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfRlRQRElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVT
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX0RSQUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0lOU1BFQ1RPUikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVm
aW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9QVVJHRUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNk
ZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisj
ZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxM
T0NfTkVXIDEKKyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQg
MAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FN
UExJTkdfRkxBR1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5l
IEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBM
SU5HIDAKKyNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9T
QU1QTElORykKKyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1Q
TElORyIKKyNlbmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1Q
TElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9T
QU1QTElOR19USFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJ
T04pCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9WSUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklD
QVRJT05TIDAKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVY
VF9DQVJFVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2Rl
ZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5U
RVJfTE9DSyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAh
ZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVO
SVgpIHx8IE9TKFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMy
KSkgXAorICAgIHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwg
Q1BVKFMzOTBYKSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2
NCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZB
TFVFMzJfNjQpICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQor
I2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxl
IHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApCisjZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1w
bGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkg
JiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5k
aWYKKworLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0
LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisg
ICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkg
XAorICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FU
X0xFQVNUKDQsIDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkK
KyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZv
cm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxv
dy1sZXZlbCBpbnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVO
QUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQor
LyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24g
TWFjIGFuZCBHTlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAo
UExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNl
bmRpZgorLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9T
LiAqLworI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJM
RV9ERkdfSklUIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQg
dmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQor
ICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50
IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlv
dSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAg
YmVsb3cuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUo
REZHX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BS
T0ZJTEVSKQorI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5B
QkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Yg
d3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwor
ICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVO
QUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJ
RVJfUFJPRklMSU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBv
ciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFC
TEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9D
TEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxF
KENMQVNTSUNfSU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qg
b25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBD
UFUoU0g0KSAmJiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKwor
LyogQ29uZmlndXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZp
bmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVRfVVNFX1NPRlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAx
CisjZW5kaWYKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZp
bmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihH
Q0MpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNl
bHNlCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGlu
dGVycHJldGVyICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNU
KDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVE
X0dPVE8gMQorI2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJ
Q19JTlRFUlBSRVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRF
UlBSRVRFUiAxCisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQg
dG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICov
CisjZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4
IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICov
CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNl
bGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5B
QkxFX1lBUlJfSklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3Vs
dHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRf
REVCVUcgMAorI2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisj
ZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2Nh
dG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBh
c3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZp
eGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBF
TkFCTEUoQVNTRU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZp
bmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVO
QUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBF
TkFCTEVfUEFOX1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9B
UkNISVZFIDAKKyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50
YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBs
ZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFV
U0UoTElCWE1MMikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VT
RV9RWE1MUVVFUlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENv
bXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2Rl
ZmluZSBXVEZfVVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UK
KyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNl
bmRpZgorI2VuZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwp
CisjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8q
IENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9S
TShRVCkKKyNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBM
QVRGT1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJB
Q0sgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVm
aW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQor
I2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAg
YSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBi
dWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9D
Rk5FVFdPUksKKworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZv
ciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQp
CisjZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKFdJTikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVT
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisj
ZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisv
KiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFj
cXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVm
aW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShB
Uk1fVEhVTUIyKQorI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BB
VENIX0gpCisjZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRl
ZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZp
bmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dF
TkVSSUMpCisjZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lm
IEVOQUJMRShHTElCX1NVUFBPUlQpCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+
CisjZW5kaWYKKworLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMy
NzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkg
dG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycwor
ICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2Ug
Y2FuIGFkZHJlc3MgdGhlIGJ1aWxkCisgICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAq
LworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2Rl
ZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBP
UlRfTUFDUk9TIDAKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkg
fHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9E
T01BSU5fU09DS0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FO
RF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NX
QVApCisjZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVC
VUcKKyNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElE
QVRJT04gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJE
KQorI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmlu
ZSBXVEZfVVNFX0NPUkVNRURJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5D
RSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShC
TEFDS0JFUlJZKQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVS
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQor
I2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZF
X0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNk
ZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlV
TSkKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRp
ZgorI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VT
RV9WOCkKKyNkZWZpbmUgV1RGX1VTRV9WOCAwCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9W
OCkgKi8KKworLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNh
ICovCisjZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJ
T05TX09OTFkgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZp
bmUgV1RGX1VTRV9XVEZVUkwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIp
ICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5k
aWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDdkYzEzN2Nh
OTExNzU0MmNmN2MwZjVlN2Y4ZTU2ZjZkMDFmZTY1Ni4uYzg0YzMxMzk2MjAwYzdhMWRmYWVkMjA2
MDhiYWFlYTYyNTgxYzdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEsNSArMSw2IEBACiBT
RVQoV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9IgorICAg
ICIke1dURl9ESVJ9IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZpbGVzeXN0ZW0iCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZ2VvbG9jYXRpb24iCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvaW5kZXhlZGRiIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggNjJmNGIzMTE2MmU1
YWJkYjJkNGMwYTJhNzM3OTFiNTNhZWFjOWQxYy4uZjEzZWMyNjkwNmU5ZjY0ZmU2OWZlNGRhMTAw
NDhmYWEzMGY0MTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0xLDQgKzEsNSBAQAogU0VUKFdl
YktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7V0VCS0lU
X0RJUn0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVz
L3dlYmRhdGFiYXNlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFi
YXNlX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRhYmFzZV9wLmgKaW5kZXggZWMw
M2VhNWUyMDI5ZDc4ZjY0OTQ5NDk0NDcwMzkwNDFmNzZhMzZjZS4uMjk4NDcwNDQyNTUwYzg5NGVm
ZjhkMGMzNzhlMzMxYTllZjg5ODM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYmRhdGFiYXNlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2Vf
cC5oCkBAIC0yNCw3ICsyNCw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCiAKIGNsYXNzIFFXZWJEYXRhYmFzZVByaXZhdGUgOiBwdWJsaWMgUVNo
YXJlZERhdGEgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdv
cmxkX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKaW5kZXgg
NzExNWViMmM1MGI5MTljZjI4NTg1YjE0MTkyMGEzZDQwNDU0ZDVmNC4uOGMxOGUyM2VkODQ3ZDdh
OTE4NGFhMWY5MGU4MWU0NDQxMDIzMmM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnNjcmlwdHdvcmxkX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2Ny
aXB0d29ybGRfcC5oCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVmIF9RV0VCU0NSSVBUV09STERf
UF9IXwogI2RlZmluZSBfUVdFQlNDUklQVFdPUkxEX1BfSF8KIAotI2luY2x1ZGUgIlJlZlB0ci5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIERPTVdyYXBwZXJXb3JsZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJzZWN1cml0eW9yaWdpbl9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlv
cmlnaW5fcC5oCmluZGV4IGNkYzkzYmQxNDFhY2JjNDFmYTEwNzBhMGFmZWQzNmVjZTcxNTZlMTUu
LjFiNjRjNDlmMGMxNDIwOWVmMDE4NTQ1ODYxYWMyZDNjNTc2NTIzZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaApAQCAtMjEsNyArMjEsNyBAQAogI2Rl
ZmluZSBfV0VCU0VDVVJJVFlPUklHSU5fUF9IXwogCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKLSNpbmNsdWRlICJSZWZQdHIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIGNsYXNz
IFFXZWJTZWN1cml0eU9yaWdpblByaXZhdGUgOiBwdWJsaWMgUVNoYXJlZERhdGEgewogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5oCmluZGV4IGM5NGQ2MWEzMjk0MGE2YTQzZDU2ZTlkZWU5ZTQxODI4YjdkMjQxZGMuLjZj
N2QwMGY4NWQ3ODQ5ZjU1YjgyMTU5NjQ3MDdmOTFmYTk1NGU2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTMyLDEw
ICszMiwxMCBAQAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIgotI2luY2x1ZGUgIk93blB0ci5oIgotI2luY2x1
ZGUgIlBhc3NPd25QdHIuaCIKICNpbmNsdWRlIDxRdENvcmUvUVN0cmluZz4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKaW5k
ZXggZWExMTFmYTVjZmUxYzM2MmI5NGNjYzRmYzBkMzUxZGU5ODUyYmU5My4uMjk4MGQ0NTgyNGE2
N2VkZWU0OTkxMmFhNGE4ZTJlOGFkOTRhMzk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCkBAIC0yMCw4ICsyMCw4IEBA
CiAjaWZuZGVmIFF0RmFsbGJhY2tXZWJQb3B1cF9oCiAjZGVmaW5lIFF0RmFsbGJhY2tXZWJQb3B1
cF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybS5oIgogI2luY2x1ZGUgInF3ZWJraXRwbGF0Zm9ybXBs
dWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNvbWJvQm94
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29t
Ym9Cb3guaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5o
CmluZGV4IGJjYTJlNWYzODJiZjJhYzBjYzY0MDRiMWIwZTVhODFiZWUzYmU4MTEuLjQyNjQ3NTc2
Njc4MjI0YjQ1OGNiNjA2OTE1NTVlN2NiMGVkZGQzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaWZu
ZGVmIFF0V2ViQ29tYm9Cb3hfaAogI2RlZmluZSBRdFdlYkNvbWJvQm94X2gKIAotI2luY2x1ZGUg
IlBsYXRmb3JtLmgiCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKICNpbmNsdWRlIDxRQ29t
Ym9Cb3g+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJp
bWVudGFsL2V4cGVyaW1lbnRhbC5wcmkgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4
cGVyaW1lbnRhbC9leHBlcmltZW50YWwucHJpCmluZGV4IDU4MzcyNmY2MmNmY2I2YmE4OTZiNTU1
OWE5OWViZDRmZTdjZTFhNDkuLjE1Mzg2YjgwNzFmNjc2NzIzNmFlNTk0NmNkNjNmZDVlOTRmYTM1
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFs
L2V4cGVyaW1lbnRhbC5wcmkKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBl
cmltZW50YWwvZXhwZXJpbWVudGFsLnByaQpAQCAtNDMsNyArNDMsOCBAQCBJTkNMVURFUEFUSCAr
PSBcCiAgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUgXAogICAgIC4u
Ly4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAogICAgIC4uLy4uLy4uLy4uL1dlYktp
dDIvUGxhdGZvcm0gXAotICAgIC4uLy4uLy4uLy4uL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQwor
ICAgIC4uLy4uLy4uLy4uL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisgICAgLi4vLi4vLi4v
Li4vV1RGCiAKIHRhcmdldC5wYXRoID0gJCRbUVRfSU5TVEFMTF9JTVBPUlRTXS8kJHtUQVJHRVQu
bW9kdWxlX25hbWV9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUv
cHVibGljLnByaSBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnByaQppbmRl
eCBlMzg5ZTM4ZWIwODkzMmQ1ZjZiYTk2NmFhNWY3OGIxYmE1NmUxNmRiLi5hMmY3N2VlN2M3ZjZm
NTFlZmJjZDNjZjkwY2U0ZDRiMmMyY2Y4YTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2
ZS9wdWJsaWMucHJpCkBAIC00NCw3ICs0NCw4IEBAIElOQ0xVREVQQVRIICs9IFwKICAgICAuLi8u
Li8uLi9XZWJLaXQyL1NoYXJlZC9xdCBcCiAgICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUgXAog
ICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAotICAgIC4uLy4uLy4uL0phdmFT
Y3JpcHRDb3JlL3d0ZgorICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3d0ZiBcCisgICAgLi4v
Li4vLi4vV1RGCiAKIFNPVVJDRVMgKz0gcGx1Z2luLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L3Rlc3RzL01JTUVTbmlmZmluZy9NSU1FU25pZmZpbmcucHJvIGIvU291cmNlL1dl
YktpdC9xdC90ZXN0cy9NSU1FU25pZmZpbmcvTUlNRVNuaWZmaW5nLnBybwppbmRleCBmZTUwZjFi
MzQzYTc5NjY4YjAyNTdjYTY4OGFjYmQxOTVjZmY0MjIxLi5jODU2YTZlN2RhMGQ0OTc1NWEwZmFl
YTNiNjdiYjQyODg4MGU5YTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL01J
TUVTbmlmZmluZy9NSU1FU25pZmZpbmcucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
TUlNRVNuaWZmaW5nL01JTUVTbmlmZmluZy5wcm8KQEAgLTEwLDYgKzEwLDcgQEAgSEVBREVSUyAr
PSBcCiBJTkNMVURFUEFUSCArPSBcCiAgICAgLi4vLi4vLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrIFwKICAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCi0gICAgLi4vLi4vLi4v
Li4vSmF2YVNjcmlwdENvcmUvcnVudGltZQorICAgIC4uLy4uLy4uLy4uL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUgXAorICAgIC4uLy4uLy4uLy4uL1dURgogCiBSRVNPVVJDRVMgKz0gcmVzb3VyY2Vz
LnFyYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5
RGF0YS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCmlu
ZGV4IGQxNTY1YmVjMjBkZGVhYTAzNGIzODM4MjE5MWJmOTEwYzE5ZDA2MDUuLjQ1N2Q3YmUyN2Fm
MDNmOGM0YTJkZjQzYWRhMjc5NTUzNjkwZmE2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKQEAgLTI2LDEwICsyNiwxMCBAQAogI2lmbmRlZiBR
dE5ldHdvcmtSZXBseURhdGFfaAogI2RlZmluZSBRdE5ldHdvcmtSZXBseURhdGFfaAogCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKLSNpbmNsdWRlICJSZWZDb3VudGVkLmgiCiAjaW5jbHVkZSAi
U2hhcmVkTWVtb3J5LmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5hZ2VyPgorI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCmluZGV4
IGYyMTA2NjBmZDRlNTMzNjE1YzNhMmNmN2EwMDc3YTQ5MWU1NzdjNTIuLjhhODBmYjM2OTkxZmY1
OGJkNjRmZjZlZTE4ZjU2OTlhZTJlM2U5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcApAQCAtMjcsMTEgKzI3LDExIEBACiAjaW5j
bHVkZSAiUXROZXR3b3JrUmVxdWVzdERhdGEuaCIKIAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJz
UXQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CiAjaW5jbHVkZSA8UU5ldHdvcmtSZXF1
ZXN0PgogI2luY2x1ZGUgPFFVdWlkPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmgKaW5kZXggMDgyZDQ5
OWNjMjY5Y2ExOWJkM2EyZDZjYjdhZjVkZWZmMGIyNDc0ZS4uOTQwYmY4MTVmNjI1MzFmYjMxMjQ1
Y2M5MzczNWVjOWNkNjZlMjBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0
L1F0TmV0d29ya1JlcXVlc3REYXRhLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0
TmV0d29ya1JlcXVlc3REYXRhLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUXROZXR3b3Jr
UmVxdWVzdERhdGFfaAogI2RlZmluZSBRdE5ldHdvcmtSZXF1ZXN0RGF0YV9oCiAKLSNpbmNsdWRl
ICJSZWZDb3VudGVkLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IDNjMWZlYWJiZDkwZTE0MGIyN2VkYWY0ZGUx
OGQxMWE1NGI2MDRmOWQuLmNhYmU0Y2YxZWM5OTQyNDI5NjRlOTU2Mjk5ZTk4YjBiOWUwNGYyNjYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTQxLDYgKzQxLDcg
QEAgU0VUKER1bXBSZW5kZXJUcmVlX0xJQlJBUklFUwogKQogCiBTRVQoRHVtcFJlbmRlclRyZWVf
SU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7V1RGX0RJUn0KICAgICAiJHtXRUJLSVRfRElSfS9l
ZmwvZXdrIgogICAgICR7V0VCS0lUX0RJUn0vZWZsCiAgICAgJHtXRUJDT1JFX0RJUn0KZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwppbmRleCA1NjYwNGQ1MTg1NmMz
ZGI5ZGIwMDUyYWRhOWYyYjY4NWI1ZGRhMDYwLi41NGJjZGJmZTBhZTk5NGE4OGQ0ZTVlYjVhOWE5
YjU0ZDcxNzQ5YzNlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVu
ZGVyVHJlZS5wcm8KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUu
cHJvCkBAIC0xNSw3ICsxNSw4IEBAIFdFQktJVCArPSB3dGYgd2ViY29yZQogCiBJTkNMVURFUEFU
SCArPSBcCiAgICAgJCRQV0QvLi4gXAotICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydAorICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydCBcCisgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2Uv
V1RGCiAKIFFUID0gY29yZSBndWkgbmV0d29yayB0ZXN0bGliIHdlYmtpdAogbWFjeDogUVQgKz0g
eG1sCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvIGIv
VG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybwppbmRleCA2MjhkYzFmNDIyYjFm
NDE0MTdkYzdiMWQxZDg1MjMwZDk1M2IxOTdhLi42ZDhhNDFiNzIzY2E0OWUwYTY1ZGIwZGU3M2I4
MzNiYjNlMThjMDBmIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dz
ZXIucHJvCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KQEAgLTks
NiArOSw3IEBAIFRFTVBMQVRFID0gYXBwCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCR7Uk9PVF9X
RUJLSVRfRElSfS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0IFwKICAgICAkJHtST09U
X1dFQktJVF9ESVJ9L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0LyBcCisgICAgJCR7Uk9PVF9XRUJL
SVRfRElSfS9Tb3VyY2UvV1RGCiAKIGxvYWQoZmVhdHVyZXMpCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXgg
OGE3NDlhZDRiYTc5ODQwOWVjY2Q2ZGI1YWU2OGU2ZmMxMTRiNzM3Mi4uZGQxNDVkMzhmODYxODY1
OWNmZjVjNGIwMGVjNGY4NzFhYzRmZDgyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTQ5Niw3ICs0OTYs
NyBAQCBzdWIgdW5saW5rWmVyb0ZpbGVzKCkKIG15IEBwcm9qZWN0cyA9ICgiU291cmNlL0phdmFT
Y3JpcHRDb3JlIiwgIlNvdXJjZS9XZWJDb3JlIiwgIlNvdXJjZS9XZWJLaXQiKTsKIAogIyBCdWls
ZCBXVEYgYXMgYSBzZXBhcmF0ZSBzdGF0aWMgbGlicmFyeSBvbiBwb3J0cyB3aGljaCBzdXBwb3J0
IGl0Lgotc3BsaWNlIEBwcm9qZWN0cywgMCwgMCwgIlNvdXJjZS9XVEYiIGlmIGlzQXBwbGVNYWNX
ZWJLaXQoKTsKK3NwbGljZSBAcHJvamVjdHMsIDAsIDAsICJTb3VyY2UvV1RGIiBpZiBpc0FwcGxl
TWFjV2ViS2l0KCkgb3IgaXNBcHBsZVdpbldlYktpdCgpOwogCiBmb3IgbXkgJGRpciAoQHByb2pl
Y3RzKSB7CiAgICAgaWYgKCEgLWQgJGRpcikgewpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQg
Yi9DTWFrZUxpc3RzLnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5Nzk2ODU0
YzhkNDZjLi5hOWMxYmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEwMDY0NAot
LS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBA
QCBJRiAoT05MWV9CVUlMRF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RPT0xTIE9G
RikKIEVORElGICgpCiAKK1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
VEYiKQogU0VUKEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUiKQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJDb3JlIikKIFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJj
ZS9XZWJLaXQiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFiZWU1
MGQyZjRmMDRhYjU1YjhkNDRiN2NmNGM0MzkwYWZmMzhiZDAuLjljZWEyOTNmNjFiOTUxYzRjYzgz
OWM4YjRkZjlmMzNlMTkxMTA3ZTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3Jl
IHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEyLTAzLTIw
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29u
dmVydCBoYXNTcGVsbGluZ01hcmtlciB0byB1c2UgSW50ZXJuYWxzIGludGVyZmFjZS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132912</attachid>
            <date>2012-03-20 15:39:37 -0700</date>
            <delta_ts>2012-03-20 16:18:15 -0700</delta_ts>
            <desc>Attempt to fix win-ews again</desc>
            <filename>bug-80911-20120320153936.patch</filename>
            <type>text/plain</type>
            <size>91869</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Y2E2NzZhZDAyOThjOTQ2YjI5ZDhhZTcyMmIyNGNlNWFmNGQwMmUxLi45ZTQ0ZDdjZGM1YjNkNDk3
YjBlZDhjYjEwNTI0NDA1YmQxYTRlY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0y
MCAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUg
V1RGLXJlbGF0ZWQgV2luZG93cyBwcm9qZWN0IGZpbGVzIG91dCBvZiBKYXZhU2NyaXB0Q29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCBmYWVmODAxNTAzYzdhNWUyYWZhODE0ZjJlZWVjMjlhZGI0ZWZlZTZmLi4yMzUwM2RjYzY5
Mjc0MmMxYzllNWVmY2I2ODNlMTRmZjk2ZDNkMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0
Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0
byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1
aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgor
ICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5
IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmguCisKIDIwMTItMDMtMjAgIFN0ZXZlIEZhbGtl
bmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdURi1yZWxhdGVkIFdp
bmRvd3MgcHJvamVjdCBmaWxlcyBvdXQgb2YgSmF2YVNjcmlwdENvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4ZmI5NjY2OTNiYWFm
N2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2NDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAogU0VUKEphdmFTY3Jp
cHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAg
ICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9IgogICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vRm9yd2FyZGlu
Z0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBl
ZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li40YThlY2Q0MmZlYjQ3YjU4
YmMwZjU5ODYxMmZlMjkyNmE2OTYxYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcmkKQEAgLTEyLDYgKzEyLDcgQEAgSkFWQVNDUklQVENPUkVfR0VORVJBVEVEX1NP
VVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS8KIElO
Q0xVREVQQVRIICs9IFwKICAgICAkJFNPVVJDRV9ESVIgXAogICAgICQkU09VUkNFX0RJUi8uLiBc
CisgICAgJCRTT1VSQ0VfRElSLy4uL1dURiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2VtYmxlciBc
CiAgICAgJCRTT1VSQ0VfRElSL2J5dGVjb2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvbXBp
bGVyIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2JmNjVmZmJlYjJmNDM5YjBk
MDU5OGZmNWVkZjhjMWNkM2I1YThhNy4uMzQ4ZDZjZDdmMjE3MTJmMjg0NzA4NGZkOWMzNTFiYzEy
ZTE4MDg0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTMsNyArMTA5Myw2
IEBACiAJCTY1QzY0N0IzMDkzRUY4RDYwMDIyQzM4MCAvKiBSZWZQdHIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmUHRyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVDN0ExNzEwQThFQUFDQjAwRkEz
N0VBIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjVDN0ExNzIwQThFQUFDQjAwRkEzN0VBIC8qIEpTV3JhcHBlck9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXcmFwcGVyT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVERkM5MkEwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hGdW5j
dGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSGFzaEZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IH07CiAJCTY1REZDOTJCMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoTWFwLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hNYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NURGQzkyQzA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaFNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYXNoU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgfTsKQEAgLTIxNDEsNyArMjE0MCw2IEBACiAJCQkJNDRERDQ4NTIwRkFFQTg1MDAwRDZC
NEVCIC8qIFBhc3NPd25QdHIuaCAqLywKIAkJCQk2NTgwRjc5NTA5NDA3MDU2MDA4MkMyMTkgLyog
UGFzc1JlZlB0ci5oICovLAogCQkJCTY1MURDQTAyMTM2QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJh
aXRzLmggKi8sCi0JCQkJNjVENkQ4N0UwOUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8s
CiAJCQkJQTdENjQ5QTkxMDE1MjI0RTAwOUIyRTFCIC8qIFBvc3NpYmx5TnVsbC5oICovLAogCQkJ
CTA4OEZBNUI5MEVGNzZENDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuY3BwICovLAogCQkJCTA4
OEZBNUJBMEVGNzZENDMwMDU3OEU2RiAvKiBSYW5kb21OdW1iZXIuaCAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDcyNDIwMTI4YTdhZjU5MTY4OGFkNDRm
ZTUxYjBmNTg1ZWE2NzJiNmEuLmFkYWI3Mjg2YTcwOTM5Y2UyOTdiMDU5MzJiNWQxOGE4NDRjNmNj
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNjksNyAr
NjksNyBAQCBTRVQoV1RGX0hFQURFUlMKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmgKICAgICBQ
YXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oCiAgICAgUGFyYWxsZWxKb2JzT3Blbk1QLmgKLSAgICBQ
bGF0Zm9ybS5oCisgICAgJHtXVEZfRElSfS93dGYvUGxhdGZvcm0uaAogICAgIFBvc3NpYmx5TnVs
bC5oCiAgICAgUmFuZG9tTnVtYmVyLmgKICAgICBSYW5kb21OdW1iZXJTZWVkLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgz
NGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIwZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXVEZfUGxhdGZvcm1faAotI2RlZmluZSBX
VEZfUGxhdGZvcm1faAotCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwot
I2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1Ms
IG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKLSAgIENQVS4gVGhpcyBt
YWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgot
ICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVm
aW5pdGlvbnMuID09PT0gKi8KLSNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVk
IFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVS
RSkKLQotCi0vKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmli
ZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KLQotLyogQ1BV
KCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNkZWZpbmUgQ1BVKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVB
VFVSRSkKLS8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVu
Y3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCi0jZGVmaW5lIEhB
VkUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dU
Rl9GRUFUVVJFKQotLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0
byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZpcnR1
YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KLSNkZWZpbmUgT1MoV1RG
X0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZf
RkVBVFVSRSkKLQotCi0vKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmlu
ZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KLQotLyogVVNF
KCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mg
c2VydmljZSAqLwotI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNX
VEZfRkVBVFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQotLyogRU5BQkxFKCkgLSB0dXJu
IG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KLSNkZWZpbmUgRU5BQkxFKFdURl9G
RUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUpCi0KLQotLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9
PT09ICovCi0KLS8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlE
RExFX0VORElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCi0KLS8qIENQVShBTFBI
QSkgLSBERUMgQWxwaGEgKi8KLSNpZiBkZWZpbmVkKF9fYWxwaGFfXykKLSNkZWZpbmUgV1RGX0NQ
VV9BTFBIQSAxCi0jZW5kaWYKLQotLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCi0j
aWYgZGVmaW5lZChfX2lhNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKLS8qIDMyLWJpdCBt
b2RlIG9uIEl0YW5pdW0gKi8KLSNpZiAhZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgV1RGX0NQ
VV9JQTY0XzMyIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0
ICovCi0vKiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9y
IE8zMiBBQkkgZm9yIG5vdy4gICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21p
cHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKLSAgICAmJiBkZWZp
bmVkKF9BQklPMzIpCi0jZGVmaW5lIFdURl9DUFVfTUlQUyAxCi0jaWYgZGVmaW5lZChfX01JUFNF
Ql9fKQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0jZGVmaW5lIFdURl9N
SVBTX1BJQyAoZGVmaW5lZCBfX1BJQ19fKQotI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcwot
I2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQ
U19BUkNIID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBX
VEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKLSNkZWZpbmUgV1RGX01JUFNfQVJD
SF9SRVYgX19taXBzX2lzYV9yZXYKLSNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5l
ZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQotI2RlZmluZSBX
VEZfTUlQU19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmlu
ZWQgX19taXBzX3NpbmdsZV9mbG9hdCkKLSNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBf
X21pcHNfZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCi0vKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRv
cnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmIC8qIE1JUFMgKi8KLQotLyogQ1BVKFBQQykgLSBQ
b3dlclBDIDMyLWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAotICAgIHx8IGRl
ZmluZWQoX19QUENfXykgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCi0gICAg
fHwgZGVmaW5lZChfX3Bvd2VycGMpICAgXAotICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQykKLSNk
ZWZpbmUgV1RGX0NQVV9QUEMgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlm
Ci0KLS8qIENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3Bw
YzY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKLSNkZWZpbmUgV1RGX0NQVV9QUEM2
NCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNINCkg
LSBTdXBlckggU0gtNCAqLwotI2lmIGRlZmluZWQoX19TSDRfXykKLSNkZWZpbmUgV1RGX0NQVV9T
SDQgMQotI2VuZGlmCi0KLS8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLwotI2lmIGRl
ZmluZWQoX19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJj
djgpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElB
TiAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCi0jaWYgZGVm
aW5lZChfX3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFy
Y3Y5KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQotI2VuZGlmCi0KLS8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShT
UEFSQzMyKSBhbmQgQ1BVKFNQQVJDNjQpICovCi0jaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFS
QzY0KQotI2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MFgpIC0g
UzM5MCA2NC1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MHhfXykKLSNkZWZpbmUgV1RGX0NQVV9T
MzkwWCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFMz
OTApIC0gUzM5MCAzMi1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fczM5MF9fKQotI2RlZmluZSBXVEZf
Q1BVX1MzOTAgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQ
VShYODYpIC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwK
LSAgICB8fCBkZWZpbmVkKGkzODYpICAgICBcCi0gICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAot
ICAgIHx8IGRlZmluZWQoX1g4Nl8pICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQot
I2RlZmluZSBXVEZfQ1BVX1g4NiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAv
IEludGVsNjQgLyB4ODZfNjQgNjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwK
LSAgICB8fCBkZWZpbmVkKF9NX1g2NCkKLSNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQotI2VuZGlm
Ci0KLS8qIENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCi0jaWYgICBkZWZpbmVkKGFybSkg
XAotICAgIHx8IGRlZmluZWQoX19hcm1fXykgXAotICAgIHx8IGRlZmluZWQoQVJNKSBcCi0gICAg
fHwgZGVmaW5lZChfQVJNXykKLSNkZWZpbmUgV1RGX0NQVV9BUk0gMQotCi0jaWYgZGVmaW5lZChf
X0FSTUVCX18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCi0j
ZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0KLSNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklf
XykgXAotICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19WRlBf
RlBfXykgXAotICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKLSAgICAmJiAhZGVmaW5lZChB
TkRST0lEKQotI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQotCi0jZW5kaWYKLQotI2Rl
ZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9W
RVJTSU9OID49IE4pCi0KLS8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVm
aW5lZChfX0FSTV9BUkNIXzRfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAotICAgIHx8IGRlZmluZWQoX0FSTVY0
SV8pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKLQotI2VsaWYgZGVmaW5lZChfX0FS
TV9BUkNIXzVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX01BUk1fQVJNVjVfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQot
Ci0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05N
RU5UX0lOVEVHRVIgMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCi0g
ICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYK
LQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfN1JfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNwotCi0vKiBSVkNUIHNl
dHMgX1RBUkdFVF9BUkNIX0FSTSAqLwotI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkK
LSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KLQotI2lmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF81RSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81
VEUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKLS8qQVJNdjVURSByZXF1
aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jZGVmaW5lIFdURl9VU0Vf
QVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLSNlbHNlCi0jZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDAKLQotI2VuZGlmCi0KLS8qIFNldCBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OICovCi0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKLSNkZWZpbmUgV1RG
X1RIVU1CX0FSQ0hfVkVSU0lPTiAxCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FS
TV9BUkNIXzVURUpfXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCi0KLSNlbGlm
IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZL
X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQotI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzZUMl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hf
VkVSU0lPTiA0Ci0KLS8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCi0jZWxpZiBk
ZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gX19UQVJHRVRfQVJDSF9USFVNQgotCi0jZWxzZQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9W
RVJTSU9OIDAKLSNlbmRpZgotCi0KLS8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1
Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KLS8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0
dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAotICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVy
IGRpZmZlcmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLwotI2lmICFkZWZpbmVkKEFSTVY1X09S
X0xPV0VSKSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCi0jZGVmaW5lIFdURl9DUFVfQVJN
VjVfT1JfTE9XRVIgMQotI2VuZGlmCi0KLQotLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVt
YjIgaXMgbm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIp
ICovCi0vKiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWls
YWJsZSAqLwotLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLwotI2lmICFk
ZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9U
SFVNQjIpCi0jICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCi0g
ICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RI
VU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwgMAotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKLSMgIGVsaWYgV1RGX0FSTV9B
UkNIX0FUX0xFQVNUKDQpCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCi0j
ICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAotIyAgZWxzZQotIyAgICBlcnJvciAiTm90
IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgotIyAgZW5kaWYKLSNlbGlmIENQVShBUk1fVFJB
RElUSU9OQUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KLSMgIGVycm9y
ICJDYW5ub3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVf
QVJNX1RIVU1CMiBwbGF0Zm9ybXMiCi0jZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJB
RElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KLQotI2lmIGRlZmlu
ZWQoX19BUk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQotI2RlZmluZSBX
VEZfQ1BVX0FSTV9ORU9OIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogQVJNICovCi0KLSNpZiBDUFUo
QVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQotI2RlZmluZSBXVEZf
Q1BVX05FRURTX0FMSUdORURfQUNDRVNTIDEKLSNlbmRpZgotCi0vKiA9PT09IE9TKCkgLSB1bmRl
cmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93
LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBh
IEdVSSB0b29sa2l0ID09PT0gKi8KLQotLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCi0jaWZk
ZWYgQU5EUk9JRAotI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCi0jZW5kaWYKLQotLyogT1MoQUlY
KSAtIEFJWCAqLwotI2lmZGVmIF9BSVgKLSNkZWZpbmUgV1RGX09TX0FJWCAxCi0jZW5kaWYKLQot
LyogT1MoREFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBh
bmQgaVBob25lIE9TICovCi0jaWZkZWYgX19BUFBMRV9fCi0jZGVmaW5lIFdURl9PU19EQVJXSU4g
MQotCi0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFj
cm9zLmg+Ci0jaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jZW5kaWYKLQotLyogT1Mo
SU9TKSAtIGlPUyAqLwotLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcg
aU9TKSAqLwotI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkg
JiYgVEFSR0VUX09TX0VNQkVEREVEKSBcCi0gICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9O
RSkgJiYgVEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKLSAgICB8fCAoZGVmaW5l
ZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQot
I2RlZmluZSBXVEZfT1NfSU9TIDEKLSNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRf
T1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDCi0jZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCi0vKiBG
SVhNRTogQlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBm
b2xkZWQgaW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJT
SU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJT
SU9OXzEwXzYKLSNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBN
QUNfT1NfWF9WRVJTSU9OXzEwXzcKLSNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEK
LSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2RlZmluZSBCVUlMRElOR19P
Tl9MSU9OIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwg
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKLSNk
ZWZpbmUgVEFSR0VUSU5HX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lP
Tl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJ
T05fMTBfNwotI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVk
KE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQotI2VuZGlm
Ci0jZW5kaWYKLQotLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCi0jaWYgZGVmaW5lZChfX0Zy
ZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9r
ZXJuZWxfXykKLSNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQotI2VuZGlmCi0KLS8qIE9TKEhVUkQp
IC0gR05VL0h1cmQgKi8KLSNpZmRlZiBfX0dOVV9fCi0jZGVmaW5lIFdURl9PU19IVVJEIDEKLSNl
bmRpZgotCi0vKiBPUyhMSU5VWCkgLSBMaW51eCAqLwotI2lmZGVmIF9fbGludXhfXwotI2RlZmlu
ZSBXVEZfT1NfTElOVVggMQotI2VuZGlmCi0KLS8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KLSNp
ZiBkZWZpbmVkKF9fTmV0QlNEX18pCi0jZGVmaW5lIFdURl9PU19ORVRCU0QgMQotI2VuZGlmCi0K
LS8qIE9TKE9QRU5CU0QpIC0gT3BlbkJTRCAqLwotI2lmZGVmIF9fT3BlbkJTRF9fCi0jZGVmaW5l
IFdURl9PU19PUEVOQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhRTlgpIC0gUU5YICovCi0jaWYgZGVm
aW5lZChfX1FOWE5UT19fKQotI2RlZmluZSBXVEZfT1NfUU5YIDEKLSNlbmRpZgotCi0vKiBPUyhT
T0xBUklTKSAtIFNvbGFyaXMgKi8KLSNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikK
LSNkZWZpbmUgV1RGX09TX1NPTEFSSVMgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkNFKSAtIFdpbmRv
d3MgQ0U7IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRl
ZmluZWQgKi8KLSNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCi0jZGVmaW5lIFdURl9PU19XSU5DRSAx
Ci0jZW5kaWYKLQotLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCi0j
aWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCi0jZGVmaW5lIFdURl9PU19XSU5E
T1dTIDEKLSNlbmRpZgotCi0jZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJ
VEggT1MgTk9UIFdJTiIKLSNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJ
VEggT1MgTk9UIE1BQyIKLQotLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLwot
I2lmICAgT1MoQUlYKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAg
IFwKLSAgICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCi0gICAgfHwgT1MoRlJFRUJTRCkgICAg
ICAgICAgXAotICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhMSU5VWCkg
ICAgICAgICAgICBcCi0gICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAotICAgIHx8IE9TKE9Q
RU5CU0QpICAgICAgICAgIFwKLSAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCi0gICAgfHwg
T1MoU09MQVJJUykgICAgICAgICAgXAotICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKLSAg
ICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3VuaXhfXykKLSNk
ZWZpbmUgV1RGX09TX1VOSVggMQotI2VuZGlmCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMg
Ki8KLQotLyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZp
cm9ubWVudCBhbmQgcG9saWN5IGNob2ljZXMuICovCi0vKiBQTEFURk9STShDSFJPTUlVTSkgKi8K
LS8qIFBMQVRGT1JNKFFUKSAqLwotLyogUExBVEZPUk0oV1gpICovCi0vKiBQTEFURk9STShHVEsp
ICovCi0vKiBQTEFURk9STShCTEFDS0JFUlJZKSAqLwotLyogUExBVEZPUk0oTUFDKSAqLwotLyog
UExBVEZPUk0oV0lOKSAqLwotI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKLSNkZWZp
bmUgV1RGX1BMQVRGT1JNX0NIUk9NSVVNIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX1FUIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX1dYIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9HVEsgMQotI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFD
S0JFUlJZX18pCi0jZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKLSNlbGlmIE9TKERB
UldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCi0jZWxpZiBPUyhXSU5ET1dTKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fV0lOIDEKLSNlbmRpZgotCi0vKiBQTEFURk9STShJT1MpICovCi0v
KiBGSVhNRTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0
aW1lcyBmb3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLwotI2lmIChkZWZpbmVkKFRBUkdFVF9PU19F
TUJFRERFRCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBI
T05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKLSNl
bmRpZgotCi0vKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLwotI2lmIGRlZmluZWQoVEFSR0VU
X0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9JT1MgMQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCi0j
ZWxzZQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAot
I2VuZGlmCi0KLS8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KLQotLyogVVNFKENHKSBhbmQgUExBVEZP
Uk0oQ0kpICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIFdU
Rl9VU0VfQ0cgMQotI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8
IChQTEFURk9STShXSU4pICYmIFVTRShDRykpCi0jZGVmaW5lIFdURl9VU0VfQ0EgMQotI2VuZGlm
Ci0KLS8qIFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCi0jaWYgUExBVEZP
Uk0oQ0hST01JVU0pCi0jaWYgT1MoREFSV0lOKQotI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlV
TSkKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfQ0cgMQot
I2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVY
VCAxCi0jZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCi0jZWxpZiBPUyhBTkRST0lEKQotI2RlZmlu
ZSBXVEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCi0jZWxz
ZQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAx
Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZpbmUgRU5B
QkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNkZWZpbmUg
V1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKLSNkZWZpbmUgV1RGX1VTRV9TS0lBIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKLSNl
bmRpZgotCi0KLSNpZiBPUyhXSU5DRSkKLSNpbmNsdWRlIDxjZV90aW1lLmg+Ci0jZGVmaW5lIFdU
Rl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZW5kaWYKLQotLyogT24gV2luZG93cywg
dXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KLSNpZiBPUyhXSU5ET1dT
KQotI2RlZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKLSNlbmRpZgot
Ci0jaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgTk9NSU5NQVggICAgICAg
LyogV2luZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLwot
I2RlZmluZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5D
ZSAqLwotCi0vKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHBy
b3ZpZGVkIHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8K
LSNkZWZpbmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KLQotI2RlZmlu
ZSBfSU5DX0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KLSNkZWZpbmUgYXNzZXJ0
KHgpCi0KLSNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KLQotI2lmIFBM
QVRGT1JNKFFUKQotI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCi0jZGVmaW5lIFdURl9VU0Vf
UVQ0X1VOSUNPREUgMQotI2VuZGlmCi0jZWxpZiBPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9X
SU5DRV9VTklDT0RFIDEKLSNlbGlmIFBMQVRGT1JNKEdUSykKLS8qIFRoZSBHVEsrIFVuaWNvZGUg
YmFja2VuZCBpcyBjb25maWd1cmFibGUgKi8KLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSUNVX1VO
SUNPREUgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCi0j
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUg
V1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNk
ZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5E
SU5HIDEKLSNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLSNpZiAh
ZGVmaW5lZChFTkFCTEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAx
Ci0jZW5kaWYKLSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5l
IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9DRiAx
Ci0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NL
IDEKLSNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAx
Ci0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCi0jZGVmaW5lIEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNkZWZpbmUgRU5BQkxF
X1dFQl9BVURJTyAxCi0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCi0jZGVmaW5lIEVOQUJMRV9W
SURFT19UUkFDSyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCi0jZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEK
LSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KLQot
I2lmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ0Yg
MQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9D
SyAxCi0KLSNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9V
U0VfQ0YgMQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJX
SU4pICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1BV
UkdFQUJMRV9NRU1PUlkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVO
QUJMRV9DT05URVhUX01FTlVTIDAKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCi0jZGVm
aW5lIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAx
Ci0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCi0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJB
U0UgMAotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKLSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJ
REdFIDAKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAotI2RlZmluZSBFTkFC
TEVfT1JJRU5UQVRJT05fRVZFTlRTIDEKLSNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElO
RyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEhBVkVfTkVUV09SS19D
RkRBVEFfQVJSQVlfQ0FMTEJBQ0sgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLSNk
ZWZpbmUgSEFWRV9SRUFETElORSAxCi0jZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCi0jZGVm
aW5lIFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCi0jZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQotCi0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLSAgICAjZGVm
aW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSAgICAjZGVmaW5lIEVOQUJMRV9KSVQg
MAotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKLSNlbHNlCi0gICAgI2RlZmluZSBFTkFC
TEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAwCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDEKLSAgICAj
ZGVmaW5lIEVOQUJMRV9MTElOVCAxCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotI2Vu
ZGlmCi0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCi0jZGVmaW5l
IFdURl9VU0VfQ0YgMQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKLSNlbmRpZgotCi0jaWYg
UExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2VuZGlmCi0K
LSNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKLSNk
ZWZpbmUgV1RGX1VTRV9DRlVSTENBQ0hFIDEKLSNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VT
RVNTSU9OUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxFX1dFQl9B
UkNISVZFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQ
TEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFU
KQotI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXWCkKLSNpZiAhQ1BVKFBQQykKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZGVmaW5l
IEVOQUJMRV9KSVQgMQotI2VuZGlmCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19O
RVcgMAotI2RlZmluZSBFTkFCTEVfTExJTlQgMAotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgV1RG
X1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgRU5BQkxFX1dF
Ql9BUkNISVZFIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0jaWYgSEFW
RShQVEhSRUFEX0gpCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BU
SFJFQURfUldMT0NLIDEKLSNlbmRpZgotI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCi0j
ZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQotI2lmIFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCi0jZW5k
aWYKLSNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCi0KLSNpZiBPUyhV
TklYKQotI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFW
RV9WQVNQUklOVEYpCi0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAh
Q09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQotI2RlZmluZSBI
QVZFX1ZBU1BSSU5URiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9TVFJO
U1RSKQotI2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNf
XykpCi0jZGVmaW5lIEhBVkVfU1RSTlNUUiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIU9TKFdJ
TkRPV1MpICYmICFPUyhTT0xBUklTKSBcCi0gICAgJiYgIU9TKFJWQ1QpIFwKLSAgICAmJiAhT1Mo
QU5EUk9JRCkKLSNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQotI2RlZmluZSBIQVZFX1RNX1pPTkUg
MQotI2RlZmluZSBIQVZFX1RJTUVHTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLQotI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBI
QVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAx
Ci0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2Rl
ZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEUgMQotCi0jaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECi0K
LSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklN
QVRJT04gMQotCi0jaWYgIVBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVV
U0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO
QU1FX05QIDEKLSNlbmRpZgotCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
SEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZW5k
aWYKLQotI2VsaWYgT1MoV0lORE9XUykKLQotI2lmIE9TKFdJTkNFKQotI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMAotI2Vsc2UKLSNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIEhBVkVf
QUxJR05FRF9NQUxMT0MgMQotI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKLSNlbmRp
ZgotI2RlZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCi0KLSNlbGlmIE9TKFFOWCkKLQotI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX01BRFZf
RlJFRV9SRVVTRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9TQlJL
IDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK
LSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0K
LSNlbGlmIE9TKEFORFJPSUQpCi0KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDAKLSNkZWZpbmUgSEFWRV9OTUFQIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEK
LSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotI2Vsc2UKLQotLyogRklYTUU6IGlzIHRoaXMgYWN0
dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZp
Zy5oPyAqLwotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9f
SCAxCi0jZGVmaW5lIEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCi0KLSNlbmRpZgotCi0vKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KLQot
I2lmIFBMQVRGT1JNKFFUKQotLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3Bl
cmF0b3IgbmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLwotI2RlZmluZSBFTkFCTEVf
R0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKLSNpZiAhT1MoVU5JWCkKLSNkZWZpbmUgVVNFX1NZU1RF
TV9NQUxMT0MgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0
aW9uIGFsbG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAotICAgbmV3IGlzIG1hdGNo
ZWQgYnkgZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKLSNkZWZp
bmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNF
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKLSNkZWZpbmUg
RU5BQkxFX1NRTF9EQVRBQkFTRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKQotI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCi0jZGVmaW5lIEVOQUJMRV9GVFBE
SVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKLSNkZWZp
bmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
RFJBR19TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfSU5TUEVD
VE9SIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmlu
ZSBFTkFCTEVfSkFWQV9CUklER0UgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVU
U0NBUEVfUExVR0lOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NB
Q0hFKQotI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCi0jZGVmaW5lIEVO
QUJMRV9QVVJHRUFCTEVfTUVNT1JZIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9Q
TFVHSU5fSE9TVF9QUk9DRVNTKQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1Mg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQotI2Rl
ZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09QQ09ERV9TVEFUUykKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCi0jZGVmaW5l
IEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQotI2VuZGlmCi0KLSNkZWZpbmUgRU5BQkxF
X0RFQlVHX1dJVEhfQlJFQUtQT0lOVCAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVS
UyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCi0jZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19SRUdJT05TIDAKLSNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCi0jZGVmaW5l
IEVOQUJMRV9DT0RFQkxPQ0tfU0FNUExJTkcgMAotI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJ
TkcpICYmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJ
TkcgcmVxdWlyZXMgT1BDT0RFX1NBTVBMSU5HIgotI2VuZGlmCi0jaWYgRU5BQkxFKE9QQ09ERV9T
QU1QTElORykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVH
SU9OUykKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQotI2RlZmluZSBFTkFCTEVf
VklFV1BPUlQgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykK
LSNkZWZpbmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1RFWFRfQ0FSRVQpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQotI2RlZmluZSBFTkFCTEVfRlVM
TFNDUkVFTl9BUEkgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NL
KQotI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
V1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQotI2lm
IChDUFUoWDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCi0gICAgfHwgKENQ
VShJQTY0KSAmJiAhQ1BVKElBNjRfMzIpKSBcCi0gICAgfHwgQ1BVKEFMUEhBKSBcCi0gICAgfHwg
Q1BVKFNQQVJDNjQpIFwKLSAgICB8fCBDUFUoUzM5MFgpIFwKLSAgICB8fCBDUFUoUFBDNjQpCi0j
ZGVmaW5lIFdURl9VU0VfSlNWQUxVRTY0IDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfSlNWQUxV
RTMyXzY0IDEKLSNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAm
JiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9SRVBBSU5UX1RIUk9UVExJTkcpCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcg
MAotI2VuZGlmCi0KLS8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3Ig
dG8gNC4xICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAh
R0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jZW5k
aWYKLQotLyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQotI2Rl
ZmluZSBFTkFCTEVfSklUIDAKLSNlbmRpZgotCi0vKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVm
YXVsdCBvbiBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLwotI2lmICFk
ZWZpbmVkKEVOQUJMRV9KSVQpIFwKLSAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSBcCi0gICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVS
KEdDQykgfHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKLSAgICAmJiAhT1MoV0lO
Q0UpIFwKLSAgICAmJiAhT1MoUU5YKQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotCi0v
KiBPbiBzb21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0
byBhbHNvIGhhdmUgdGhlIAotICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLwotI2lmICFkZWZp
bmVkKEVOQUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRG
T1JNKFFUKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkK
LSNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RG
R19KSVQpICYmIEVOQUJMRShKSVQpCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBY
ODZfNjQuICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KLSNpZiAoQ1BVKFg4
NikgfHwgQ1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKLSNkZWZp
bmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJN
djcuICBPbmx5IHRlc3RlZCBvbiBpT1MuICovCi0jaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRG
T1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0jZW5kaWYKLQotLyog
UHJvZmlsaW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBk
ZXBlbmRzIG9uIGl0LCBidXQgeW91Ci0gICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZH
IHR1cm5lZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQotICAgcHJv
ZmlsZXIuIEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVS
Qk9TRV9WQUxVRV9QUk9GSUxFCi0gICBiZWxvdy4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkFM
VUVfUFJPRklMRVIpICYmIEVOQUJMRShERkdfSklUKQotI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJP
RklMRVIgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9G
SUxFKSAmJiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCi0jZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZB
TFVFX1BST0ZJTEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBf
UFJPRklMSU5HKQotI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKLSNlbmRp
ZgotCi0vKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3Vu
dGVycy4gQmUgc3VyZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRv
IDEuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQotI2Rl
ZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIEVuc3Vy
ZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVk
LiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxF
KEpJVCkKLSNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQotI2VuZGlmCi0jaWYg
IShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCi0jZXJyb3IgWW91
IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVp
bGQgSlNDCi0jZW5kaWYKLQotI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBF
TkFCTEVfSklUIDEKLSNlbmRpZgotCi0vKiBDb25maWd1cmUgdGhlIEpJVCAqLwotI2lmIENQVShB
Uk0pCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1f
QVJDSF9BVF9MRUFTVCg1KQotI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCi0j
ZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMp
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCi0jZGVmaW5lIEVOQUJM
RV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KSAm
JiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlm
IENQVShYODYpICYmIENPTVBJTEVSKEdDQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJp
YnV0ZV9fICgoZmFzdGNhbGwpKQotI2Vsc2UKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTAotI2VuZGlm
Ci0KLS8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01QSUxFUihHQ0MpIHx8
IChSVkNUX1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykp
Ci0jZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCi0jZW5kaWYKLSNpZiBIQVZFKENPTVBVVEVE
X0dPVE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQotI2RlZmluZSBFTkFCTEVfQ09N
UFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotCi0vKiBSZWd1bGFyIEV4
cHJlc3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJl
c3VsdHMgZHVtcGVkIGF0IGV4aXQgKi8KLSNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAK
LQotLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZv
ciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUg
RU5BQkxFX1lBUlJfSklUIDAKLQotI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxF
X1lBUlJfSklUKQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQotCi0vKiBTZXR0aW5nIHRoaXMg
ZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCi0j
ZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCi0jZW5kaWYKLQotI2lmIEVOQUJMRShKSVQp
IHx8IEVOQUJMRShZQVJSX0pJVCkKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYK
LQotLyogUGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0
YWJsZSBhbGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KLSAgIE9uIHg4
Ni02NCB3ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1t
YXAgb24gZGVtYW5kLiAqLwotI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgQ1BVKFg4Nl82NCkg
fHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklY
RUQgMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAx
Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYm
IE9TKFdJTkRPV1MpCi0jZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZF
KQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAotI2VuZGlmCi0KLS8qIFVzZSB0aGUgUVht
bFN0cmVhbVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KLS8q
IFVzZSB0aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCi0j
aWYgUExBVEZPUk0oUVQpCi0jaWYgIVVTRShMSUJYTUwyKQotI2RlZmluZSBXVEZfVVNFX1FYTUxT
VFJFQU0gMQotI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCi0jZW5kaWYKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKQotLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLwotI2lmbmRlZiBC
VUlMRElOR19PTl9MRU9QQVJECi0jZGVmaW5lIFdURl9VU0VfQVRTVUkgMAotI2RlZmluZSBXVEZf
VVNFX0NPUkVfVEVYVCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUg
V1RGX1VTRV9DT1JFX1RFWFQgMAotI2VuZGlmCi0jZW5kaWYKLQotLyogQWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcgKi8KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZP
Uk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9D
QUlSTykpIHx8IFBMQVRGT1JNKEVGTCkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01Q
T1NJVElORyAxCi0jZW5kaWYKLQotLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4g
V2ViS2l0MiAqLwotI2lmIFBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09N
UE9TSVRJTkcgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX1BST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCi0jZW5kaWYKLQotI2lmICFFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVO
SVgpICYmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShFRkwpKSkKLSNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9I
QVNIIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xJT04pCi0jZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcg
MQotI2VuZGlmCi0KLS8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBp
cyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVy
IEVycm9yLiAqLwotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNy
b19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSwotCi0vKiBGSVhNRTogRXZlbnR1YWxseSB3
ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhl
IGRlZmluZS4gKi8KLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVH
SUVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKQotI2RlZmluZSBXVEZfVVNFX0NST1NT
X1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYm
IEhBVkUoQUNDRVNTSUJJTElUWSkKLSNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRF
WFRfTUVOVVMgMQotI2VuZGlmCi0KLS8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUt
ZW1wdGl2ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVp
cmluZyBsb2NhdGlvbi4gKi8KLSNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BF
Uk1JU1NJT04gMQotCi0jaWYgQ1BVKEFSTV9USFVNQjIpCi0jZGVmaW5lIEVOQUJMRV9CUkFOQ0hf
Q09NUEFDVElPTiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElC
RElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19M
SUJESVNQQVRDSCAxCi0jZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYg
ZGVmaW5lZChfT1BFTk1QKQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCi0jZWxp
ZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19H
RU5FUklDIDEKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKLSNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HVHlwZWRlZnMuaD4KLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBkZWZpbmUg
d29uJ3QgYmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCi0g
ICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5j
ZSwgYWRkaW5nIG5ldyBoZWFkZXJzCi0gICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJl
YWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKLSAgIGJyZWFrYWdl
cyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShR
VCkgfHwgUExBVEZPUk0oV1gpCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCi0jZWxz
ZQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oUVQpICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
LSNkZWZpbmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKLSNkZWZpbmUgRU5BQkxFX0NP
TVBBUkVfQU5EX1NXQVAgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxf
R0MpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAm
JiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkKLSNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEK
LSNlbmRpZgotCi0jaWZuZGVmIE5ERUJVRwotI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgot
I2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xJT04pCi0jZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9X
X0xFT1BBUkQpCi0jZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCi0jZGVm
aW5lIFdURl9VU0VfVjggMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICov
Ci0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBXVEZfVVNFX1Y4IDAKLSNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfVVNFX1Y4KSAqLwotCi0vKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1
c2luZyBKU0MgYW5kIHZpY2UgdmVyc2EgKi8KLSNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0Vf
VjgKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5l
IEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KFdURl9VU0VfV1RGVVJMKQotI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKFdURl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQotI2RlZmluZSBXVEZfVVNF
X1pMSUIgMQotI2VuZGlmCi0KLSNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGE1MjZmNGEzN2YzNzg0NjIyZDBjNTEwMzU4ZTNhNDVkZDczY2M1Zjku
LmM5Zjc2MTI1MzFmM2ZiZTRjMTkxYzY4ZjM3M2JjZWI5YjAzNDE0NzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEsMyArMSw0IEBACiB3dGZfc291cmNlcyArPSBcCiAJU291cmNlL1dURi9T
dHViLmNwcCBcCi0JU291cmNlL1dURi9TdHViLmgKKwlTb3VyY2UvV1RGL1N0dWIuaCBcCisgICAg
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYuZ3lw
aSBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKaW5kZXggYWVkMTc2MmJhMTYxYzIyMDY2MmYzNmQ1MDEz
OWNkMjYxZWFjNWJkMC4uNzFjNjc0Yzg0NDljZThjMjkwYTA5OTg0M2ZjNjUzMTU3Y2UyNmVmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYuZ3lwaQorKysgYi9Tb3VyY2UvV1RGL1dURi5neXBp
CkBAIC0zLDYgKzMsNyBAQAogICAgICAgICAncHJvamVjdF9kaXInOiBbJy4nXSwKICAgICAgICAg
J3d0Zl9wcml2YXRlaGVhZGVyX2ZpbGVzJzogWwogICAgICAgICAgICAgJ1N0dWIuaCcsCisgICAg
ICAgICAgICAnd3RmL1BsYXRmb3JtLmgnLAogICAgICAgICBdLAogICAgICAgICAnd3RmX2ZpbGVz
JzogWwogICAgICAgICAgICAgJ1N0dWIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RG
LnBybyBiL1NvdXJjZS9XVEYvV1RGLnBybwppbmRleCBiMTE3YjBkMmQ3NGZjOGZhYTVkNTQyZTI5
MmM4NjFkNmMwYzM1Nzc4Li4wMTBkZTM4NDBkOGY4ZTkxOTgxOWM5YTYxMDU4YWFkNmZjYjA2YTY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5wcm8KKysrIGIvU291cmNlL1dURi9XVEYucHJv
CkBAIC0xMDIsNyArMTAyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgUGFzc093blB0ci5oIFwKICAg
ICBQYXNzUmVmUHRyLmggXAogICAgIFBhc3NUcmFpdHMuaCBcCi0gICAgUGxhdGZvcm0uaCBcCisg
ICAgLi4vLi4vV1RGL3d0Zi9QbGF0Zm9ybS5oIFwKICAgICBQb3NzaWJseU51bGwuaCBcCiAgICAg
cXQvVXRpbHNRdC5oIFwKICAgICBSYW5kb21OdW1iZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNw
cm9qCmluZGV4IDc3YTFkYjhkNzlkMDM5NTkzMDQ4NTE0MjcwYzVmYjI5N2JiYTM2NzIuLmZjNzQ3
ZmVkMTZiMGM0ZDBiZjNkZDA2MDEyYjFlMGQ4NmU5YmI5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYu
dmNwcm9qCkBAIC05OTcsNyArOTk3LDcgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlxKYXZhU2NyaXB0Q29yZVx3dGZcUGxhdGZvcm0uaCIKKwkJCVJl
bGF0aXZlUGF0aD0id3RmXFBsYXRmb3JtLmgiCiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai93b3JrLWFyb3VuZC12cy1kZXBlbmRlbmN5
LXRyYWNraW5nLWJ1Z3MucHkgYi9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovd29yay1hcm91bmQtdnMt
ZGVwZW5kZW5jeS10cmFja2luZy1idWdzLnB5CmluZGV4IGEyM2MyODAxMzFiZTc1MDQ1YjVlNzAz
MTUyZDcxYTZjOTQ3Y2M5N2QuLjUxMTkxMThiOGQ3ZmZhYzkyODU0ODU4NWZlMTlkZjE3MWMwMjgy
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai93b3JrLWFyb3VuZC12cy1kZXBl
bmRlbmN5LXRyYWNraW5nLWJ1Z3MucHkKKysrIGIvU291cmNlL1dURi9XVEYudmNwcm9qL3dvcmst
YXJvdW5kLXZzLWRlcGVuZGVuY3ktdHJhY2tpbmctYnVncy5weQpAQCAtMzEsNyArMzEsNyBAQCBk
ZWYgcmVhY3RfdG9fdnNwcm9wc19jaGFuZ2VzKCk6CiAKICAgICAjIFRvdWNoIHd0Zi9QbGF0Zm9y
bS5oIHNvIGFsbCBmaWxlcyB3aWxsIGJlIHJlY29tcGlsZWQuIFRoaXMgaXMgbmVjZXNzYXJ5CiAg
ICAgIyB0byBwaWNrIHVwIGNoYW5nZXMgdG8gcHJlcHJvY2Vzc29yIG1hY3JvcyAoZS5nLiwgRU5B
QkxFXyopLgotICAgIHd0Zl9wbGF0Zm9ybV9oID0gb3MucGF0aC5qb2luKFRPUF9MRVZFTF9ESVJF
Q1RPUlksICdTb3VyY2UnLCAnSmF2YVNjcmlwdENvcmUnLCAnd3RmJywgJ1BsYXRmb3JtLmgnKQor
ICAgIHd0Zl9wbGF0Zm9ybV9oID0gb3MucGF0aC5qb2luKFRPUF9MRVZFTF9ESVJFQ1RPUlksICdT
b3VyY2UnLCAnV1RGJywgJ3d0ZicsICdQbGF0Zm9ybS5oJykKICAgICB0b3VjaF9pZl9vbGRlcl90
aGFuKHd0Zl9wbGF0Zm9ybV9oLCBuZXdlc3RfdnNwcm9wc190aW1lKQogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZmOGJkYzYyNmQ2ZjkxMTRiYzY1NmVh
MjJjMTI1ZDczOTRiOGU3Y2MuLjhiZGUxMjliZDUwNjE2M2Y1Zjg3OWU5ZTFlZDM5YWYzY2M3MjUw
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOSw2ICs5
LDcgQEAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAJCTVEMjQ3Qjc5MTQ2ODlE
ODkwMEU3OEI3NiAvKiBTdHViLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLzsgfTsK
IAkJNUQyNDdCN0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBT
dHViLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJQTg3NkRCRDgx
NTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0u
aCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhG
aWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KQEAgLTIwLDYgKzIxLDcgQEAKIAkJNUQyNDdCNzcxNDY4
OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3R1Yi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3Qjc4MTQ2
ODlEODkwMEU3OEI3NiAvKiBTdHViLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0dWIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQyNDdFQjExNDY4QjAxNTAw
RTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBIZWFkZXJEZXRlY3Rpb24uaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dURi9IZWFkZXJE
ZXRlY3Rpb24uaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJQTg3NkRC
RDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQg
UEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTY3LDEwICs2OSwxOSBAQAogCQkJCTVEMjQ3RUIxMTQ2OEIw
MTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCAqLywKIAkJCQk1RDI0N0I3NzE0Njg5RDg5
MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8sCiAJCQkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8q
IFN0dWIuaCAqLywKKwkJCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxh
dGZvcm0uaCAqLywKKwkJCSk7CisJCQlwYXRoID0gd3RmOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhl
YWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTc4LDggKzg5LDggQEAKIAkJCWlzYSA9IFBC
WEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAotCQkJCTVEMjQ3RUIyMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFkZXJEZXRlY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHVi
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZv
cm0uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTQzLDcgKzE1NCw3IEBACiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3No
OwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0g
XCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlM
RF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmVsc2VcbiAgICBQUklW
QVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVCUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xERVJf
UEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5
bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRl
IFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIg
LS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NS
Q1JPT1R9L1wiIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuIjsKKwkJCXNoZWxsU2NyaXB0
ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiTk9cIiBdXTsgdGhlblxu
ICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtUQVJHRVRfQlVJTERfRElSJSUvfSR7UFJJVkFU
RV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9
XCIke0RTVFJPT1QlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpO1xuXG5t
a2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5jIC1hdiAtLW5vLW93bmVy
IC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1
ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBcIiovXCIg
LS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNST09UfS93dGYvXCIgXCIk
e1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG4iOwogCQl9OwogCQk1RDI0N0U5RDE0NjhBRUUyMDBF
NzhCNzYgLyogRGV0ZWN0IEF2YWlsYWJsZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hl
bGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9jb25maWcuaCBiL1Nv
dXJjZS9XVEYvY29uZmlnLmgKaW5kZXggMGFiMzMyNjNiNzYxNzQ3YzcwN2Y4MjhjMTU0YjAyMDY2
MjExMDA4Zi4uY2Q4NjI1MmM1MzA2OWI3MjQyNDRiMTVhMjMwMDEyOGQ3ZjYxMzQ5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9jb25maWcuaAorKysgYi9Tb3VyY2UvV1RGL2NvbmZpZy5oCkBAIC0z
MSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgogLy8gV1RGIGNhbm5v
dCBkZXBlbmQgb24gSlNDIGV2ZW4gaWYgVVNFKEpTQykuCiAjaWYgVVNFKEpTQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfV1RGKQotI2luY2x1ZGUgIkpTRXhwb3J0TWFjcm9zLmgiCisjaW5jbHVkZSAi
cnVudGltZS9KU0V4cG9ydE1hY3Jvcy5oIgogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDgzNGI1Mzk4NGY5MzMzNTA3NDVlODc1NGNjZGE0MTcwYzBmMDIw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTAsMCAr
MSwxMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5
IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V1RGX1BsYXRmb3JtX2gKKyNkZWZpbmUgV1RGX1BsYXRmb3JtX2gKKworLyogSW5jbHVkZSBjb21w
aWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyog
PT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNz
IEFQSSwgYW5kCisgICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9y
IG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KKyAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3Jv
cywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiA9PT09ICovCisjZGVmaW5lIFBMQVRG
T1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYg
V1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0
aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmly
b25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJl
ICovCisjZGVmaW5lIENQVShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFU
VVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUpCisvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0
ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVz
ZW50IG9yIG5vdCAqLworI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMj
V1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKKy8qIE9TKCkgLSB1bmRlcmx5aW5n
IG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVs
IHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0
b29sa2l0ICovCisjZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVj
aXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxh
ciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0
eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVB
VFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0
ICovCisjZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZF
QVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gQ1BVKCkgLSB0aGUg
dGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAqLworCisvKiBUaGlzIGFsc28gZGVmaW5lcyBD
UFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9FTkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJv
cHJpYXRlLiAqLworCisvKiBDUFUoQUxQSEEpIC0gREVDIEFscGhhICovCisjaWYgZGVmaW5lZChf
X2FscGhhX18pCisjZGVmaW5lIFdURl9DUFVfQUxQSEEgMQorI2VuZGlmCisKKy8qIENQVShJQTY0
KSAtIEl0YW5pdW0gLyBJQS02NCAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdU
Rl9DUFVfSUE2NCAxCisvKiAzMi1iaXQgbW9kZSBvbiBJdGFuaXVtICovCisjaWYgIWRlZmluZWQo
X19MUDY0X18pCisjZGVmaW5lIFdURl9DUFVfSUE2NF8zMiAxCisjZW5kaWYKKyNlbmRpZgorCisv
KiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLworLyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRl
c3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIgQUJJIGZvciBub3cuICAqLworI2lmIChkZWZp
bmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5l
ZChfTUlQU18pKSBcCisgICAgJiYgZGVmaW5lZChfQUJJTzMyKQorI2RlZmluZSBXVEZfQ1BVX01J
UFMgMQorI2lmIGRlZmluZWQoX19NSVBTRUJfXykKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFO
IDEKKyNlbmRpZgorI2RlZmluZSBXVEZfTUlQU19QSUMgKGRlZmluZWQgX19QSUNfXykKKyNkZWZp
bmUgV1RGX01JUFNfQVJDSCBfX21pcHMKKyNkZWZpbmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVk
IFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA9PSB2KQorI2RlZmluZSBXVEZfTUlQU19J
U0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49
IHYpCisjZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVWIF9fbWlwc19pc2FfcmV2CisjZGVmaW5lIFdU
Rl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNf
QVJDSF9SRVYgPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9f
bWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9fbWlwc19zaW5nbGVfZmxvYXQpCisjZGVmaW5l
IFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBzX2ZwciAmJiBfX21pcHNfZnByID09IDY0KQor
LyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2Rl
ZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZiAvKiBN
SVBTICovCisKKy8qIENQVShQUEMpIC0gUG93ZXJQQyAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQo
X19wcGNfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICBcCisgICAgfHwgZGVm
aW5lZChfX3Bvd2VycGNfXykgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAor
ICAgIHx8IGRlZmluZWQoX19QUEMpCisjZGVmaW5lIFdURl9DUFVfUFBDIDEKKyNkZWZpbmUgV1RG
X0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1i
aXQgKi8KKyNpZiAgIGRlZmluZWQoX19wcGM2NF9fKSBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0
X18pCisjZGVmaW5lIFdURl9DUFVfUFBDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4g
MQorI2VuZGlmCisKKy8qIENQVShTSDQpIC0gU3VwZXJIIFNILTQgKi8KKyNpZiBkZWZpbmVkKF9f
U0g0X18pCisjZGVmaW5lIFdURl9DUFVfU0g0IDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMzMikg
LSBTUEFSQyAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQorI2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShTUEFSQzY0KSAt
IFNQQVJDIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJj
aDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEK
KyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkMpIC0g
YW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMzMikgYW5kIENQVShTUEFSQzY0KSAqLworI2lm
IENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCisj
ZW5kaWYKKworLyogQ1BVKFMzOTBYKSAtIFMzOTAgNjQtYml0ICovCisjaWYgZGVmaW5lZChfX3Mz
OTB4X18pCisjZGVmaW5lIFdURl9DUFVfUzM5MFggMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJ
QU4gMQorI2VuZGlmCisKKy8qIENQVShTMzkwKSAtIFMzOTAgMzItYml0ICovCisjaWYgZGVmaW5l
ZChfX3MzOTBfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoWDg2KSAtIGkzODYgLyB4ODYgMzItYml0ICovCisj
aWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCisgICAgfHwgZGVmaW5lZChpMzg2KSAgICAgXAorICAg
IHx8IGRlZmluZWQoX01fSVg4NikgIFwKKyAgICB8fCBkZWZpbmVkKF9YODZfKSAgICBcCisgICAg
fHwgZGVmaW5lZChfX1RIV19JTlRFTCkKKyNkZWZpbmUgV1RGX0NQVV9YODYgMQorI2VuZGlmCisK
Ky8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRlbDY0IC8geDg2XzY0IDY0LWJpdCAqLworI2lm
ICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCisgICAgfHwgZGVmaW5lZChfTV9YNjQpCisjZGVmaW5l
IFdURl9DUFVfWDg2XzY0IDEKKyNlbmRpZgorCisvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNp
b24qLworI2lmICAgZGVmaW5lZChhcm0pIFwKKyAgICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKKyAg
ICB8fCBkZWZpbmVkKEFSTSkgXAorICAgIHx8IGRlZmluZWQoX0FSTV8pCisjZGVmaW5lIFdURl9D
UFVfQVJNIDEKKworI2lmIGRlZmluZWQoX19BUk1FQl9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYg
ZGVmaW5lZChfX0JJR19FTkRJQU4pKQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorCisj
ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwKKyAgICAmJiAhZGVmaW5lZChfX0VBQklfXykg
XAorICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18pIFwKKyAgICAmJiAhZGVmaW5lZChfV0lOMzJf
V0NFKSBcCisgICAgJiYgIWRlZmluZWQoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX0NQVV9NSURETEVf
RU5ESUFOIDEKKworI2VuZGlmCisKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChD
UFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA+PSBOKQorCisvKiBTZXQgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80X18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18p
IFwKKyAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA0CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81X18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19NQVJNX0FSTVY1X18pCisjZGVmaW5l
IFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisvKkFSTXY1
VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2RlZmluZSBX
VEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKworI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82WktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1WNl9fKQorI2RlZmlu
ZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pCisjZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDcKKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlmIGRl
ZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfQVJNCisKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAgICB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9B
UkNIXzVURUopCisvKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBt
ZW1vcnkqLworI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEK
KyNlbmRpZgorCisjZWxzZQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCisKKyNlbmRp
ZgorCisvKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FS
TV9BUkNIXzRUX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMQorCisjZWxpZiBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNk1fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCisK
KyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF83X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18p
CisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gNAorCisvKiBSVkNUIHNldHMgX19UQVJH
RVRfQVJDSF9USFVNQiAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX1RIVU1CKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfVEhVTUIKKworI2Vsc2UK
KyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAwCisjZW5kaWYKKworCisvKiBDUFUoQVJN
VjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9uIHNldCB2NSBvciBlYXJsaWVyICovCisvKiBP
biBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKKyAg
IEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZmZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4g
Ki8KKyNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dFUikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFT
VCg2KQorI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09SX0xPV0VSIDEKKyNlbmRpZgorCisKKy8qIENQ
VShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlzIG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0
aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLworLyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIy
IGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUgKi8KKy8qIE9ubHkgb25lIG9mIHRoZXNlIHdp
bGwgYmUgZGVmaW5lZC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkg
JiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKQorIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8
IGRlZmluZWQoX190aHVtYjJfXykgXAorICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZp
bmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKKyMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RI
VU1CMiAxCisjICBlbGlmIFdURl9BUk1fQVJDSF9BVF9MRUFTVCg0KQorIyAgICBkZWZpbmUgV1RG
X0NQVV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAK
KyMgIGVsc2UKKyMgICAgZXJyb3IgIk5vdCBzdXBwb3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKKyMg
IGVuZGlmCisjZWxpZiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyog
U2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJN
X1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9USFVNQjIgcGxhdGZvcm1zIgorI2VuZGlmIC8q
ICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FS
TV9USFVNQjIpICovCisKKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RG
X0NQVV9BUk1fTkVPTikKKyNkZWZpbmUgV1RGX0NQVV9BUk1fTkVPTiAxCisjZW5kaWYKKworI2Vu
ZGlmIC8qIEFSTSAqLworCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8
IENQVShTUEFSQykKKyNkZWZpbmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCisjZW5k
aWYKKworLyogPT09PSBPUygpIC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRv
IGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAorICAgdmlydHVh
bCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCA9PT09ICovCisKKy8qIE9TKEFO
RFJPSUQpIC0gQW5kcm9pZCAqLworI2lmZGVmIEFORFJPSUQKKyNkZWZpbmUgV1RGX09TX0FORFJP
SUQgMQorI2VuZGlmCisKKy8qIE9TKEFJWCkgLSBBSVggKi8KKyNpZmRlZiBfQUlYCisjZGVmaW5l
IFdURl9PU19BSVggMQorI2VuZGlmCisKKy8qIE9TKERBUldJTikgLSBBbnkgRGFyd2luLWJhc2Vk
IE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQaG9uZSBPUyAqLworI2lmZGVmIF9fQVBQTEVf
XworI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgor
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlv
bmFscy5oPgorI2VuZGlmCisKKy8qIE9TKElPUykgLSBpT1MgKi8KKy8qIE9TKE1BQ19PU19YKSAt
IE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykgKi8KKyNpZiBPUyhEQVJXSU4pICYmICgoZGVm
aW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgXAorICAgIHx8
IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAg
ICAgICAgICBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRB
UkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKKyNkZWZpbmUgV1RGX09TX0lPUyAxCisjZWxpZiBPUyhE
QVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQworI2RlZmlu
ZSBXVEZfT1NfTUFDX09TX1ggMQorLyogRklYTUU6IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VU
SU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIE9TKCkgc3lzdGVtICovCisj
aWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIEJVSUxESU5HX09OX0xF
T1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9O
XzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9O
XzEwXzgKKyNkZWZpbmUgQlVJTERJTkdfT05fTElPTiAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChN
QUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
TUFDX09TX1hfVkVSU0lPTl8xMF82CisjZGVmaW5lIFRBUkdFVElOR19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgVEFSR0VUSU5HX1NOT1df
TEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84CisjZGVmaW5l
IFRBUkdFVElOR19MSU9OIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIE9TKEZSRUVCU0QpIC0gRnJl
ZUJTRCAqLworI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlf
XykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjZGVmaW5lIFdURl9PU19GUkVFQlNE
IDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJkICovCisjaWZkZWYgX19HTlVfXwor
I2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYKKworLyogT1MoTElOVVgpIC0gTGludXggKi8K
KyNpZmRlZiBfX2xpbnV4X18KKyNkZWZpbmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBP
UyhORVRCU0QpIC0gTmV0QlNEICovCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBX
VEZfT1NfTkVUQlNEIDEKKyNlbmRpZgorCisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNp
ZmRlZiBfX09wZW5CU0RfXworI2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyog
T1MoUU5YKSAtIFFOWCAqLworI2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX09T
X1FOWCAxCisjZW5kaWYKKworLyogT1MoU09MQVJJUykgLSBTb2xhcmlzICovCisjaWYgZGVmaW5l
ZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCisjZGVmaW5lIFdURl9PU19TT0xBUklTIDEKKyNlbmRp
ZgorCisvKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENFOyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZv
cm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVkICovCisjaWYgZGVmaW5lZChfV0lOMzJfV0NF
KQorI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQorI2VuZGlmCisKKy8qIE9TKFdJTkRPV1MpIC0gQW55
IHZlcnNpb24gb2YgV2luZG93cyAqLworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKQorI2RlZmluZSBXVEZfT1NfV0lORE9XUyAxCisjZW5kaWYKKworI2RlZmluZSBXVEZfT1Nf
V0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdURl9PU19N
QUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCisKKy8qIE9TKFVOSVgpIC0g
QW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgIE9TKEFJWCkgICAgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCisgICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAg
XAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAgIFwKKyAgICB8fCBPUyhIVVJEKSAgICAgICAg
ICAgICBcCisgICAgfHwgT1MoTElOVVgpICAgICAgICAgICAgXAorICAgIHx8IE9TKE5FVEJTRCkg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhPUEVOQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoUU5Y
KSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKFNPTEFSSVMpICAgICAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKHVuaXgpICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAorICAg
IHx8IGRlZmluZWQoX191bml4X18pCisjZGVmaW5lIFdURl9PU19VTklYIDEKKyNlbmRpZgorCisv
KiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKy8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1p
eGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwor
LyogUExBVEZPUk0oQ0hST01JVU0pICovCisvKiBQTEFURk9STShRVCkgKi8KKy8qIFBMQVRGT1JN
KFdYKSAqLworLyogUExBVEZPUk0oR1RLKSAqLworLyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8K
Ky8qIFBMQVRGT1JNKE1BQykgKi8KKy8qIFBMQVRGT1JNKFdJTikgKi8KKyNpZiBkZWZpbmVkKEJV
SUxESU5HX0NIUk9NSVVNX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9DSFJPTUlVTSAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9RVCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCisjZGVmaW5lIFdURl9QTEFURk9STV9XWCAxCisjZWxp
ZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKKyNl
bGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJSWV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1f
QkxBQ0tCRVJSWSAxCisjZWxpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9QTEFURk9STV9NQUMg
MQorI2VsaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1dJTiAxCisjZW5kaWYK
KworLyogUExBVEZPUk0oSU9TKSAqLworLyogRklYTUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQg
YXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMgZm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8K
KyNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkg
fHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZW5kaWYKKworLyogUExBVEZPUk0oSU9TX1NJTVVMQVRP
UikgKi8KKyNpZiBkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBI
T05FX1NJTVVMQVRPUgorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNkZWZpbmUgV1RGX1BM
QVRGT1JNX0lPU19TSU1VTEFUT1IgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19T
SU1VTEFUT1IgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKQorI2Rl
ZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKKyNlbmRpZgorCisvKiBHcmFwaGljcyBlbmdpbmVzICov
CisKKy8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJKSAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQorI2Rl
ZmluZSBXVEZfVVNFX0NBIDEKKyNlbmRpZgorCisvKiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9N
YWMvQW5kcm9pZCAqLworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIE9TKERBUldJTikKKyNp
ZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0NHIDEKKyNlbmRpZgorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEK
KyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQor
I2VsaWYgT1MoQU5EUk9JRCkKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZpbmUgV1RGX1VT
RV9HTEVTMl9SRU5ERVJJTkcgMAorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNkZWZp
bmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBVU0Vf
U1lTVEVNX01BTExPQyAxCisjZGVmaW5lIFdURl9VU0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAx
CisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykKKyNk
ZWZpbmUgV1RGX1VTRV9DQUlSTyAxCisjZW5kaWYKKworCisjaWYgT1MoV0lOQ0UpCisjaW5jbHVk
ZSA8Y2VfdGltZS5oPgorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQor
I2VuZGlmCisKKy8qIE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBk
ZWZhdWx0ICovCisjaWYgT1MoV0lORE9XUykKKyNkZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JN
QU5DRV9DT1VOVEVSICAxCisjZW5kaWYKKworI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQp
CisjZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdpbmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qg
d2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KKyNkZWZpbmUgTk9TSExXQVBJICAgICAgLyogc2hsd2Fw
aS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8KKworLyogTVNETiBkb2N1bWVudGF0aW9uIHNh
eXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRlZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBj
YW5ub3QgZmluZCB0aGlzIGZpbGUuICovCisjZGVmaW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2Fi
bGUgInVzcDEwLmgiICovCisKKyNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNz
ZXJ0LmgiICovCisjZGVmaW5lIGFzc2VydCh4KQorCisjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oUVQpICovCisKKyNpZiBQTEFURk9STShRVCkKKyNpZm5kZWYgV1RGX1VTRV9JQ1Vf
VU5JQ09ERQorI2RlZmluZSBXVEZfVVNFX1FUNF9VTklDT0RFIDEKKyNlbmRpZgorI2VsaWYgT1Mo
V0lOQ0UpCisjZGVmaW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCisjZWxpZiBQTEFURk9STShH
VEspCisvKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tlbmQgaXMgY29uZmlndXJhYmxlICovCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmIENQVShYODZfNjQpCisjZGVmaW5lIFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCisj
ZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCisj
ZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAxCisjZGVmaW5lIFdURl9VU0VfU0NST0xMQkFS
X1BBSU5URVIgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2Rl
ZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQorI2VuZGlmCisjaWYgIWRlZmluZWQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMQorI2Vu
ZGlmCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2Rl
ZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkg
MQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCisjZGVmaW5lIEVOQUJMRV9XRUJf
QVJDSElWRSAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8gMQorI2lmIGRlZmluZWQoRU5BQkxF
X1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMQorI2VuZGlmCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBIQVZFX0xBWUVSX0hP
U1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCisjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9STShNQUMp
ICYmICFQTEFURk9STShJT1MpICovCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFS
V0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorCisjZGVmaW5lIFdURl9VU0VfV0tfU0NST0xM
QkFSX1BBSU5URVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERPTlRf
RklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgJiYg
T1MoREFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9I
IDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZP
Uk0oUVQpCisjZGVmaW5lIEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAwCisjZGVmaW5lIEVO
QUJMRV9EUkFHX1NVUFBPUlQgMAorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAw
CisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQorI2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQor
I2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
CisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9Q
TFVHSU5fQVBJIDAKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCisjZGVmaW5l
IEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUg
MQorI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQorI2RlZmluZSBI
QVZFX1JVTkxPT1BfVElNRVIgMAorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRk5FVFdPUksgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKworI2lmIFBMQVRGT1JN
KElPU19TSU1VTEFUT1IpCisgICAgI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKKyAgICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAw
CisjZWxzZQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMAorICAgICNk
ZWZpbmUgRU5BQkxFX0pJVCAxCisgICAgI2RlZmluZSBFTkFCTEVfTExJTlQgMQorICAgICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikgJiYgIU9TKFdJTkNFKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9Q
VEhSRUFEUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAh
UExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjZGVmaW5lIFdURl9V
U0VfQ0ZORVRXT1JLIDEKKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0VfQ0ZVUkxDQUNIRSAxCisjZGVm
aW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0o
UVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShX
SU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1gpCisjaWYgIUNQVShQUEMpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorI2RlZmluZSBF
TkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKKyNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKKyNp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVf
VEVYVCAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oR1RLKQorI2lmIEhBVkUoUFRIUkVBRF9IKQorI2RlZmluZSBXVEZfVVNFX1BU
SFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKyNlbGlmIFBM
QVRGT1JNKFFUKSAmJiBPUyhVTklYKQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQUND
RVNTSUJJTElUWSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2RlZmluZSBI
QVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NF
U1NJQklMSVRZKSAqLworCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVkFTUFJJTlRGKQorI2lmICFDT01QSUxFUihNU1ZD
KSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdD
QykgJiYgT1MoUU5YKSkKKyNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQorI2VuZGlmCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikKKyNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVF
QlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQorI2Vu
ZGlmCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAorICAgICYm
ICFPUyhSVkNUKSBcCisgICAgJiYgIU9TKEFORFJPSUQpCisjZGVmaW5lIEhBVkVfVE1fR01UT0ZG
IDEKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNkZWZpbmUgSEFWRV9USU1FR00gMQorI2VuZGlm
CisKKyNpZiBPUyhEQVJXSU4pCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFW
RV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9NRVJHRVNP
UlQgMQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19USU1FQl9IIDEKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFIDEKKworI2lm
bmRlZiBUQVJHRVRJTkdfTEVPUEFSRAorCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisjZGVm
aW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKKworI2lmICFQTEFURk9STShJT1MpCisj
ZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQor
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbGlmIE9TKFdJTkRPV1MpCisKKyNpZiBP
UyhXSU5DRSkKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfU1lT
X1RJTUVCX0ggMQorI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKKyNkZWZpbmUgSEFWRV9J
U0RFQlVHR0VSUFJFU0VOVCAxCisjZW5kaWYKKyNkZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQor
CisjZWxpZiBPUyhRTlgpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9N
TUFQIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2RlZmluZSBIQVZFX01BRFZf
RlJFRSAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorCisjZWxpZiBPUyhBTkRST0lEKQorCisjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAwCisjZGVmaW5lIEhBVkVfTk1B
UCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKyNlbHNl
CisKKy8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1z
IGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KKworI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmlu
ZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZW5kaWYKKworLyogRU5B
QkxFIG1hY3JvIGRlZmF1bHRzICovCisKKyNpZiBQTEFURk9STShRVCkKKy8qIFdlIG11c3Qgbm90
IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9yIG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQg
cG9ydC4gKi8KKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjaWYgIU9T
KFVOSVgpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorI2VuZGlmCisKKy8q
IGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0
aW9uIHRoYXQKKyAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRj
aGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9D
X01BVENIX1ZBTElEQVRJT04pCisjZGVmaW5lIEVOQUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJ
REFUSU9OIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKKyNk
ZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJBU0UgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikKKyNkZWZpbmUgRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQ
RElSKQorI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RS
QUdfU1VQUE9SVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKQorI2RlZmluZSBFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RP
UikKKyNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkpCisjZGVmaW5lIEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJH
RUFCTEVfTUVNT1JZKQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUykKKyNkZWZpbmUgV1RG
X1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUENPREVfU1RBVFMpCisjZGVmaW5lIEVO
QUJMRV9PUENPREVfU1RBVFMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXKQorI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEK
KyNlbmRpZgorCisjZGVmaW5lIEVOQUJMRV9ERUJVR19XSVRIX0JSRUFLUE9JTlQgMAorI2RlZmlu
ZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxB
R1MgMAorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUkVHSU9OUyAwCisjZGVmaW5lIEVOQUJMRV9P
UENPREVfU0FNUExJTkcgMAorI2RlZmluZSBFTkFCTEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKKyNp
ZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAmJiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykK
KyNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJlcXVpcmVzIE9QQ09ERV9TQU1QTElORyIKKyNl
bmRpZgorI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFH
UykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMpCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19U
SFJFQUQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVm
aW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9W
SUVXUE9SVCkKKyNkZWZpbmUgRU5BQkxFX1ZJRVdQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCisjZGVmaW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQorI2RlZmluZSBFTkFC
TEVfVEVYVF9DQVJFVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChX
VEZfVVNFX0pTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9T
KFdJTkRPV1MpKSkgXAorICAgIHx8IChDUFUoSUE2NCkgJiYgIUNQVShJQTY0XzMyKSkgXAorICAg
IHx8IENQVShBTFBIQSkgXAorICAgIHx8IENQVShTUEFSQzY0KSBcCisgICAgfHwgQ1BVKFMzOTBY
KSBcCisgICAgfHwgQ1BVKFBQQzY0KQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUU2NCAxCisjZWxz
ZQorI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQp
ICovCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HKQorI2RlZmluZSBF
TkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKKyNlbmRpZgorCisvKiBEaXNhYmxlIHRoZSBKSVQg
b24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQuMSAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9K
SVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCisj
ZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQg
Zm9yIFdpbmRvd3MgNjQtYml0ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lO
RE9XUykgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyog
VGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBN
SVBTIHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCisgICAgJiYgKENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShNSVBTKSkgXAorICAgICYm
IChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQs
IDEsIDApKSBcCisgICAgJiYgIU9TKFdJTkNFKSBcCisgICAgJiYgIU9TKFFOWCkKKyNkZWZpbmUg
RU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogT24gc29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJl
IHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxzbyBoYXZlIHRoZSAKKyAgIGxvdy1sZXZlbCBp
bnRlcnByZXRlci4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQp
ICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShRVCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCisjZGVmaW5lIEVOQUJMRV9MTElOVCAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBH
TlUvTGludXguICovCisjaWYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0o
TUFDKSB8fCBPUyhMSU5VWCkpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKKyNlbmRpZgorLyog
RW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLiAqLworI2lm
IENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9ERkdfSklU
IDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIFByb2ZpbGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVz
ZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5kcyBvbiBpdCwgYnV0IHlvdQorICAgY2FuIGVu
YWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJuZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBp
dCBhcyBhIHN0YW5kYWxvbmUKKyAgIHByb2ZpbGVyLiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJs
eSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0VfVkFMVUVfUFJPRklMRQorICAgYmVsb3cuICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BST0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkK
KyNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkgJiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQor
I2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1NJTVBM
RV9IRUFQX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFy
cmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbworICAgc2V0IEVO
QUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9XUklU
RV9CQVJSSUVSX1BST0ZJTElORykKKyNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklM
SU5HIDAKKyNlbmRpZgorCisvKiBFbnN1cmUgdGhhdCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50
ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lO
VEVSUFJFVEVSIDEKKyNlbmRpZgorI2lmICEoRU5BQkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNf
SU5URVJQUkVURVIpKQorI2Vycm9yIFlvdSBoYXZlIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1
dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpTQworI2VuZGlmCisKKyNpZiBDUFUoU0g0KSAm
JiBQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKworLyogQ29uZmln
dXJlIHRoZSBKSVQgKi8KKyNpZiBDUFUoQVJNKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNF
X1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNSkKKyNkZWZpbmUgRU5BQkxF
X0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5kaWYKKworI2lmIENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShNSVBTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NP
RlRfTU9EVUxPKQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlNDX0hP
U1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVm
aW5lIEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVy
ICovCisjaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAs
IDApICYmIGRlZmluZWQoX19HTlVDX18pKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQor
I2VuZGlmCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBS
RVRFUikKKyNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAx
CisjZW5kaWYKKworLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0
cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICovCisjZGVmaW5l
IEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCisKKy8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUg
LSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCisKKyNlbGlmIEVOQUJM
RShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBp
bnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAor
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisKKy8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVz
ZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIg
aXMgY29tcGlsZWQgaW4uCisgICBPbiB4ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAs
IG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9uIGRlbWFuZC4gKi8KKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQorI2lmIENQVShYODZfNjQpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxF
X0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9FWEVD
VVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhXSU5ET1dTKQorI2RlZmluZSBFTkFCTEVfUEFO
X1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xM
SU5HKQorI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAK
KyNlbmRpZgorCisvKiBVc2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9y
IFhNTERvY3VtZW50UGFyc2VyICovCisvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlv
biBmb3IgWFNMVFByb2Nlc3NvciAqLworI2lmIFBMQVRGT1JNKFFUKQorI2lmICFVU0UoTElCWE1M
MikKKyNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFNIDEKKyNkZWZpbmUgV1RGX1VTRV9RWE1MUVVF
UlkgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIENvbXBsZXggdGV4
dCBmcmFtZXdvcmsgKi8KKyNpZm5kZWYgQlVJTERJTkdfT05fTEVPUEFSRAorI2RlZmluZSBXVEZf
VVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorI2Vu
ZGlmCisKKy8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1Mo
V0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5l
IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisKKy8qIENvbXBvc2l0
aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNpZiBQTEFURk9STShRVCkKKyNk
ZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisjaWYgKFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2Vu
ZGlmCisKKyNpZiAhRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAmJiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkpCisjZGVmaW5lIEVOQUJM
RV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBF
TkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKKyNlbmRpZgorCisvKiBTZXQgdXAgYSBkZWZpbmUg
Zm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJv
ciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJvci4gKi8KKyNkZWZpbmUgV1RGX1BMQVRGT1JN
X0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksK
KworLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxh
dGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZpbmUuICovCisjaWYgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5l
IFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJ
TikKKyNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCisvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uICovCisjZGVmaW5lIFdURl9V
U0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIDEKKworI2lmIENQVShBUk1fVEhVTUIy
KQorI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5B
QkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisj
ZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmIEVOQUJMRShH
TElCX1NVUFBPUlQpCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1R5cGVkZWZzLmg+CisjZW5kaWYK
KworLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBm
dWxseSBsYW5kZWQuIEhvd2V2ZXIsIAorICAgc2luY2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9y
dCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFkZGluZyBuZXcgaGVhZGVycworICAgdG8gV1RG
IGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJl
c3MgdGhlIGJ1aWxkCisgICBicmVha2FnZXMgb25lIHBvcnQgYXQgYSB0aW1lLiAqLworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKQorI2RlZmluZSBXVEZf
VVNFX0VYUE9SVF9NQUNST1MgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9T
IDAKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKFFUKSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZGVmaW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09D
S0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAm
JiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RI
VU1CMikpCisjZGVmaW5lIEVOQUJMRV9DT01QQVJFX0FORF9TV0FQIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCisjZGVm
aW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCisjZW5kaWYKKworI2lmbmRlZiBOREVCVUcKKyNpZm5k
ZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KKyNkZWZpbmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQor
I2VuZGlmCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmlu
ZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MSU9OKQorI2RlZmluZSBXVEZfVVNF
X0NPUkVNRURJQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBM
QVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZ
KQorI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2RlZmluZSBX
VEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2RlZmluZSBIQVZFX0lOVkVSVEVE
X1dIRUVMX0VWRU5UUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiAh
ZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDEKKyNlbmRpZgorI2VuZGlm
IC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLworCisjaWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKKyNk
ZWZpbmUgV1RGX1VTRV9WOCAwCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KKwor
LyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcgSlNDIGFuZCB2aWNlIHZlcnNhICovCisjZGVm
aW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4CisKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
JiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1dURlVSTCkKKyNkZWZpbmUgV1RGX1VT
RV9XVEZVUkwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFU
Rk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9aTElCIDEKKyNlbmRpZgorCisjZW5kaWYgLyogV1RG
X1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDdkYzEzN2NhOTExNzU0MmNm
N2MwZjVlN2Y4ZTU2ZjZkMDFmZTY1Ni4uYzg0YzMxMzk2MjAwYzdhMWRmYWVkMjA2MDhiYWFlYTYy
NTgxYzdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEsNSArMSw2IEBACiBTRVQoV2ViQ29y
ZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9IgorICAgICIke1dURl9E
SVJ9IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZpbGVzeXN0ZW0iCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvZ2VvbG9jYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvaW5kZXhlZGRiIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggNjJmNGIzMTE2MmU1YWJkYjJkNGMw
YTJhNzM3OTFiNTNhZWFjOWQxYy4uZjEzZWMyNjkwNmU5ZjY0ZmU2OWZlNGRhMTAwNDhmYWEzMGY0
MTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0xLDQgKzEsNSBAQAogU0VUKFdlYktpdF9JTkNM
VURFX0RJUkVDVE9SSUVTCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7V0VCS0lUX0RJUn0iCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYmRhdGFi
YXNlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNlX3AuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRhYmFzZV9wLmgKaW5kZXggZWMwM2VhNWUyMDI5
ZDc4ZjY0OTQ5NDk0NDcwMzkwNDFmNzZhMzZjZS4uMjk4NDcwNDQyNTUwYzg5NGVmZjhkMGMzNzhl
MzMxYTllZjg5ODM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFi
YXNlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCkBAIC0y
NCw3ICsyNCw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiAKIGNsYXNzIFFXZWJEYXRhYmFzZVByaXZhdGUgOiBwdWJsaWMgUVNoYXJlZERhdGEg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKaW5kZXggNzExNWViMmM1
MGI5MTljZjI4NTg1YjE0MTkyMGEzZDQwNDU0ZDVmNC4uOGMxOGUyM2VkODQ3ZDdhOTE4NGFhMWY5
MGU4MWU0NDQxMDIzMmM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNj
cmlwdHdvcmxkX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRf
cC5oCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVmIF9RV0VCU0NSSVBUV09STERfUF9IXwogI2Rl
ZmluZSBfUVdFQlNDUklQVFdPUkxEX1BfSF8KIAotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdy
YXBwZXJXb3JsZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0
eW9yaWdpbl9wLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5o
CmluZGV4IGNkYzkzYmQxNDFhY2JjNDFmYTEwNzBhMGFmZWQzNmVjZTcxNTZlMTUuLjFiNjRjNDlm
MGMxNDIwOWVmMDE4NTQ1ODYxYWMyZDNjNTc2NTIzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBfV0VC
U0VDVVJJVFlPUklHSU5fUF9IXwogCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNs
dWRlICJSZWZQdHIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIGNsYXNzIFFXZWJTZWN1
cml0eU9yaWdpblByaXZhdGUgOiBwdWJsaWMgUVNoYXJlZERhdGEgewogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5o
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmlu
ZGV4IGM5NGQ2MWEzMjk0MGE2YTQzZDU2ZTlkZWU5ZTQxODI4YjdkMjQxZGMuLjZjN2QwMGY4NWQ3
ODQ5ZjU1YjgyMTU5NjQ3MDdmOTFmYTk1NGU2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTMyLDEwICszMiwxMCBA
QAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oIgotI2luY2x1ZGUgIk93blB0ci5oIgotI2luY2x1ZGUgIlBhc3NP
d25QdHIuaCIKICNpbmNsdWRlIDxRdENvcmUvUVN0cmluZz4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKaW5kZXggZWExMTFm
YTVjZmUxYzM2MmI5NGNjYzRmYzBkMzUxZGU5ODUyYmU5My4uMjk4MGQ0NTgyNGE2N2VkZWU0OTkx
MmFhNGE4ZTJlOGFkOTRhMzk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCkBAIC0yMCw4ICsyMCw4IEBACiAjaWZuZGVm
IFF0RmFsbGJhY2tXZWJQb3B1cF9oCiAjZGVmaW5lIFF0RmFsbGJhY2tXZWJQb3B1cF9oCiAKLSNp
bmNsdWRlICJQbGF0Zm9ybS5oIgogI2luY2x1ZGUgInF3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oIgor
I2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNvbWJvQm94PgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCmluZGV4IGJj
YTJlNWYzODJiZjJhYzBjYzY0MDRiMWIwZTVhODFiZWUzYmU4MTEuLjQyNjQ3NTc2Njc4MjI0YjQ1
OGNiNjA2OTE1NTVlN2NiMGVkZGQzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFF0V2Vi
Q29tYm9Cb3hfaAogI2RlZmluZSBRdFdlYkNvbWJvQm94X2gKIAotI2luY2x1ZGUgIlBsYXRmb3Jt
LmgiCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKICNpbmNsdWRlIDxRQ29tYm9Cb3g+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4
cGVyaW1lbnRhbC5wcmkgYi9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRh
bC9leHBlcmltZW50YWwucHJpCmluZGV4IDU4MzcyNmY2MmNmY2I2YmE4OTZiNTU1OWE5OWViZDRm
ZTdjZTFhNDkuLjE1Mzg2YjgwNzFmNjc2NzIzNmFlNTk0NmNkNjNmZDVlOTRmYTM1YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4cGVyaW1l
bnRhbC5wcmkKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBlcmltZW50YWwv
ZXhwZXJpbWVudGFsLnByaQpAQCAtNDMsNyArNDMsOCBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAg
Li4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUgXAogICAgIC4uLy4uLy4uLy4u
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAogICAgIC4uLy4uLy4uLy4uL1dlYktpdDIvUGxhdGZv
cm0gXAotICAgIC4uLy4uLy4uLy4uL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQworICAgIC4uLy4u
Ly4uLy4uL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisgICAgLi4vLi4vLi4vLi4vV1RGCiAK
IHRhcmdldC5wYXRoID0gJCRbUVRfSU5TVEFMTF9JTVBPUlRTXS8kJHtUQVJHRVQubW9kdWxlX25h
bWV9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnBy
aSBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnByaQppbmRleCBlMzg5ZTM4
ZWIwODkzMmQ1ZjZiYTk2NmFhNWY3OGIxYmE1NmUxNmRiLi5hMmY3N2VlN2M3ZjZmNTFlZmJjZDNj
ZjkwY2U0ZDRiMmMyY2Y4YTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0
aXZlL3B1YmxpYy5wcmkKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMu
cHJpCkBAIC00NCw3ICs0NCw4IEBAIElOQ0xVREVQQVRIICs9IFwKICAgICAuLi8uLi8uLi9XZWJL
aXQyL1NoYXJlZC9xdCBcCiAgICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUgXAogICAgIC4uLy4u
Ly4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAotICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3Jl
L3d0ZgorICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3d0ZiBcCisgICAgLi4vLi4vLi4vV1RG
CiAKIFNPVVJDRVMgKz0gcGx1Z2luLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L3Rlc3RzL01JTUVTbmlmZmluZy9NSU1FU25pZmZpbmcucHJvIGIvU291cmNlL1dlYktpdC9xdC90
ZXN0cy9NSU1FU25pZmZpbmcvTUlNRVNuaWZmaW5nLnBybwppbmRleCBmZTUwZjFiMzQzYTc5NjY4
YjAyNTdjYTY4OGFjYmQxOTVjZmY0MjIxLi5jODU2YTZlN2RhMGQ0OTc1NWEwZmFlYTNiNjdiYjQy
ODg4MGU5YTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL01JTUVTbmlmZmlu
Zy9NSU1FU25pZmZpbmcucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZm
aW5nL01JTUVTbmlmZmluZy5wcm8KQEAgLTEwLDYgKzEwLDcgQEAgSEVBREVSUyArPSBcCiBJTkNM
VURFUEFUSCArPSBcCiAgICAgLi4vLi4vLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrIFwK
ICAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZSBcCi0gICAgLi4vLi4vLi4vLi4vSmF2YVNj
cmlwdENvcmUvcnVudGltZQorICAgIC4uLy4uLy4uLy4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUg
XAorICAgIC4uLy4uLy4uLy4uL1dURgogCiBSRVNPVVJDRVMgKz0gcmVzb3VyY2VzLnFyYwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCmluZGV4IGQxNTY1
YmVjMjBkZGVhYTAzNGIzODM4MjE5MWJmOTEwYzE5ZDA2MDUuLjQ1N2Q3YmUyN2FmMDNmOGM0YTJk
ZjQzYWRhMjc5NTUzNjkwZmE2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9x
dC9RdE5ldHdvcmtSZXBseURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXRO
ZXR3b3JrUmVwbHlEYXRhLmgKQEAgLTI2LDEwICsyNiwxMCBAQAogI2lmbmRlZiBRdE5ldHdvcmtS
ZXBseURhdGFfaAogI2RlZmluZSBRdE5ldHdvcmtSZXBseURhdGFfaAogCi0jaW5jbHVkZSAiTm9u
Y29weWFibGUuaCIKLSNpbmNsdWRlICJSZWZDb3VudGVkLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVt
b3J5LmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5hZ2VyPgorI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCmluZGV4IGYyMTA2NjBm
ZDRlNTMzNjE1YzNhMmNmN2EwMDc3YTQ5MWU1NzdjNTIuLjhhODBmYjM2OTkxZmY1OGJkNjRmZjZl
ZTE4ZjU2OTlhZTJlM2U5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9R
dE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0
TmV0d29ya1JlcXVlc3REYXRhLmNwcApAQCAtMjcsMTEgKzI3LDExIEBACiAjaW5jbHVkZSAiUXRO
ZXR3b3JrUmVxdWVzdERhdGEuaCIKIAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzUXQuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
I2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CiAjaW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2lu
Y2x1ZGUgPFFVdWlkPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmgKaW5kZXggMDgyZDQ5OWNjMjY5Y2Ex
OWJkM2EyZDZjYjdhZjVkZWZmMGIyNDc0ZS4uOTQwYmY4MTVmNjI1MzFmYjMxMjQ1Y2M5MzczNWVj
OWNkNjZlMjBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29y
a1JlcXVlc3REYXRhLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1Jl
cXVlc3REYXRhLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUXROZXR3b3JrUmVxdWVzdERh
dGFfaAogI2RlZmluZSBRdE5ldHdvcmtSZXF1ZXN0RGF0YV9oCiAKLSNpbmNsdWRlICJSZWZDb3Vu
dGVkLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0NNYWtlTGlzdHMudHh0CmluZGV4IDNjMWZlYWJiZDkwZTE0MGIyN2VkYWY0ZGUxOGQxMWE1NGI2
MDRmOWQuLmNhYmU0Y2YxZWM5OTQyNDI5NjRlOTU2Mjk5ZTk4YjBiOWUwNGYyNjYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTQxLDYgKzQxLDcgQEAgU0VUKER1
bXBSZW5kZXJUcmVlX0xJQlJBUklFUwogKQogCiBTRVQoRHVtcFJlbmRlclRyZWVfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICR7V1RGX0RJUn0KICAgICAiJHtXRUJLSVRfRElSfS9lZmwvZXdrIgog
ICAgICR7V0VCS0lUX0RJUn0vZWZsCiAgICAgJHtXRUJDT1JFX0RJUn0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwppbmRleCA1NjYwNGQ1MTg1NmMzZGI5ZGIwMDUy
YWRhOWYyYjY4NWI1ZGRhMDYwLi41NGJjZGJmZTBhZTk5NGE4OGQ0ZTVlYjVhOWE5YjU0ZDcxNzQ5
YzNlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5w
cm8KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCkBAIC0x
NSw3ICsxNSw4IEBAIFdFQktJVCArPSB3dGYgd2ViY29yZQogCiBJTkNMVURFUEFUSCArPSBcCiAg
ICAgJCRQV0QvLi4gXAotICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydAorICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydCBcCisgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Tb3VyY2UvV1RGCiAKIFFU
ID0gY29yZSBndWkgbmV0d29yayB0ZXN0bGliIHdlYmtpdAogbWFjeDogUVQgKz0geG1sCmRpZmYg
LS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvIGIvVG9vbHMvUXRU
ZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybwppbmRleCA2MjhkYzFmNDIyYjFmNDE0MTdkYzdi
MWQxZDg1MjMwZDk1M2IxOTdhLi42ZDhhNDFiNzIzY2E0OWUwYTY1ZGIwZGU3M2I4MzNiYjNlMThj
MDBmIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvCisr
KyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KQEAgLTksNiArOSw3IEBA
IFRFTVBMQVRFID0gYXBwCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCR7Uk9PVF9XRUJLSVRfRElS
fS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0IFwKICAgICAkJHtST09UX1dFQktJVF9E
SVJ9L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0LyBcCisgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9T
b3VyY2UvV1RGCiAKIGxvYWQoZmVhdHVyZXMpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
YnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggOGE3NDlhZDRi
YTc5ODQwOWVjY2Q2ZGI1YWU2OGU2ZmMxMTRiNzM3Mi4uZGQxNDVkMzhmODYxODY1OWNmZjVjNGIw
MGVjNGY4NzFhYzRmZDgyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQK
KysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdWIg
dW5saW5rWmVyb0ZpbGVzKCkKIG15IEBwcm9qZWN0cyA9ICgiU291cmNlL0phdmFTY3JpcHRDb3Jl
IiwgIlNvdXJjZS9XZWJDb3JlIiwgIlNvdXJjZS9XZWJLaXQiKTsKIAogIyBCdWlsZCBXVEYgYXMg
YSBzZXBhcmF0ZSBzdGF0aWMgbGlicmFyeSBvbiBwb3J0cyB3aGljaCBzdXBwb3J0IGl0Lgotc3Bs
aWNlIEBwcm9qZWN0cywgMCwgMCwgIlNvdXJjZS9XVEYiIGlmIGlzQXBwbGVNYWNXZWJLaXQoKTsK
K3NwbGljZSBAcHJvamVjdHMsIDAsIDAsICJTb3VyY2UvV1RGIiBpZiBpc0FwcGxlTWFjV2ViS2l0
KCkgb3IgaXNBcHBsZVdpbldlYktpdCgpOwogCiBmb3IgbXkgJGRpciAoQHByb2plY3RzKSB7CiAg
ICAgaWYgKCEgLWQgJGRpcikgewpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxp
c3RzLnR4dAppbmRleCA0ZjgxYTQ1NDIwNzRjMDliMDZmMDlkZjBmNzI5Nzk2ODU0YzhkNDZjLi5h
OWMxYmE5YTQ0Y2Q1NGQzNzZiNGY2NGRlNmQ0ZjE1MTc3NzBiM2UxIDEwMDY0NAotLS0gYS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjcsNiArMjcsNyBAQCBJRiAoT05M
WV9CVUlMRF9KQVZBU0NSSVBUQ09SRSkKICAgICBTRVQoRU5BQkxFX1RPT0xTIE9GRikKIEVORElG
ICgpCiAKK1NFVChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogU0VU
KEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUiKQogU0VUKFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJD
b3JlIikKIFNFVChXRUJLSVRfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQi
KQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFiZWU1MGQyZjRmMDRh
YjU1YjhkNDRiN2NmNGM0MzkwYWZmMzhiZDAuLjljZWEyOTNmNjFiOTUxYzRjYzgzOWM4YjRkZjlm
MzNlMTkxMTA3ZTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBXVEZfRElSLgorCiAyMDEyLTAzLTIwICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBoYXNT
cGVsbGluZ01hcmtlciB0byB1c2UgSW50ZXJuYWxzIGludGVyZmFjZS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132922</attachid>
            <date>2012-03-20 16:18:22 -0700</date>
            <delta_ts>2012-03-20 17:07:31 -0700</delta_ts>
            <desc>another attempt to fix win-ews</desc>
            <filename>bug-80911-20120320161820.patch</filename>
            <type>text/plain</type>
            <size>93802</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Y2E2NzZhZDAyOThjOTQ2YjI5ZDhhZTcyMmIyNGNlNWFmNGQwMmUxLi45ZTQ0ZDdjZGM1YjNkNDk3
YjBlZDhjYjEwNTI0NDA1YmQxYTRlY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0wMy0y
MCAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUg
V1RGLXJlbGF0ZWQgV2luZG93cyBwcm9qZWN0IGZpbGVzIG91dCBvZiBKYXZhU2NyaXB0Q29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCBmYWVmODAxNTAzYzdhNWUyYWZhODE0ZjJlZWVjMjlhZGI0ZWZlZTZmLi4yMzUwM2RjYzY5
Mjc0MmMxYzllNWVmY2I2ODNlMTRmZjk2ZDNkMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0
Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0
byB0ZXN0IHdoYXQgYnVpbGRzIGJyZWFrIGFuZCBob3cuCisgICAgICAgIE1hYzogc2hvdWxkIGJ1
aWxkCisgICAgICAgIFdpbjogY2FuJ3QgYmUgZml4ZWQgdW50aWwgYnVnIDgwNjgwIGxhbmRzLgor
ICAgICAgICBHdGs6IG1pZ2h0IGJ1aWxkCisgICAgICAgIFF0OiBtaWdodCBidWlsZCwgbGlrZWx5
IG5lZWRzIGhlbHAgZnJvbSBRdCBmb2xrcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmguCisKIDIwMTItMDMtMjAgIFN0ZXZlIEZhbGtl
bmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdURi1yZWxhdGVkIFdp
bmRvd3MgcHJvamVjdCBmaWxlcyBvdXQgb2YgSmF2YVNjcmlwdENvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMjA4Njg4ZWFjOWZiM2M4M2NhYmM4ZmI5NjY2OTNiYWFm
N2RmNjdmLi5kYmU0MmM4ZWVjYWU3YmI4NWVlMGZiN2RmMWQ1ZTFiYzBjNDc2NDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAogU0VUKEphdmFTY3Jp
cHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAg
ICAiJHtXVEZfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9IgogICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vQVBJIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vRm9yd2FyZGlu
Z0hlYWRlcnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBl
ZWFjZTE3NjQ5ODlkYjE0OTAyNWY5M2Q5ZDg1OTk2ZDY4ZWQ2YWM5Li40YThlY2Q0MmZlYjQ3YjU4
YmMwZjU5ODYxMmZlMjkyNmE2OTYxYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcmkKQEAgLTEyLDYgKzEyLDcgQEAgSkFWQVNDUklQVENPUkVfR0VORVJBVEVEX1NP
VVJDRVNfRElSID0gJCR7Uk9PVF9CVUlMRF9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS8KIElO
Q0xVREVQQVRIICs9IFwKICAgICAkJFNPVVJDRV9ESVIgXAogICAgICQkU09VUkNFX0RJUi8uLiBc
CisgICAgJCRTT1VSQ0VfRElSLy4uL1dURiBcCiAgICAgJCRTT1VSQ0VfRElSL2Fzc2VtYmxlciBc
CiAgICAgJCRTT1VSQ0VfRElSL2J5dGVjb2RlIFwKICAgICAkJFNPVVJDRV9ESVIvYnl0ZWNvbXBp
bGVyIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVDb21tb24udnNwcm9wcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmVDb21tb24udnNwcm9wcwppbmRleCBiMGI0NWQzOGQ0NDM5ODRkZTFiMWEwZTRk
MzYxMWRkNDZkM2MwMDAxLi5lZDEwZDI1NDc1NjEyMzMxMzU0NGQ5ZTAyYzc3ZTA3M2M0MmE0Zjhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlQ29tbW9uLnZzcHJvcHMKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZUNvbW1vbi52c3Byb3BzCkBAIC02LDcgKzYsNyBAQAogCT4KIAk8VG9vbAogCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXEphdmFTY3JpcHRDb3JlXERlcml2ZWRT
b3VyY2VzXCZxdW90OzsuLi8uLi87Li4vLi4vQVBJLzsuLi8uLi9wYXJzZXIvOy4uLy4uL2J5dGVj
b21waWxlci87Li4vLi4vZGZnLzsuLi8uLi9qaXQvOy4uLy4uL2xsaW50LzsuLi8uLi9ydW50aW1l
LzsuLi8uLi90b29scy87Li4vLi4vYnl0ZWNvZGUvOy4uLy4uL2ludGVycHJldGVyLzsuLi8uLi93
dGYvOy4uLy4uL3Byb2ZpbGVyOy4uLy4uL2Fzc2VtYmxlci87Li4vLi4vZGVidWdnZXIvOy4uLy4u
L2hlYXAvOyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1
cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
aW5jbHVkZVxwdGhyZWFkcyZxdW90OyIKKwkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0i
JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxKYXZhU2NyaXB0Q29yZVxEZXJpdmVk
U291cmNlc1wmcXVvdDs7Li4vLi4vOy4uLy4uL0FQSS87Li4vLi4vcGFyc2VyLzsuLi8uLi9ieXRl
Y29tcGlsZXIvOy4uLy4uL2RmZy87Li4vLi4vaml0LzsuLi8uLi9sbGludC87Li4vLi4vcnVudGlt
ZS87Li4vLi4vdG9vbHMvOy4uLy4uL2J5dGVjb2RlLzsuLi8uLi9pbnRlcnByZXRlci87Li4vLi4v
d3RmLzsuLi8uLi9wcm9maWxlcjsuLi8uLi9hc3NlbWJsZXIvOy4uLy4uL2RlYnVnZ2VyLzsuLi8u
Li9oZWFwLzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OyIKIAkJUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM9Il9fU1REX0MiCiAJCUZvcmNlZEluY2x1ZGVGaWxlcz0iSUNVVmVyc2lvbi5oIgogCS8+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiZjY1ZmZiZWIyZjQzOWIwZDA1OThm
ZjVlZGY4YzFjZDNiNWE4YTcuLjM0OGQ2Y2Q3ZjIxNzEyZjI4NDcwODRmZDljMzUxYmMxMmUxODA4
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkzLDcgKzEwOTMsNiBAQAog
CQk2NUM2NDdCMzA5M0VGOEQ2MDAyMkMzODAgLyogUmVmUHRyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZlB0ci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1QzdBMTcxMEE4RUFBQ0IwMEZBMzdFQSAv
KiBKU1dyYXBwZXJPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTV3JhcHBlck9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1
QzdBMTcyMEE4RUFBQ0IwMEZBMzdFQSAvKiBKU1dyYXBwZXJPYmplY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk2NUQ2RDg3RTA5QjVBMzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTY1REZDOTJBMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoRnVuY3Rpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhh
c2hGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owog
CQk2NURGQzkyQjA4RUExNzNBMDBGNzMwMEIgLyogSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoTWFwLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkMwOEVBMTczQTAwRjczMDBC
IC8qIEhhc2hTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSGFzaFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IH07CkBAIC0yMTQxLDcgKzIxNDAsNiBAQAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAv
KiBQYXNzT3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NS
ZWZQdHIuaCAqLywKIAkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5o
ICovLAotCQkJCTY1RDZEODdFMDlCNUEzMkUwMDAyRTRENyAvKiBQbGF0Zm9ybS5oICovLAogCQkJ
CUE3RDY0OUE5MTAxNTIyNEUwMDlCMkUxQiAvKiBQb3NzaWJseU51bGwuaCAqLywKIAkJCQkwODhG
QTVCOTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQkwODhGQTVC
QTBFRjc2RDQzMDA1NzhFNkYgLyogUmFuZG9tTnVtYmVyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjQyMDEyOGE3YWY1OTE2ODhhZDQ0ZmU1MWIw
ZjU4NWVhNjcyYjZhLi5hZGFiNzI4NmE3MDkzOWNlMjk3YjA1OTMyYjVkMThhODQ0YzZjY2UzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTY5LDcgKzY5LDcg
QEAgU0VUKFdURl9IRUFERVJTCiAgICAgUGFyYWxsZWxKb2JzR2VuZXJpYy5oCiAgICAgUGFyYWxs
ZWxKb2JzTGliZGlzcGF0Y2guaAogICAgIFBhcmFsbGVsSm9ic09wZW5NUC5oCi0gICAgUGxhdGZv
cm0uaAorICAgICR7V1RGX0RJUn0vd3RmL1BsYXRmb3JtLmgKICAgICBQb3NzaWJseU51bGwuaAog
ICAgIFJhbmRvbU51bWJlci5oCiAgICAgUmFuZG9tTnVtYmVyU2VlZC5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MzRiNTM5
ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIxMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV1RGX1BsYXRmb3JtX2gKLSNkZWZpbmUgV1RGX1Bs
YXRmb3JtX2gKLQotLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNs
dWRlIDx3dGYvQ29tcGlsZXIuaD4KLQotLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVy
YXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8g
d2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1h
Y3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRp
b25zLiA9PT09ICovCi0jZGVmaW5lIFBMQVRGT1JNKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZf
UExBVEZPUk1fIyNXVEZfRkVBVFVSRSAgJiYgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUpCi0K
LQotLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJv
cGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCi0KLS8qIENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIENQVShXVEZfRkVBVFVSRSkg
KGRlZmluZWQgV1RGX0NQVV8jI1dURl9GRUFUVVJFICAmJiBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUp
Ci0vKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9u
cyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwotI2RlZmluZSBIQVZFKFdU
Rl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVB
VFVSRSkKLS8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUg
dXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UgCi0gICB2aXJ0dWFsIG1l
bW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29sa2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVBVFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRV
UkUpCi0KLQotLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9s
aWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCi0KLS8qIFVTRSgpIC0g
dXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZp
Y2UgKi8KLSNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfVVNFXyMjV1RGX0ZF
QVRVUkUgICYmIFdURl9VU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBh
IHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVS
RSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJF
KQotCi0KLS8qID09PT0gQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgPT09PSAq
LwotCi0vKiBUaGlzIGFsc28gZGVmaW5lcyBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9F
TkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwotCi0vKiBDUFUoQUxQSEEpIC0g
REVDIEFscGhhICovCi0jaWYgZGVmaW5lZChfX2FscGhhX18pCi0jZGVmaW5lIFdURl9DUFVfQUxQ
SEEgMQotI2VuZGlmCi0KLS8qIENQVShJQTY0KSAtIEl0YW5pdW0gLyBJQS02NCAqLwotI2lmIGRl
ZmluZWQoX19pYTY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2NCAxCi0vKiAzMi1iaXQgbW9kZSBv
biBJdGFuaXVtICovCi0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFdURl9DUFVfSUE2
NF8zMiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCAqLwot
LyogTm90ZTogT25seSBPMzIgQUJJIGlzIHRlc3RlZCwgc28gd2UgZW5hYmxlIGl0IGZvciBPMzIg
QUJJIGZvciBub3cuICAqLwotI2lmIChkZWZpbmVkKG1pcHMpIHx8IGRlZmluZWQoX19taXBzX18p
IHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfTUlQU18pKSBcCi0gICAgJiYgZGVmaW5lZChf
QUJJTzMyKQotI2RlZmluZSBXVEZfQ1BVX01JUFMgMQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykK
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotI2RlZmluZSBXVEZfTUlQU19Q
SUMgKGRlZmluZWQgX19QSUNfXykKLSNkZWZpbmUgV1RGX01JUFNfQVJDSCBfX21pcHMKLSNkZWZp
bmUgV1RGX01JUFNfSVNBKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJD
SCA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19JU0FfQVRfTEVBU1QodikgKGRlZmluZWQgV1RGX01J
UFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID49IHYpCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0hfUkVW
IF9fbWlwc19pc2FfcmV2Ci0jZGVmaW5lIFdURl9NSVBTX0lTQV9SRVYodikgKGRlZmluZWQgV1RG
X01JUFNfQVJDSF9SRVYgJiYgV1RGX01JUFNfQVJDSF9SRVYgPT0gdikKLSNkZWZpbmUgV1RGX01J
UFNfRE9VQkxFX0ZMT0FUIChkZWZpbmVkIF9fbWlwc19oYXJkX2Zsb2F0ICYmICFkZWZpbmVkIF9f
bWlwc19zaW5nbGVfZmxvYXQpCi0jZGVmaW5lIFdURl9NSVBTX0ZQNjQgKGRlZmluZWQgX19taXBz
X2ZwciAmJiBfX21pcHNfZnByID09IDY0KQotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSAqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdO
TUVOVF9JTlRFR0VSIDEKLSNlbmRpZiAvKiBNSVBTICovCi0KLS8qIENQVShQUEMpIC0gUG93ZXJQ
QyAzMi1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGNfXykgICAgIFwKLSAgICB8fCBkZWZpbmVk
KF9fUFBDX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgXAotICAgIHx8IGRl
ZmluZWQoX19wb3dlcnBjKSAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9QUEMpICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpCi0jZGVmaW5l
IFdURl9DUFVfUFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0v
KiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQoX19wcGM2NF9f
KSBcCi0gICAgfHwgZGVmaW5lZChfX1BQQzY0X18pCi0jZGVmaW5lIFdURl9DUFVfUFBDNjQgMQot
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTSDQpIC0gU3Vw
ZXJIIFNILTQgKi8KLSNpZiBkZWZpbmVkKF9fU0g0X18pCi0jZGVmaW5lIFdURl9DUFVfU0g0IDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMzMikgLSBTUEFSQyAzMi1iaXQgKi8KLSNpZiBkZWZpbmVk
KF9fc3BhcmMpICYmICFkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQoX19zcGFyY3Y4KQot
I2RlZmluZSBXVEZfQ1BVX1NQQVJDMzIgMQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQot
I2VuZGlmCi0KLS8qIENQVShTUEFSQzY0KSAtIFNQQVJDIDY0LWJpdCAqLwotI2lmIGRlZmluZWQo
X19zcGFyY19fKSAmJiBkZWZpbmVkKF9fYXJjaDY0X18pIHx8IGRlZmluZWQgKF9fc3BhcmN2OSkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
LSNlbmRpZgotCi0vKiBDUFUoU1BBUkMpIC0gYW55IFNQQVJDLCB0cnVlIGZvciBDUFUoU1BBUkMz
MikgYW5kIENQVShTUEFSQzY0KSAqLwotI2lmIENQVShTUEFSQzMyKSB8fCBDUFUoU1BBUkM2NCkK
LSNkZWZpbmUgV1RGX0NQVV9TUEFSQyAxCi0jZW5kaWYKLQotLyogQ1BVKFMzOTBYKSAtIFMzOTAg
NjQtYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTB4X18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MFgg
MQotI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotI2VuZGlmCi0KLS8qIENQVShTMzkwKSAt
IFMzOTAgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3MzOTBfXykKLSNkZWZpbmUgV1RGX0NQVV9T
MzkwIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoWDg2
KSAtIGkzODYgLyB4ODYgMzItYml0ICovCi0jaWYgICBkZWZpbmVkKF9faTM4Nl9fKSBcCi0gICAg
fHwgZGVmaW5lZChpMzg2KSAgICAgXAotICAgIHx8IGRlZmluZWQoX01fSVg4NikgIFwKLSAgICB8
fCBkZWZpbmVkKF9YODZfKSAgICBcCi0gICAgfHwgZGVmaW5lZChfX1RIV19JTlRFTCkKLSNkZWZp
bmUgV1RGX0NQVV9YODYgMQotI2VuZGlmCi0KLS8qIENQVShYODZfNjQpIC0gQU1ENjQgLyBJbnRl
bDY0IC8geDg2XzY0IDY0LWJpdCAqLwotI2lmICAgZGVmaW5lZChfX3g4Nl82NF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfTV9YNjQpCi0jZGVmaW5lIFdURl9DUFVfWDg2XzY0IDEKLSNlbmRpZgotCi0v
KiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2lmICAgZGVmaW5lZChhcm0pIFwKLSAg
ICB8fCBkZWZpbmVkKF9fYXJtX18pIFwKLSAgICB8fCBkZWZpbmVkKEFSTSkgXAotICAgIHx8IGRl
ZmluZWQoX0FSTV8pCi0jZGVmaW5lIFdURl9DUFVfQVJNIDEKLQotI2lmIGRlZmluZWQoX19BUk1F
Ql9fKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0JJR19FTkRJQU4pKQotI2RlZmlu
ZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQotCi0jZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pIFwK
LSAgICAmJiAhZGVmaW5lZChfX0VBQklfXykgXAotICAgICYmICFkZWZpbmVkKF9fVkZQX0ZQX18p
IFwKLSAgICAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKSBcCi0gICAgJiYgIWRlZmluZWQoQU5EUk9J
RCkKLSNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLQotI2VuZGlmCi0KLSNkZWZpbmUg
V1RGX0FSTV9BUkNIX0FUX0xFQVNUKE4pIChDUFUoQVJNKSAmJiBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiA+PSBOKQotCi0vKiBTZXQgV1RGX0FSTV9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQo
X19BUk1fQVJDSF80X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykgXAotICAg
IHx8IGRlZmluZWQoX19NQVJNX0FSTVY0X18pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1WNElfKQot
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA0Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJD
SF81X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19NQVJNX0FSTVY1X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiA1Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82Sl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82WktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82VDJfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1WNl9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA2Ci0KLSNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzdSX18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcKLQotLyogUlZDVCBzZXRzIF9U
QVJHRVRfQVJDSF9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVm
aW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfNUUpIFwKLSAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBc
Ci0gICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0vKkFSTXY1VEUgcmVxdWlyZXMg
YWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2RlZmluZSBXVEZfVVNFX0FSRU5B
X0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0jZWxzZQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiAwCi0KLSNlbmRpZgotCi0vKiBTZXQgV1RGX1RIVU1CX0FSQ0hfVkVS
U0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCi0jZGVmaW5lIFdURl9USFVN
Ql9BUkNIX1ZFUlNJT04gMQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJD
SF81VEVKX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMgotCi0jZWxpZiBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNlpLX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNk1fXykKLSNkZWZpbmUg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAzCi0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82VDJf
XykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83X18pIFwKLSAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzdNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJ
T04gNAotCi0vKiBSVkNUIHNldHMgX19UQVJHRVRfQVJDSF9USFVNQiAqLwotI2VsaWYgZGVmaW5l
ZChfX1RBUkdFVF9BUkNIX1RIVU1CKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIF9f
VEFSR0VUX0FSQ0hfVEhVTUIKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiAwCi0jZW5kaWYKLQotCi0vKiBDUFUoQVJNVjVfT1JfTE9XRVIpIC0gQVJNIGluc3RydWN0aW9u
IHNldCB2NSBvciBlYXJsaWVyICovCi0vKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwg
YWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKLSAgIEFuZCB0aGVyZSBhcmUgc29tZSBvdGhlciBkaWZm
ZXJlbmNlcyBmb3IgdjUgb3IgZWFybGllci4gKi8KLSNpZiAhZGVmaW5lZChBUk1WNV9PUl9MT1dF
UikgJiYgIVdURl9BUk1fQVJDSF9BVF9MRUFTVCg2KQotI2RlZmluZSBXVEZfQ1BVX0FSTVY1X09S
X0xPV0VSIDEKLSNlbmRpZgotCi0KLS8qIENQVShBUk1fVFJBRElUSU9OQUwpIC0gVGh1bWIyIGlz
IG5vdCBhdmFpbGFibGUsIG9ubHkgdHJhZGl0aW9uYWwgQVJNICh2NCBvciBncmVhdGVyKSAqLwot
LyogQ1BVKEFSTV9USFVNQjIpIC0gVGh1bWIyIGluc3RydWN0aW9uIHNldCBpcyBhdmFpbGFibGUg
Ki8KLS8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KLSNpZiAhZGVmaW5l
ZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIy
KQotIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAotICAgIHx8
ICgoZGVmaW5lZChfX3RodW1iKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9B
UkNIX1ZFUlNJT04gPT0gNCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAK
LSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAxCi0jICBlbGlmIFdURl9BUk1fQVJDSF9B
VF9MRUFTVCg0KQotIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMQotIyAgICBk
ZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDAKLSMgIGVsc2UKLSMgICAgZXJyb3IgIk5vdCBzdXBw
b3J0ZWQgQVJNIGFyY2hpdGVjdHVyZSIKLSMgIGVuZGlmCi0jZWxpZiBDUFUoQVJNX1RSQURJVElP
TkFMKSAmJiBDUFUoQVJNX1RIVU1CMikgLyogU2FuaXR5IENoZWNrICovCi0jICBlcnJvciAiQ2Fu
bm90IHVzZSBib3RoIG9mIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfQ1BVX0FSTV9U
SFVNQjIgcGxhdGZvcm1zIgotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9DUFVfQVJNX1RSQURJVElP
TkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIpICovCi0KLSNpZiBkZWZpbmVkKF9f
QVJNX05FT05fXykgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fTkVPTikKLSNkZWZpbmUgV1RGX0NQ
VV9BUk1fTkVPTiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIEFSTSAqLwotCi0jaWYgQ1BVKEFSTSkg
fHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpIHx8IENQVShTUEFSQykKLSNkZWZpbmUgV1RGX0NQVV9O
RUVEU19BTElHTkVEX0FDQ0VTUyAxCi0jZW5kaWYKLQotLyogPT09PSBPUygpIC0gdW5kZXJseWlu
ZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZl
bCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkg
dG9vbGtpdCA9PT09ICovCi0KLS8qIE9TKEFORFJPSUQpIC0gQW5kcm9pZCAqLwotI2lmZGVmIEFO
RFJPSUQKLSNkZWZpbmUgV1RGX09TX0FORFJPSUQgMQotI2VuZGlmCi0KLS8qIE9TKEFJWCkgLSBB
SVggKi8KLSNpZmRlZiBfQUlYCi0jZGVmaW5lIFdURl9PU19BSVggMQotI2VuZGlmCi0KLS8qIE9T
KERBUldJTikgLSBBbnkgRGFyd2luLWJhc2VkIE9TLCBpbmNsdWRpbmcgTWFjIE9TIFggYW5kIGlQ
aG9uZSBPUyAqLwotI2lmZGVmIF9fQVBQTEVfXwotI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKLQot
I2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgotI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5o
PgotI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotI2VuZGlmCi0KLS8qIE9TKElPUykg
LSBpT1MgKi8KLS8qIE9TKE1BQ19PU19YKSAtIE1hYyBPUyBYIChub3QgaW5jbHVkaW5nIGlPUykg
Ki8KLSNpZiBPUyhEQVJXSU4pICYmICgoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURERUQpICYmIFRB
UkdFVF9PU19FTUJFRERFRCkgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYm
IFRBUkdFVF9PU19JUEhPTkUpICAgICAgICAgICAgICAgICBcCi0gICAgfHwgKGRlZmluZWQoVEFS
R0VUX0lQSE9ORV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSkKLSNkZWZp
bmUgV1RGX09TX0lPUyAxCi0jZWxpZiBPUyhEQVJXSU4pICYmIGRlZmluZWQoVEFSR0VUX09TX01B
QykgJiYgVEFSR0VUX09TX01BQwotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotLyogRklYTUU6
IEJVSUxESU5HX09OXy4uLCBhbmQgVEFSR0VUSU5HLi4uIG1hY3JvcyBzaG91bGQgYmUgZm9sZGVk
IGludG8gdGhlIE9TKCkgc3lzdGVtICovCi0jaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8x
MF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8x
MF82Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF83KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09T
X1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCAxCi0jZWxp
ZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzgKLSNkZWZpbmUgQlVJTERJTkdfT05fTElP
TiAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzYpIHx8IE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF82Ci0jZGVmaW5l
IFRBUkdFVElOR19MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBf
NykgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEw
XzcKLSNkZWZpbmUgVEFSR0VUSU5HX1NOT1dfTEVPUEFSRCAxCi0jZWxpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzgpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgTUFD
X09TX1hfVkVSU0lPTl8xMF84Ci0jZGVmaW5lIFRBUkdFVElOR19MSU9OIDEKLSNlbmRpZgotI2Vu
ZGlmCi0KLS8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNE
X18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVs
X18pCi0jZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhIVVJEKSAtIEdO
VS9IdXJkICovCi0jaWZkZWYgX19HTlVfXwotI2RlZmluZSBXVEZfT1NfSFVSRCAxCi0jZW5kaWYK
LQotLyogT1MoTElOVVgpIC0gTGludXggKi8KLSNpZmRlZiBfX2xpbnV4X18KLSNkZWZpbmUgV1RG
X09TX0xJTlVYIDEKLSNlbmRpZgotCi0vKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCi0jaWYgZGVm
aW5lZChfX05ldEJTRF9fKQotI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKLSNlbmRpZgotCi0vKiBP
UyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KLSNpZmRlZiBfX09wZW5CU0RfXwotI2RlZmluZSBXVEZf
T1NfT1BFTkJTRCAxCi0jZW5kaWYKLQotLyogT1MoUU5YKSAtIFFOWCAqLwotI2lmIGRlZmluZWQo
X19RTlhOVE9fXykKLSNkZWZpbmUgV1RGX09TX1FOWCAxCi0jZW5kaWYKLQotLyogT1MoU09MQVJJ
UykgLSBTb2xhcmlzICovCi0jaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pCi0jZGVm
aW5lIFdURl9PU19TT0xBUklTIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5DRSkgLSBXaW5kb3dzIENF
OyBub3RlIHRoYXQgZm9yIHRoaXMgcGxhdGZvcm0gT1MoV0lORE9XUykgaXMgYWxzbyBkZWZpbmVk
ICovCi0jaWYgZGVmaW5lZChfV0lOMzJfV0NFKQotI2RlZmluZSBXVEZfT1NfV0lOQ0UgMQotI2Vu
ZGlmCi0KLS8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAqLwotI2lmIGRl
ZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1NfV0lORE9XUyAx
Ci0jZW5kaWYKLQotI2RlZmluZSBXVEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9T
IE5PVCBXSU4iCi0jZGVmaW5lIFdURl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9T
IE5PVCBNQUMiCi0KLS8qIE9TKFVOSVgpIC0gQW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KLSNpZiAg
IE9TKEFJWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhBTkRST0lEKSAgICAgICAgICBcCi0g
ICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAotICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAg
IFwKLSAgICB8fCBPUyhIVVJEKSAgICAgICAgICAgICBcCi0gICAgfHwgT1MoTElOVVgpICAgICAg
ICAgICAgXAotICAgIHx8IE9TKE5FVEJTRCkgICAgICAgICAgIFwKLSAgICB8fCBPUyhPUEVOQlNE
KSAgICAgICAgICBcCi0gICAgfHwgT1MoUU5YKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKFNP
TEFSSVMpICAgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0gICAgfHwg
ZGVmaW5lZChfX3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0jZGVmaW5l
IFdURl9PU19VTklYIDEKLSNlbmRpZgotCi0vKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0K
LS8qIEZJWE1FOiB0aGVzZSBhcmUgYWxsIG1peGVzIG9mIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1l
bnQgYW5kIHBvbGljeSBjaG9pY2VzLiAqLwotLyogUExBVEZPUk0oQ0hST01JVU0pICovCi0vKiBQ
TEFURk9STShRVCkgKi8KLS8qIFBMQVRGT1JNKFdYKSAqLwotLyogUExBVEZPUk0oR1RLKSAqLwot
LyogUExBVEZPUk0oQkxBQ0tCRVJSWSkgKi8KLS8qIFBMQVRGT1JNKE1BQykgKi8KLS8qIFBMQVRG
T1JNKFdJTikgKi8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0NIUk9NSVVNX18pCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9DSFJPTUlVTSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1FUX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9RVCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX1dYX18pCi0jZGVm
aW5lIFdURl9QTEFURk9STV9XWCAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fR1RLIDEKLSNlbGlmIGRlZmluZWQoQlVJTERJTkdfQkxBQ0tCRVJS
WV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQkxBQ0tCRVJSWSAxCi0jZWxpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9NQUMgMQotI2VsaWYgT1MoV0lORE9XUykKLSNkZWZpbmUg
V1RGX1BMQVRGT1JNX1dJTiAxCi0jZW5kaWYKLQotLyogUExBVEZPUk0oSU9TKSAqLwotLyogRklY
TUU6IHRoaXMgaXMgc29tZXRpbWVzIHVzZWQgYXMgYW4gT1Mgc3dpdGNoIGFuZCBzb21ldGltZXMg
Zm9yIGhpZ2hlci1sZXZlbCB0aGluZ3MgKi8KLSNpZiAoZGVmaW5lZChUQVJHRVRfT1NfRU1CRURE
RUQpICYmIFRBUkdFVF9PU19FTUJFRERFRCkgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkg
JiYgVEFSR0VUX09TX0lQSE9ORSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZW5kaWYK
LQotLyogUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgKi8KLSNpZiBkZWZpbmVkKFRBUkdFVF9JUEhP
TkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUgotI2RlZmluZSBXVEZfUExB
VEZPUk1fSU9TIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMQotI2Vsc2UK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPU19TSU1VTEFUT1IgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfUExBVEZPUk1fSU9TKQotI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDAKLSNlbmRp
ZgotCi0vKiBHcmFwaGljcyBlbmdpbmVzICovCi0KLS8qIFVTRShDRykgYW5kIFBMQVRGT1JNKENJ
KSAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNF
X0NHIDEKLSNlbmRpZgotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQotI2RlZmluZSBXVEZfVVNFX0NBIDEKLSNlbmRpZgotCi0v
KiBVU0UoU0tJQSkgZm9yIFdpbi9MaW51eC9NYWMvQW5kcm9pZCAqLwotI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQotI2lmIE9TKERBUldJTikKLSNpZiBVU0UoU0tJQV9PTl9NQUNfQ0hST01JVU0pCi0j
ZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0NHIDEKLSNlbmRp
ZgotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQot
I2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQotI2VsaWYgT1MoQU5EUk9JRCkKLSNkZWZpbmUgV1RG
X1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9HTEVTMl9SRU5ERVJJTkcgMAotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9TS0lBIDEKLSNkZWZpbmUgV1RGX1VTRV9DSFJPTUlVTV9ORVQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIEVOQUJMRV9E
UkFHX1NVUFBPUlQgMAotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZGVmaW5lIFdURl9V
U0VfTUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgV1RGX1VTRV9DQUlSTyAxCi0jZW5kaWYK
LQotCi0jaWYgT1MoV0lOQ0UpCi0jaW5jbHVkZSA8Y2VfdGltZS5oPgotI2RlZmluZSBXVEZfVVNF
X01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQotI2VuZGlmCi0KLS8qIE9uIFdpbmRvd3MsIHVzZSBR
dWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCi0jaWYgT1MoV0lORE9XUykKLSNk
ZWZpbmUgV1RGX1VTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQotI2lm
IE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIE5PTUlOTUFYICAgICAgIC8qIFdp
bmRvd3MgbWluIGFuZCBtYXggY29uZmxpY3Qgd2l0aCBzdGFuZGFyZCBtYWNyb3MgKi8KLSNkZWZp
bmUgTk9TSExXQVBJICAgICAgLyogc2hsd2FwaS5oIG5vdCBhdmFpbGFibGUgb24gV2luQ2UgKi8K
LQotLyogTVNETiBkb2N1bWVudGF0aW9uIHNheXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBwcm92aWRl
ZCB3aXRoIHVzcGNlLmxpYi4gIEJ1dCB3ZSBjYW5ub3QgZmluZCB0aGlzIGZpbGUuICovCi0jZGVm
aW5lIF9fdXNwMTBfXyAgICAgIC8qIGRpc2FibGUgInVzcDEwLmgiICovCi0KLSNkZWZpbmUgX0lO
Q19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCi0jZGVmaW5lIGFzc2VydCh4KQot
Ci0jZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCi0KLSNpZiBQTEFURk9S
TShRVCkKLSNpZm5kZWYgV1RGX1VTRV9JQ1VfVU5JQ09ERQotI2RlZmluZSBXVEZfVVNFX1FUNF9V
TklDT0RFIDEKLSNlbmRpZgotI2VsaWYgT1MoV0lOQ0UpCi0jZGVmaW5lIFdURl9VU0VfV0lOQ0Vf
VU5JQ09ERSAxCi0jZWxpZiBQTEFURk9STShHVEspCi0vKiBUaGUgR1RLKyBVbmljb2RlIGJhY2tl
bmQgaXMgY29uZmlndXJhYmxlICovCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0lDVV9VTklDT0RF
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIFdURl9V
U0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCi0jZW5kaWYKLSNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZGVmaW5l
IEVOQUJMRV9HRVNUVVJFX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAx
Ci0jZGVmaW5lIFdURl9VU0VfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0pBVkFfQlJJREdFKQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMQotI2Vu
ZGlmCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQotI2RlZmluZSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQgMQotI2VuZGlmCi0jZGVmaW5lIFdURl9VU0VfQ0YgMQotI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0j
ZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZGVmaW5lIEVOQUJMRV9XRUJf
QVVESU8gMQotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQotI2RlZmluZSBFTkFCTEVfVklERU9f
VFJBQ0sgMQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9M
SU9OKQotI2RlZmluZSBIQVZFX0xBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NFUlZFUiAxCi0jZW5k
aWYKLSNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCi0KLSNpZiBQ
TEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNk
ZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQot
Ci0jZGVmaW5lIFdURl9VU0VfV0tfU0NST0xMQkFSX1BBSU5URVIgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShJT1MpCi0jZGVmaW5lIERPTlRfRklOQUxJWkVfT05fTUFJTl9USFJFQUQgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShRVCkgJiYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NG
IDEKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAm
JiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9QVVJHRUFC
TEVfTUVNT1JZIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVf
Q09OVEVYVF9NRU5VUyAwCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2RlZmluZSBF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAwCi0jZGVmaW5lIEVOQUJMRV9GVFBESVIgMQotI2Rl
ZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMQotI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAK
LSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAxCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAw
Ci0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNkZWZpbmUgRU5BQkxFX09S
SUVOVEFUSU9OX0VWRU5UUyAxCi0jZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQot
I2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2RlZmluZSBIQVZFX05FVFdPUktfQ0ZEQVRB
X0FSUkFZX0NBTExCQUNLIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZGVmaW5l
IEhBVkVfUkVBRExJTkUgMQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMAotI2RlZmluZSBX
VEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQotI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKLQotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgI2RlZmluZSBF
TkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0gICAgI2RlZmluZSBFTkFCTEVfSklUIDAKLSAg
ICAjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAwCi0jZWxzZQotICAgICNkZWZpbmUgRU5BQkxFX0NM
QVNTSUNfSU5URVJQUkVURVIgMAotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCi0gICAgI2RlZmlu
ZSBFTkFCTEVfTExJTlQgMQotICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLSNlbmRpZgot
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZf
VVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAwCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9S
TShXSU5fQ0FJUk8pCi0jZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKLSNlbmRpZgotCi0jaWYg
VVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5l
IFdURl9VU0VfQ0ZVUkxDQUNIRSAxCi0jZGVmaW5lIFdURl9VU0VfQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElW
RSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oQ0hST01JVU0pICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYmICFQTEFURk9STShRVCkKLSNk
ZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV1gp
Ci0jaWYgIUNQVShQUEMpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2RlZmluZSBFTkFC
TEVfSklUIDEKLSNlbmRpZgotI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAK
LSNkZWZpbmUgRU5BQkxFX0xMSU5UIDAKLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9VU0Vf
Q0YgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJD
SElWRSAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKQotI2lmIEhBVkUoUFRI
UkVBRF9IKQotI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFE
X1JXTE9DSyAxCi0jZW5kaWYKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBPUyhVTklYKQotI2RlZmlu
ZSBXVEZfVVNFX1BUSFJFQURTIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShJT1Mp
IHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0j
ZW5kaWYgLyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwotCi0jaWYgT1MoVU5JWCkK
LSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfVkFT
UFJJTlRGKQotI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIUNPTVBJ
TEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgT1MoUU5YKSkKLSNkZWZpbmUgSEFWRV9W
QVNQUklOVEYgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfU1RSTlNUUikK
LSNpZiBPUyhEQVJXSU4pIHx8IChPUyhGUkVFQlNEKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQot
I2RlZmluZSBIQVZFX1NUUk5TVFIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dT
KSAmJiAhT1MoU09MQVJJUykgXAotICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJP
SUQpCi0jZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNk
ZWZpbmUgSEFWRV9USU1FR00gMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0KLSNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9N
TUFQIDEKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUg
V1RGX1VTRV9BQ0NFTEVSQVRFIDEKLQotI2lmbmRlZiBUQVJHRVRJTkdfTEVPUEFSRAotCi0jZGVm
aW5lIEhBVkVfRElTUEFUQ0hfSCAxCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9O
IDEKLQotI2lmICFQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEK
LSNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O
UCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVf
TUFEVl9GUkVFIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0K
LSNlbGlmIE9TKFdJTkRPV1MpCi0KLSNpZiBPUyhXSU5DRSkKLSNkZWZpbmUgSEFWRV9FUlJOT19I
IDAKLSNlbHNlCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQotI2RlZmluZSBIQVZFX0FMSUdO
RURfTUFMTE9DIDEKLSNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VOVCAxCi0jZW5kaWYKLSNk
ZWZpbmUgSEFWRV9WSVJUVUFMQUxMT0MgMQotCi0jZWxpZiBPUyhRTlgpCi0KLSNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVf
UkVVU0UgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0j
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQotCi0jZWxp
ZiBPUyhBTkRST0lEKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFO
R0lORk9fSCAwCi0jZGVmaW5lIEhBVkVfTk1BUCAxCi0jZGVmaW5lIEhBVkVfU0JSSyAxCi0jZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5l
IEhBVkVfU1lTX1RJTUVfSCAxCi0KLSNlbHNlCi0KLS8qIEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5
IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVyYXRlIHRoZWlyIG93biBjb25maWcuaD8g
Ki8KLQotI2RlZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQot
I2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19U
SU1FX0ggMQotCi0jZW5kaWYKLQotLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzICovCi0KLSNpZiBQ
TEFURk9STShRVCkKLS8qIFdlIG11c3Qgbm90IGN1c3RvbWl6ZSB0aGUgZ2xvYmFsIG9wZXJhdG9y
IG5ldyBhbmQgZGVsZXRlIGZvciB0aGUgUXQgcG9ydC4gKi8KLSNkZWZpbmUgRU5BQkxFX0dMT0JB
TF9GQVNUTUFMTE9DX05FVyAwCi0jaWYgIU9TKFVOSVgpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFM
TE9DIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBh
bGxvd3MgZm9yIHJ1bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKLSAgIG5ldyBpcyBtYXRjaGVkIGJ5
IGRlbGV0ZSwgZmFzdE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCi0jZGVmaW5lIEVO
QUJMRV9GQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OIDAKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0lDT05EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCi0jZGVmaW5lIEVOQUJM
RV9TUUxfREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikKLSNkZWZpbmUgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgMQotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVVMpCi0jZGVmaW5lIEVO
QUJMRV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKQotI2RlZmluZSBFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUiAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKLSNkZWZpbmUgRU5B
QkxFX0pBVkFfQlJJREdFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBF
X1BMVUdJTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkK
LSNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9QVVJHRUFCTEVfTUVNT1JZKQotI2RlZmluZSBFTkFCTEVf
UFVSR0VBQkxFX01FTU9SWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9VU0VfUExVR0lO
X0hPU1RfUFJPQ0VTUykKLSNkZWZpbmUgV1RGX1VTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUg
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9PUENPREVfU1RBVFMpCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU1RBVFMgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXKQotI2RlZmluZSBFTkFC
TEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDEKLSNlbmRpZgotCi0jZGVmaW5lIEVOQUJMRV9ERUJV
R19XSVRIX0JSRUFLUE9JTlQgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgMAot
I2RlZmluZSBFTkFCTEVfU0FNUExJTkdfRkxBR1MgMAotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
UkVHSU9OUyAwCi0jZGVmaW5lIEVOQUJMRV9PUENPREVfU0FNUExJTkcgMAotI2RlZmluZSBFTkFC
TEVfQ09ERUJMT0NLX1NBTVBMSU5HIDAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKSAm
JiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSNlcnJvciAiQ09ERUJMT0NLX1NBTVBMSU5HIHJl
cXVpcmVzIE9QQ09ERV9TQU1QTElORyIKLSNlbmRpZgotI2lmIEVOQUJMRShPUENPREVfU0FNUExJ
TkcpIHx8IEVOQUJMRShTQU1QTElOR19GTEFHUykgfHwgRU5BQkxFKFNBTVBMSU5HX1JFR0lPTlMp
Ci0jZGVmaW5lIEVOQUJMRV9TQU1QTElOR19USFJFQUQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9WSUVXUE9SVCkKLSNkZWZpbmUgRU5BQkxFX1ZJRVdQ
T1JUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpCi0jZGVm
aW5lIEVOQUJMRV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQot
I2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9URVhUX0NBUkVUKQotI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNk
ZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFdURl9V
U0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKLSNpZiAoQ1BV
KFg4Nl82NCkgJiYgKE9TKFVOSVgpIHx8IE9TKFdJTkRPV1MpKSkgXAotICAgIHx8IChDUFUoSUE2
NCkgJiYgIUNQVShJQTY0XzMyKSkgXAotICAgIHx8IENQVShBTFBIQSkgXAotICAgIHx8IENQVShT
UEFSQzY0KSBcCi0gICAgfHwgQ1BVKFMzOTBYKSBcCi0gICAgfHwgQ1BVKFBQQzY0KQotI2RlZmlu
ZSBXVEZfVVNFX0pTVkFMVUU2NCAxCi0jZWxzZQotI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82
NCAxCi0jZW5kaWYKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRl
ZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpICovCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVQ
QUlOVF9USFJPVFRMSU5HKQotI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDAKLSNl
bmRpZgotCi0vKiBEaXNhYmxlIHRoZSBKSVQgb24gdmVyc2lvbnMgb2YgR0NDIHByaW9yIHRvIDQu
MSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIENPTVBJTEVSKEdDQykgJiYgIUdDQ19W
RVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0K
LS8qIEpJVCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIFdpbmRvd3MgNjQtYml0ICovCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgJiYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82NCkKLSNkZWZpbmUg
RU5BQkxFX0pJVCAwCi0jZW5kaWYKLQotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQg
b24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShB
Uk0pIHx8IENQVShNSVBTKSkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxFUihHQ0Mp
IHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCi0gICAgJiYgIU9TKFdJTkNFKSBc
Ci0gICAgJiYgIU9TKFFOWCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQotLyogT24g
c29tZSBvZiB0aGUgcGxhdGZvcm1zIHdoZXJlIHdlIGhhdmUgYSBKSVQsIHdlIHdhbnQgdG8gYWxz
byBoYXZlIHRoZSAKLSAgIGxvdy1sZXZlbCBpbnRlcnByZXRlci4gKi8KLSNpZiAhZGVmaW5lZChF
TkFCTEVfTExJTlQpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pICYmICFQTEFURk9STShR
VCkpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVm
aW5lIEVOQUJMRV9MTElOVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklU
KSAmJiBFTkFCTEUoSklUKQotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0
LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBHTlUvTGludXguICovCi0jaWYgKENQVShYODYpIHx8
IENQVShYODZfNjQpKSAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCi0jZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTXY3LiAg
T25seSB0ZXN0ZWQgb24gaU9TLiAqLwotI2lmIENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJ
T1MpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIFByb2Zp
bGluZyBvZiB0eXBlcyBhbmQgdmFsdWVzIHVzZWQgYnkgSklUIGNvZGUuIERGR19KSVQgZGVwZW5k
cyBvbiBpdCwgYnV0IHlvdQotICAgY2FuIGVuYWJsZSBpdCBtYW51YWxseSB3aXRoIERGRyB0dXJu
ZWQgb2ZmIGlmIHlvdSB3YW50IHRvIHVzZSBpdCBhcyBhIHN0YW5kYWxvbmUKLSAgIHByb2ZpbGVy
LiBJbiB0aGF0IGNhc2UsIHlvdSBwcm9iYWJseSB3YW50IHRvIGFsc28gZW5hYmxlIFZFUkJPU0Vf
VkFMVUVfUFJPRklMRQotICAgYmVsb3cuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZBTFVFX1BS
T0ZJTEVSKSAmJiBFTkFCTEUoREZHX0pJVCkKLSNkZWZpbmUgRU5BQkxFX1ZBTFVFX1BST0ZJTEVS
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSkg
JiYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBFTkFCTEVfVkVSQk9TRV9WQUxVRV9Q
Uk9GSUxFIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJ
TElORykKLSNkZWZpbmUgRU5BQkxFX1NJTVBMRV9IRUFQX1BST0ZJTElORyAwCi0jZW5kaWYKLQot
LyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcgY291bnRlcnMu
IEJlIHN1cmUgdG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyB0byAxLiAq
LwotI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykKLSNkZWZpbmUg
RU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKLSNlbmRpZgotCi0vKiBFbnN1cmUgdGhh
dCBlaXRoZXIgdGhlIEpJVCBvciB0aGUgaW50ZXJwcmV0ZXIgaGFzIGJlZW4gZW5hYmxlZC4gKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUikgJiYgIUVOQUJMRShKSVQp
Ci0jZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKLSNlbmRpZgotI2lmICEoRU5B
QkxFKEpJVCkgfHwgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpKQotI2Vycm9yIFlvdSBoYXZl
IHRvIGhhdmUgYXQgbGVhc3Qgb25lIGV4ZWN1dGlvbiBtb2RlbCBlbmFibGVkIHRvIGJ1aWxkIEpT
QwotI2VuZGlmCi0KLSNpZiBDUFUoU0g0KSAmJiBQTEFURk9STShRVCkKLSNkZWZpbmUgRU5BQkxF
X0pJVCAxCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoQVJNKQot
I2lmICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKSAmJiBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoNSkKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShNSVBTKQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPKQotI2RlZmluZSBFTkFCTEVfSklU
X1VTRV9TT0ZUX01PRFVMTyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgQ1BVKFg4NikgJiYgQ09N
UElMRVIoTVNWQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUo
WDg2KSAmJiBDT01QSUxFUihHQ0MpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVf
XyAoKGZhc3RjYWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0v
KiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKSB8fCAoUlZD
VF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYmIGRlZmluZWQoX19HTlVDX18pKQotI2Rl
ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQotI2VuZGlmCi0jaWYgSEFWRShDT01QVVRFRF9HT1RP
KSAmJiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLQotLyogUmVndWxhciBFeHByZXNz
aW9uIFRyYWNpbmcgLSBTZXQgdG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRz
IGR1bXBlZCBhdCBleGl0ICovCi0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8q
IFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklU
IGVuYWJsZWQgcG9ydHMuICovCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jZGVmaW5lIEVOQUJM
RV9ZQVJSX0pJVCAwCi0KLSNlbGlmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJS
X0pJVCkKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcg
Y29tcGFyZXMgSklUIHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmlu
ZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSB8fCBF
TkFCTEUoWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0KLS8q
IFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1dGFibGUg
YWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCi0gICBPbiB4ODYtNjQg
d2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBtbWFwIG9u
IGRlbWFuZC4gKi8KLSNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIENQVShYODZfNjQpIHx8IFBM
QVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEIDEK
LSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9ERU1BTkQgMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKSAmJiBPUyhX
SU5ET1dTKQotI2RlZmluZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNk
ZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKLSNlbmRpZgotCi0vKiBVc2UgdGhlIFFYbWxTdHJl
YW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCi0vKiBVc2Ug
dGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwotI2lmIFBM
QVRGT1JNKFFUKQotI2lmICFVU0UoTElCWE1MMikKLSNkZWZpbmUgV1RGX1VTRV9RWE1MU1RSRUFN
IDEKLSNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykKLS8qIENvbXBsZXggdGV4dCBmcmFtZXdvcmsgKi8KLSNpZm5kZWYgQlVJTERJ
TkdfT05fTEVPUEFSRAotI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCi0jZGVmaW5lIFdURl9V
U0VfQ09SRV9URVhUIDAKLSNlbmRpZgotI2VuZGlmCi0KLS8qIEFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFU
KSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShXSU5fQ0FJUk8p
KSB8fCBQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcgMQotI2VuZGlmCi0KLS8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktp
dDIgKi8KLSNpZiBQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lU
SU5HIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkpIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9O
X1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQotI2VuZGlmCi0KLSNpZiAhRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpIHx8IChFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgKChPUyhVTklYKSAm
JiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdYKSkpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKSkpCi0jZGVmaW5lIEVOQUJMRV9QTFVHSU5fUEFDS0FHRV9TSU1QTEVfSEFTSCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MSU9OKQotI2RlZmluZSBFTkFCTEVfVEhSRUFERURfU0NST0xMSU5HIDEKLSNl
bmRpZgotCi0vKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVycm9yIHRoYXQgaXMgaW50
ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBzcGFjZSBhZnRlciBFcnJv
ci4gKi8KLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJvciBVU0VfbWFjcm9fc2hv
dWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKLQotLyogRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hv
dWxkIGVuYWJsZSB0aGlzIGZvciBhbGwgcGxhdGZvcm1zIGFuZCBnZXQgcmlkIG9mIHRoZSBkZWZp
bmUuICovCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUyAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFU
Rk9STV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZF
KEFDQ0VTU0lCSUxJVFkpCi0jZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01F
TlVTIDEKLSNlbmRpZgotCi0vKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRp
dmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcg
bG9jYXRpb24uICovCi0jZGVmaW5lIFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNT
SU9OIDEKLQotI2lmIENQVShBUk1fVEhVTUIyKQotI2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBB
Q1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BB
VENIKSAmJiBIQVZFKERJU1BBVENIX0gpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElT
UEFUQ0ggMQotI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVOTVApICYmIGRlZmlu
ZWQoX09QRU5NUCkKLSNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAgMQotI2VsaWYgIWRl
ZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJ
QyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCi0jaW5jbHVkZSA8d3RmL2dv
YmplY3QvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotLyogRklYTUU6IFRoaXMgZGVmaW5lIHdvbid0
IGJlIG5lZWRlZCBvbmNlICMyNzU1MSBpcyBmdWxseSBsYW5kZWQuIEhvd2V2ZXIsIAotICAgc2lu
Y2UgbW9zdCBwb3J0cyB0cnkgdG8gc3VwcG9ydCBzdWItcHJvamVjdCBpbmRlcGVuZGVuY2UsIGFk
ZGluZyBuZXcgaGVhZGVycwotICAgdG8gV1RGIGNhdXNlcyBtYW55IHBvcnRzIHRvIGJyZWFrLCBh
bmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkCi0gICBicmVha2FnZXMgb25l
IHBvcnQgYXQgYSB0aW1lLiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKFdYKQotI2RlZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMQotI2Vsc2UKLSNk
ZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKFFU
KSAmJiAhT1MoREFSV0lOKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCi0jZGVm
aW5lIFdURl9VU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9DT01QQVJFX0FORF9TV0FQKSAmJiBDT01QSUxFUihHQ0MpICYmIChDUFUoWDg2KSB8
fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikpCi0jZGVmaW5lIEVOQUJMRV9DT01QQVJF
X0FORF9TV0FQIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1BBUkFMTEVMX0dDKSAm
JiAoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSkgJiYgRU5B
QkxFKENPTVBBUkVfQU5EX1NXQVApCi0jZGVmaW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCi0jZW5k
aWYKLQotI2lmbmRlZiBOREVCVUcKLSNpZm5kZWYgRU5BQkxFX0dDX1ZBTElEQVRJT04KLSNkZWZp
bmUgRU5BQkxFX0dDX1ZBTElEQVRJT04gMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBXVEZfVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9MSU9OKQotI2RlZmluZSBXVEZfVVNFX0NPUkVNRURJQSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IChQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykpIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX1RJTUVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBXVEZfVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
X0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQotI2RlZmluZSBIQVZFX0lOVkVSVEVEX1dIRUVMX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RGX1VTRV9DT1JFQVVESU8gMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQotI2RlZmluZSBX
VEZfVVNFX1Y4IDEKLSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotCi0j
aWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAwCi0jZW5kaWYgLyog
IWRlZmluZWQoV1RGX1VTRV9WOCkgKi8KLQotLyogVXNpbmcgVjggaW1wbGllcyBub3QgdXNpbmcg
SlNDIGFuZCB2aWNlIHZlcnNhICovCi0jZGVmaW5lIFdURl9VU0VfSlNDICFXVEZfVVNFX1Y4Ci0K
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFC
TEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZf
VVNFX1dURlVSTCkKLSNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChXVEZfVVNFX1pMSUIpICYmICFQTEFURk9STShRVCkKLSNkZWZpbmUgV1RGX1VTRV9aTElC
IDEKLSNlbmRpZgotCi0jZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBhNTI2ZjRhMzdmMzc4NDYyMmQwYzUxMDM1OGUzYTQ1ZGQ3M2NjNWY5Li5jOWY3
NjEyNTMxZjNmYmU0YzE5MWM2OGYzNzNiY2ViOWIwMzQxNDczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0xLDMgKzEsNCBAQAogd3RmX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XVEYvU3R1Yi5j
cHAgXAotCVNvdXJjZS9XVEYvU3R1Yi5oCisJU291cmNlL1dURi9TdHViLmggXAorICAgIFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLmd5cGkgYi9T
b3VyY2UvV1RGL1dURi5neXBpCmluZGV4IGFlZDE3NjJiYTE2MWMyMjA2NjJmMzZkNTAxMzljZDI2
MWVhYzViZDAuLjcxYzY3NGM4NDQ5Y2U4YzI5MGEwOTk4NDNmYzY1MzE1N2NlMjZlZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLmd5cGkKKysrIGIvU291cmNlL1dURi9XVEYuZ3lwaQpAQCAt
Myw2ICszLDcgQEAKICAgICAgICAgJ3Byb2plY3RfZGlyJzogWycuJ10sCiAgICAgICAgICd3dGZf
cHJpdmF0ZWhlYWRlcl9maWxlcyc6IFsKICAgICAgICAgICAgICdTdHViLmgnLAorICAgICAgICAg
ICAgJ3d0Zi9QbGF0Zm9ybS5oJywKICAgICAgICAgXSwKICAgICAgICAgJ3d0Zl9maWxlcyc6IFsK
ICAgICAgICAgICAgICdTdHViLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8g
Yi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggYjExN2IwZDJkNzRmYzhmYWE1ZDU0MmUyOTJjODYx
ZDZjMGMzNTc3OC4uMDEwZGUzODQwZDhmOGU5MTk4MTljOWE2MTA1OGFhZDZmY2IwNmE2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAt
MTAyLDcgKzEwMiw3IEBAIEhFQURFUlMgKz0gXAogICAgIFBhc3NPd25QdHIuaCBcCiAgICAgUGFz
c1JlZlB0ci5oIFwKICAgICBQYXNzVHJhaXRzLmggXAotICAgIFBsYXRmb3JtLmggXAorICAgIC4u
Ly4uL1dURi93dGYvUGxhdGZvcm0uaCBcCiAgICAgUG9zc2libHlOdWxsLmggXAogICAgIHF0L1V0
aWxzUXQuaCBcCiAgICAgUmFuZG9tTnVtYmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9X
VEYudmNwcm9qL1dURi52Y3Byb2ogYi9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvagpp
bmRleCA3N2ExZGI4ZDc5ZDAzOTU5MzA0ODUxNDI3MGM1ZmIyOTdiYmEzNjcyLi5mYzc0N2ZlZDE2
YjBjNGQwYmYzZGQwNjAxMmIxZTBkODZlOWJiOTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dU
Ri52Y3Byb2ovV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJv
agpAQCAtOTk3LDcgKzk5Nyw3IEBACiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0
aXZlUGF0aD0iLi5cLi5cSmF2YVNjcmlwdENvcmVcd3RmXFBsYXRmb3JtLmgiCisJCQlSZWxhdGl2
ZVBhdGg9Ind0ZlxQbGF0Zm9ybS5oIgogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovd29yay1hcm91bmQtdnMtZGVwZW5kZW5jeS10cmFj
a2luZy1idWdzLnB5IGIvU291cmNlL1dURi9XVEYudmNwcm9qL3dvcmstYXJvdW5kLXZzLWRlcGVu
ZGVuY3ktdHJhY2tpbmctYnVncy5weQppbmRleCBhMjNjMjgwMTMxYmU3NTA0NWI1ZTcwMzE1MmQ3
MWE2Yzk0N2NjOTdkLi41MTE5MTE4YjhkN2ZmYWM5Mjg1NDg1ODVmZTE5ZGYxNzFjMDI4MjMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovd29yay1hcm91bmQtdnMtZGVwZW5kZW5j
eS10cmFja2luZy1idWdzLnB5CisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai93b3JrLWFyb3Vu
ZC12cy1kZXBlbmRlbmN5LXRyYWNraW5nLWJ1Z3MucHkKQEAgLTMxLDcgKzMxLDcgQEAgZGVmIHJl
YWN0X3RvX3ZzcHJvcHNfY2hhbmdlcygpOgogCiAgICAgIyBUb3VjaCB3dGYvUGxhdGZvcm0uaCBz
byBhbGwgZmlsZXMgd2lsbCBiZSByZWNvbXBpbGVkLiBUaGlzIGlzIG5lY2Vzc2FyeQogICAgICMg
dG8gcGljayB1cCBjaGFuZ2VzIHRvIHByZXByb2Nlc3NvciBtYWNyb3MgKGUuZy4sIEVOQUJMRV8q
KS4KLSAgICB3dGZfcGxhdGZvcm1faCA9IG9zLnBhdGguam9pbihUT1BfTEVWRUxfRElSRUNUT1JZ
LCAnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJywgJ3d0ZicsICdQbGF0Zm9ybS5oJykKKyAgICB3
dGZfcGxhdGZvcm1faCA9IG9zLnBhdGguam9pbihUT1BfTEVWRUxfRElSRUNUT1JZLCAnU291cmNl
JywgJ1dURicsICd3dGYnLCAnUGxhdGZvcm0uaCcpCiAgICAgdG91Y2hfaWZfb2xkZXJfdGhhbih3
dGZfcGxhdGZvcm1faCwgbmV3ZXN0X3ZzcHJvcHNfdGltZSkKIAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZjhiZGM2MjZkNmY5MTE0YmM2NTZlYTIyYzEy
NWQ3Mzk0YjhlN2NjLi44YmRlMTI5YmQ1MDYxNjNmNWY4NzllOWUxZWQzOWFmM2NjNzI1MDA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTksNiArOSw3IEBA
CiAvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCQk1RDI0N0I3OTE0Njg5RDg5MDBF
NzhCNzYgLyogU3R1Yi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi87IH07CiAJCTVE
MjQ3QjdBMTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCUE4NzZEQkQ4MTUxODE2
RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggKi87
IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRmlsZVJl
ZmVyZW5jZSBzZWN0aW9uICovCkBAIC0yMCw2ICsyMSw3IEBACiAJCTVEMjQ3Qjc3MTQ2ODlEODkw
MEU3OEI3NiAvKiBTdHViLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN0dWIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDI0N0I3ODE0Njg5RDg5
MDBFNzhCNzYgLyogU3R1Yi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHVi
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3
NiAvKiBIZWFkZXJEZXRlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SGVhZGVyRGV0ZWN0aW9uLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XVEYvSGVhZGVyRGV0ZWN0
aW9uLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUE4NzZEQkQ3MTUx
ODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZp
bGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZSBzZWN0aW9uICovCkBAIC02NywxMCArNjksMTkgQEAKIAkJCQk1RDI0N0VCMTE0NjhCMDE1MDBF
NzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmggKi8sCiAJCQkJNUQyNDdCNzcxNDY4OUQ4OTAwRTc4
Qjc2IC8qIFN0dWIuY3BwICovLAogCQkJCTVEMjQ3Qjc4MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHVi
LmggKi8sCisJCQkJQTg3NkRCRDYxNTE4MTZFNTAwREFEQjk1IC8qIHd0ZiAqLywKIAkJCSk7CiAJ
CQluYW1lID0gU291cmNlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQTg3
NkRCRDYxNTE4MTZFNTAwREFEQjk1IC8qIHd0ZiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3Jt
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IHd0ZjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC03OCw4ICs4OSw4IEBACiAJCQlpc2EgPSBQQlhIZWFk
ZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxl
cyA9ICgKLQkJCQk1RDI0N0VCMjE0NjhCMDE1MDBFNzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1RDI0N0I3QTE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTg3NkRCRDgxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTE0Myw3ICsxNTQsNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJ
CXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiTk9c
IiBdXTsgdGhlblxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtUQVJHRVRfQlVJTERfRElS
JSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFURV9I
RUFERVJTX1BBVEg9XCIke0RTVFJPT1QlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9
XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5jIC1h
diAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBcIi5z
dm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0taW5j
bHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNST09U
fS9cIiBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJp
ZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07IHRoZW5cbiAgICBQ
UklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30ke1BSSVZBVEVfSEVB
REVSU19GT0xERVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtE
U1RST09UJSUvfSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maTtcblxubWtkaXIg
LXAgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1uby1vd25lciAtLW5v
LWdyb3VwIC0tcHJ1bmUtZW1wdHktZGlycyAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1leGNsdWRlIFwi
dXNyXCIgLS1leGNsdWRlIFwiRGVyaXZlZFNvdXJjZXNcIiAtLWluY2x1ZGUgXCIqL1wiIC0taW5j
bHVkZSBcIiouaFwiIC0tZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vd3RmL1wiIFwiJHtQUklW
QVRFX0hFQURFUlNfUEFUSH1cIlxuIjsKIAkJfTsKIAkJNUQyNDdFOUQxNDY4QUVFMjAwRTc4Qjc2
IC8qIERldGVjdCBBdmFpbGFibGUgSGVhZGVycyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2Ny
aXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvY29uZmlnLmggYi9Tb3VyY2Uv
V1RGL2NvbmZpZy5oCmluZGV4IDBhYjMzMjYzYjc2MTc0N2M3MDdmODI4YzE1NGIwMjA2NjIxMTAw
OGYuLmNkODYyNTJjNTMwNjliNzI0MjQ0YjE1YTIzMDAxMjhkN2Y2MTM0OTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvY29uZmlnLmgKKysrIGIvU291cmNlL1dURi9jb25maWcuaApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KIC8vIFdURiBjYW5ub3QgZGVw
ZW5kIG9uIEpTQyBldmVuIGlmIFVTRShKU0MpLgogI2lmIFVTRShKU0MpICYmICFkZWZpbmVkKEJV
SUxESU5HX1dURikKLSNpbmNsdWRlICJKU0V4cG9ydE1hY3Jvcy5oIgorI2luY2x1ZGUgInJ1bnRp
bWUvSlNFeHBvcnRNYWNyb3MuaCIKICNlbmRpZgogCiAjaWYgT1MoV0lORE9XUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ4MzRiNTM5ODRmOTMzMzUwNzQ1ZTg3NTRjY2RhNDE3MGMwZjAyMGUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0wLDAgKzEsMTIx
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3Jj
aCBNb2JpbGUsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9Q
bGF0Zm9ybV9oCisjZGVmaW5lIFdURl9QbGF0Zm9ybV9oCisKKy8qIEluY2x1ZGUgY29tcGlsZXIg
c3BlY2lmaWMgbWFjcm9zICovCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKy8qID09PT0g
UExBVEZPUk0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFwaGljcyBBUEks
IGFuZAorICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBmYXZvciBvZiBw
bGF0Zm9ybSBhZGFwdGF0aW9uCisgICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBtYWNyb3MsIGFu
ZCB0b3AtbGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gPT09PSAqLworI2RlZmluZSBQTEFURk9STShX
VEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9Q
TEFURk9STV8jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gUGxhdGZvcm0gYWRhcHRhdGlvbiBt
YWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBlbnZpcm9ubWVu
dC4gPT09PSAqLworCisvKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSAqLwor
I2RlZmluZSBDUFUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZfRkVBVFVSRSAg
JiYgV1RGX0NQVV8jI1dURl9GRUFUVVJFKQorLyogSEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZl
YXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBv
ciBub3QgKi8KKyNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9G
RUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCisvKiBPUygpIC0gdW5kZXJseWluZyBvcGVy
YXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBzZXJ2
aWNlcyBsaWtlIAorICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtp
dCAqLworI2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMjV1RGX0ZFQVRV
UkUgICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQorCisKKy8qID09PT0gUG9saWN5IGRlY2lzaW9u
IG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIgcG9y
dC4gPT09PSAqLworCisvKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQtcGFydHkgbGli
cmFyeSBvciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCisjZGVmaW5lIFVTRShXVEZfRkVBVFVSRSkg
KGRlZmluZWQgV1RGX1VTRV8jI1dURl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RGX0ZFQVRVUkUp
CisvKiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCAqLwor
I2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9GRUFUVVJF
ICAmJiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKKworCisvKiA9PT09IENQVSgpIC0gdGhlIHRhcmdl
dCBDUFUgYXJjaGl0ZWN0dXJlID09PT0gKi8KKworLyogVGhpcyBhbHNvIGRlZmluZXMgQ1BVKEJJ
R19FTkRJQU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0
ZS4gKi8KKworLyogQ1BVKEFMUEhBKSAtIERFQyBBbHBoYSAqLworI2lmIGRlZmluZWQoX19hbHBo
YV9fKQorI2RlZmluZSBXVEZfQ1BVX0FMUEhBIDEKKyNlbmRpZgorCisvKiBDUFUoSUE2NCkgLSBJ
dGFuaXVtIC8gSUEtNjQgKi8KKyNpZiBkZWZpbmVkKF9faWE2NF9fKQorI2RlZmluZSBXVEZfQ1BV
X0lBNjQgMQorLyogMzItYml0IG1vZGUgb24gSXRhbml1bSAqLworI2lmICFkZWZpbmVkKF9fTFA2
NF9fKQorI2RlZmluZSBXVEZfQ1BVX0lBNjRfMzIgMQorI2VuZGlmCisjZW5kaWYKKworLyogQ1BV
KE1JUFMpIC0gTUlQUyAzMi1iaXQgKi8KKy8qIE5vdGU6IE9ubHkgTzMyIEFCSSBpcyB0ZXN0ZWQs
IHNvIHdlIGVuYWJsZSBpdCBmb3IgTzMyIEFCSSBmb3Igbm93LiAgKi8KKyNpZiAoZGVmaW5lZCht
aXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmluZWQoX01J
UFNfKSkgXAorICAgICYmIGRlZmluZWQoX0FCSU8zMikKKyNkZWZpbmUgV1RGX0NQVV9NSVBTIDEK
KyNpZiBkZWZpbmVkKF9fTUlQU0VCX18pCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisj
ZW5kaWYKKyNkZWZpbmUgV1RGX01JUFNfUElDIChkZWZpbmVkIF9fUElDX18pCisjZGVmaW5lIFdU
Rl9NSVBTX0FSQ0ggX19taXBzCisjZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVmaW5lZCBXVEZf
TUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPT0gdikKKyNkZWZpbmUgV1RGX01JUFNfSVNBX0FU
X0xFQVNUKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJDSCA+PSB2KQor
I2RlZmluZSBXVEZfTUlQU19BUkNIX1JFViBfX21pcHNfaXNhX3JldgorI2RlZmluZSBXVEZfTUlQ
U19JU0FfUkVWKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9NSVBTX0FSQ0hf
UkVWID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5lZCBfX21pcHNf
aGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQorI2RlZmluZSBXVEZf
TUlQU19GUDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkKKy8qIE1J
UFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KKyNkZWZpbmUg
V1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYgLyogTUlQUyAq
LworCisvKiBDUFUoUFBDKSAtIFBvd2VyUEMgMzItYml0ICovCisjaWYgICBkZWZpbmVkKF9fcHBj
X18pICAgICBcCisgICAgfHwgZGVmaW5lZChfX1BQQ19fKSAgICAgXAorICAgIHx8IGRlZmluZWQo
X19wb3dlcnBjX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCisgICAgfHwgZGVm
aW5lZChfX1BPV0VSUENfXykgXAorICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUFBDKQorI2RlZmluZSBXVEZfQ1BVX1BQQyAxCisjZGVmaW5lIFdURl9DUFVf
QklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMgNjQtYml0ICov
CisjaWYgICBkZWZpbmVkKF9fcHBjNjRfXykgXAorICAgIHx8IGRlZmluZWQoX19QUEM2NF9fKQor
I2RlZmluZSBXVEZfQ1BVX1BQQzY0IDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNl
bmRpZgorCisvKiBDUFUoU0g0KSAtIFN1cGVySCBTSC00ICovCisjaWYgZGVmaW5lZChfX1NINF9f
KQorI2RlZmluZSBXVEZfQ1BVX1NINCAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDMzIpIC0gU1BB
UkMgMzItYml0ICovCisjaWYgZGVmaW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChfX2FyY2g2NF9f
KSB8fCBkZWZpbmVkKF9fc3BhcmN2OCkKKyNkZWZpbmUgV1RGX0NQVV9TUEFSQzMyIDEKKyNkZWZp
bmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCisvKiBDUFUoU1BBUkM2NCkgLSBTUEFS
QyA2NC1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChfX2FyY2g2NF9f
KSB8fCBkZWZpbmVkIChfX3NwYXJjdjkpCisjZGVmaW5lIFdURl9DUFVfU1BBUkM2NCAxCisjZGVm
aW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNQQVJDKSAtIGFueSBT
UEFSQywgdHJ1ZSBmb3IgQ1BVKFNQQVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8KKyNpZiBDUFUo
U1BBUkMzMikgfHwgQ1BVKFNQQVJDNjQpCisjZGVmaW5lIFdURl9DUFVfU1BBUkMgMQorI2VuZGlm
CisKKy8qIENQVShTMzkwWCkgLSBTMzkwIDY0LWJpdCAqLworI2lmIGRlZmluZWQoX19zMzkweF9f
KQorI2RlZmluZSBXVEZfQ1BVX1MzOTBYIDEKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
KyNlbmRpZgorCisvKiBDUFUoUzM5MCkgLSBTMzkwIDMyLWJpdCAqLworI2lmIGRlZmluZWQoX19z
MzkwX18pCisjZGVmaW5lIFdURl9DUFVfUzM5MCAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElB
TiAxCisjZW5kaWYKKworLyogQ1BVKFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAqLworI2lmICAg
ZGVmaW5lZChfX2kzODZfXykgXAorICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKF9NX0lYODYpICBcCisgICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAorICAgIHx8IGRl
ZmluZWQoX19USFdfSU5URUwpCisjZGVmaW5lIFdURl9DUFVfWDg2IDEKKyNlbmRpZgorCisvKiBD
UFUoWDg2XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KKyNpZiAgIGRl
ZmluZWQoX194ODZfNjRfXykgXAorICAgIHx8IGRlZmluZWQoX01fWDY0KQorI2RlZmluZSBXVEZf
Q1BVX1g4Nl82NCAxCisjZW5kaWYKKworLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2ZXJzaW9uKi8K
KyNpZiAgIGRlZmluZWQoYXJtKSBcCisgICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCisgICAgfHwg
ZGVmaW5lZChBUk0pIFwKKyAgICB8fCBkZWZpbmVkKF9BUk1fKQorI2RlZmluZSBXVEZfQ1BVX0FS
TSAxCisKKyNpZiBkZWZpbmVkKF9fQVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1QpICYmIGRlZmlu
ZWQoX19CSUdfRU5ESUFOKSkKKyNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKKworI2VsaWYg
IWRlZmluZWQoX19BUk1fRUFCSV9fKSBcCisgICAgJiYgIWRlZmluZWQoX19FQUJJX18pIFwKKyAg
ICAmJiAhZGVmaW5lZChfX1ZGUF9GUF9fKSBcCisgICAgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkg
XAorICAgICYmICFkZWZpbmVkKEFORFJPSUQpCisjZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElB
TiAxCisKKyNlbmRpZgorCisjZGVmaW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChOKSAoQ1BVKEFS
TSkgJiYgV1RGX0FSTV9BUkNIX1ZFUlNJT04gPj0gTikKKworLyogU2V0IFdURl9BUk1fQVJDSF9W
RVJTSU9OICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNF9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzRUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNF9fKSBcCisg
ICAgfHwgZGVmaW5lZChfQVJNVjRJXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNAor
CisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzVUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQorI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiA1CisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisg
ICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzVURUpfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJl
cXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VT
RV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1f
QVJDSF82X18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAorICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF82S19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNlQyX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKKyNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gNgorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfN0FfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVS
U0lPTiA3CisKKy8qIFJWQ1Qgc2V0cyBfVEFSR0VUX0FSQ0hfQVJNICovCisjZWxpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfQVJNKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdF
VF9BUkNIX0FSTQorCisjaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVm
aW5lZChfX1RBUkdFVF9BUkNIXzVURSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81
VEVKKQorLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5
Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5k
aWYKKworI2Vsc2UKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gMAorCisjZW5kaWYKKwor
LyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KKyNpZiAgIGRlZmluZWQoX19BUk1fQVJD
SF80VF9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDEKKworI2VsaWYgZGVmaW5l
ZChfX0FSTV9BUkNIXzVUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OIDIKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZNX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMworCisjZWxp
ZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
N19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVk
KF9fQVJNX0FSQ0hfN1JfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83TV9fKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDQKKworLyogUlZDVCBzZXRzIF9fVEFSR0VUX0FS
Q0hfVEhVTUIgKi8KKyNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikKKyNkZWZpbmUg
V1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX1RIVU1CCisKKyNlbHNlCisjZGVm
aW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMAorI2VuZGlmCisKKworLyogQ1BVKEFSTVY1X09S
X0xPV0VSKSAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLworLyogT24gQVJN
djUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4gCisgICBBbmQg
dGhlcmUgYXJlIHNvbWUgb3RoZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIuICovCisj
aWYgIWRlZmluZWQoQVJNVjVfT1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNikK
KyNkZWZpbmUgV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAxCisjZW5kaWYKKworCisvKiBDUFUoQVJN
X1RSQURJVElPTkFMKSAtIFRodW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRpdGlvbmFs
IEFSTSAodjQgb3IgZ3JlYXRlcikgKi8KKy8qIENQVShBUk1fVEhVTUIyKSAtIFRodW1iMiBpbnN0
cnVjdGlvbiBzZXQgaXMgYXZhaWxhYmxlICovCisvKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJl
IGRlZmluZWQuICovCisjaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFk
ZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikKKyMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZp
bmVkKF9fdGh1bWIyX18pIFwKKyAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwgZGVmaW5lZChf
X3RodW1iX18pKSAmJiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCisjICAgIGRlZmluZSBX
VEZfQ1BVX0FSTV9UUkFESVRJT05BTCAwCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIg
MQorIyAgZWxpZiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNCkKKyMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RSQURJVElPTkFMIDEKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAwCisjICBl
bHNlCisjICAgIGVycm9yICJOb3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUiCisjICBlbmRp
ZgorI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8qIFNhbml0
eSBDaGVjayAqLworIyAgZXJyb3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FSTV9UUkFE
SVRJT05BTCBhbmQgV1RGX0NQVV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKKyNlbmRpZiAvKiAhZGVm
aW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhV
TUIyKSAqLworCisjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKFdURl9DUFVf
QVJNX05FT04pCisjZGVmaW5lIFdURl9DUFVfQVJNX05FT04gMQorI2VuZGlmCisKKyNlbmRpZiAv
KiBBUk0gKi8KKworI2lmIENQVShBUk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0KSB8fCBDUFUo
U1BBUkMpCisjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQorI2VuZGlmCisK
Ky8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1
c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVt
b3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLworCisvKiBPUyhBTkRST0lE
KSAtIEFuZHJvaWQgKi8KKyNpZmRlZiBBTkRST0lECisjZGVmaW5lIFdURl9PU19BTkRST0lEIDEK
KyNlbmRpZgorCisvKiBPUyhBSVgpIC0gQUlYICovCisjaWZkZWYgX0FJWAorI2RlZmluZSBXVEZf
T1NfQUlYIDEKKyNlbmRpZgorCisvKiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1iYXNlZCBPUywg
aW5jbHVkaW5nIE1hYyBPUyBYIGFuZCBpUGhvbmUgT1MgKi8KKyNpZmRlZiBfX0FQUExFX18KKyNk
ZWZpbmUgV1RGX09TX0RBUldJTiAxCisKKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4KKyNpbmNs
dWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KKyNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMu
aD4KKyNlbmRpZgorCisvKiBPUyhJT1MpIC0gaU9TICovCisvKiBPUyhNQUNfT1NfWCkgLSBNYWMg
T1MgWCAobm90IGluY2x1ZGluZyBpT1MpICovCisjaWYgT1MoREFSV0lOKSAmJiAoKGRlZmluZWQo
VEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIFwKKyAgICB8fCAoZGVm
aW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAgICAgICAgICAg
ICAgXAorICAgIHx8IChkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAmJiBUQVJHRVRf
SVBIT05FX1NJTVVMQVRPUikpCisjZGVmaW5lIFdURl9PU19JT1MgMQorI2VsaWYgT1MoREFSV0lO
KSAmJiBkZWZpbmVkKFRBUkdFVF9PU19NQUMpICYmIFRBUkdFVF9PU19NQUMKKyNkZWZpbmUgV1RG
X09TX01BQ19PU19YIDEKKy8qIEZJWE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRBUkdFVElORy4u
LiBtYWNyb3Mgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAqLworI2lmICFk
ZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgorI2RlZmluZSBCVUlMRElOR19PTl9MRU9QQVJE
IDEKKyNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNworI2RlZmluZSBCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84
KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF84
CisjZGVmaW5lIEJVSUxESU5HX09OX0xJT04gMQorI2VuZGlmCisjaWYgIWRlZmluZWQoTUFDX09T
X1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19P
U19YX1ZFUlNJT05fMTBfNgorI2RlZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCisjZWxpZiAhZGVm
aW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83CisjZGVmaW5lIFRBUkdFVElOR19TTk9XX0xFT1BB
UkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBNQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBUQVJH
RVRJTkdfTElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBPUyhGUkVFQlNEKSAtIEZyZWVCU0Qg
Ki8KKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8
IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQorI2RlZmluZSBXVEZfT1NfRlJFRUJTRCAxCisj
ZW5kaWYKKworLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLworI2lmZGVmIF9fR05VX18KKyNkZWZp
bmUgV1RGX09TX0hVUkQgMQorI2VuZGlmCisKKy8qIE9TKExJTlVYKSAtIExpbnV4ICovCisjaWZk
ZWYgX19saW51eF9fCisjZGVmaW5lIFdURl9PU19MSU5VWCAxCisjZW5kaWYKKworLyogT1MoTkVU
QlNEKSAtIE5ldEJTRCAqLworI2lmIGRlZmluZWQoX19OZXRCU0RfXykKKyNkZWZpbmUgV1RGX09T
X05FVEJTRCAxCisjZW5kaWYKKworLyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICovCisjaWZkZWYg
X19PcGVuQlNEX18KKyNkZWZpbmUgV1RGX09TX09QRU5CU0QgMQorI2VuZGlmCisKKy8qIE9TKFFO
WCkgLSBRTlggKi8KKyNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCisjZGVmaW5lIFdURl9PU19RTlgg
MQorI2VuZGlmCisKKy8qIE9TKFNPTEFSSVMpIC0gU29sYXJpcyAqLworI2lmIGRlZmluZWQoc3Vu
KSB8fCBkZWZpbmVkKF9fc3VuKQorI2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCisjZW5kaWYKKwor
LyogT1MoV0lOQ0UpIC0gV2luZG93cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBsYXRmb3JtIE9T
KFdJTkRPV1MpIGlzIGFsc28gZGVmaW5lZCAqLworI2lmIGRlZmluZWQoX1dJTjMyX1dDRSkKKyNk
ZWZpbmUgV1RGX09TX1dJTkNFIDEKKyNlbmRpZgorCisvKiBPUyhXSU5ET1dTKSAtIEFueSB2ZXJz
aW9uIG9mIFdpbmRvd3MgKi8KKyNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikK
KyNkZWZpbmUgV1RGX09TX1dJTkRPV1MgMQorI2VuZGlmCisKKyNkZWZpbmUgV1RGX09TX1dJTiBF
UlJPUiAiVVNFIFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgorI2RlZmluZSBXVEZfT1NfTUFDIEVS
Uk9SICJVU0UgTUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgorCisvKiBPUyhVTklYKSAtIEFueSBV
bml4LWxpa2Ugc3lzdGVtICovCisjaWYgICBPUyhBSVgpICAgICAgICAgICAgICBcCisgICAgfHwg
T1MoQU5EUk9JRCkgICAgICAgICAgXAorICAgIHx8IE9TKERBUldJTikgICAgICAgICAgIFwKKyAg
ICB8fCBPUyhGUkVFQlNEKSAgICAgICAgICBcCisgICAgfHwgT1MoSFVSRCkgICAgICAgICAgICAg
XAorICAgIHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKKyAgICB8fCBPUyhORVRCU0QpICAgICAg
ICAgICBcCisgICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAorICAgIHx8IE9TKFFOWCkgICAg
ICAgICAgICAgIFwKKyAgICB8fCBPUyhTT0xBUklTKSAgICAgICAgICBcCisgICAgfHwgZGVmaW5l
ZCh1bml4KSAgICAgICAgXAorICAgIHx8IGRlZmluZWQoX191bml4KSAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKF9fdW5peF9fKQorI2RlZmluZSBXVEZfT1NfVU5JWCAxCisjZW5kaWYKKworLyogT3Bl
cmF0aW5nIGVudmlyb25tZW50cyAqLworCisvKiBGSVhNRTogdGhlc2UgYXJlIGFsbCBtaXhlcyBv
ZiBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4gKi8KKy8qIFBM
QVRGT1JNKENIUk9NSVVNKSAqLworLyogUExBVEZPUk0oUVQpICovCisvKiBQTEFURk9STShXWCkg
Ki8KKy8qIFBMQVRGT1JNKEdUSykgKi8KKy8qIFBMQVRGT1JNKEJMQUNLQkVSUlkpICovCisvKiBQ
TEFURk9STShNQUMpICovCisvKiBQTEFURk9STShXSU4pICovCisjaWYgZGVmaW5lZChCVUlMRElO
R19DSFJPTUlVTV9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQorI2VsaWYgZGVm
aW5lZChCVUlMRElOR19RVF9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQorI2VsaWYgZGVm
aW5lZChCVUlMRElOR19XWF9fKQorI2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQorI2VsaWYgZGVm
aW5lZChCVUlMRElOR19HVEtfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAxCisjZWxpZiBk
ZWZpbmVkKEJVSUxESU5HX0JMQUNLQkVSUllfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0JMQUNL
QkVSUlkgMQorI2VsaWYgT1MoREFSV0lOKQorI2RlZmluZSBXVEZfUExBVEZPUk1fTUFDIDEKKyNl
bGlmIE9TKFdJTkRPV1MpCisjZGVmaW5lIFdURl9QTEFURk9STV9XSU4gMQorI2VuZGlmCisKKy8q
IFBMQVRGT1JNKElPUykgKi8KKy8qIEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGFu
IE9TIHN3aXRjaCBhbmQgc29tZXRpbWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdzICovCisjaWYg
KGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIHx8IChk
ZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCisjZGVmaW5lIFdU
Rl9QTEFURk9STV9JT1MgMQorI2VuZGlmCisKKy8qIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpICov
CisjaWYgZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9T
SU1VTEFUT1IKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCisjZGVmaW5lIFdURl9QTEFURk9S
TV9JT1NfU0lNVUxBVE9SIDEKKyNlbHNlCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1NfU0lNVUxB
VE9SIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykKKyNkZWZpbmUg
V1RGX1BMQVRGT1JNX0lPUyAwCisjZW5kaWYKKworLyogR3JhcGhpY3MgZW5naW5lcyAqLworCisv
KiBVU0UoQ0cpIGFuZCBQTEFURk9STShDSSkgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKElPUykKKyNkZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKKyNpZiBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkKKyNkZWZpbmUg
V1RGX1VTRV9DQSAxCisjZW5kaWYKKworLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgvTWFjL0Fu
ZHJvaWQgKi8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpZiBPUyhEQVJXSU4pCisjaWYgVVNF
KFNLSUFfT05fTUFDX0NIUk9NSVVNKQorI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKKyNk
ZWZpbmUgV1RGX1VTRV9DRyAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVm
aW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKKyNlbGlm
IE9TKEFORFJPSUQpCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdURl9VU0VfR0xF
UzJfUkVOREVSSU5HIDAKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfU0tJQSAxCisjZGVmaW5lIFdU
Rl9VU0VfQ0hST01JVU1fTkVUIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShCTEFD
S0JFUlJZKQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKKyNkZWZpbmUgVVNFX1NZU1RF
TV9NQUxMT0MgMQorI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5MzcgMQorI2Rl
ZmluZSBXVEZfVVNFX1NLSUEgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjZGVmaW5l
IFdURl9VU0VfQ0FJUk8gMQorI2VuZGlmCisKKworI2lmIE9TKFdJTkNFKQorI2luY2x1ZGUgPGNl
X3RpbWUuaD4KKyNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNlbmRp
ZgorCisvKiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgYnkgZGVmYXVs
dCAqLworI2lmIE9TKFdJTkRPV1MpCisjZGVmaW5lIFdURl9VU0VfUVVFUllfUEVSRk9STUFOQ0Vf
Q09VTlRFUiAgMQorI2VuZGlmCisKKyNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQorI2Rl
ZmluZSBOT01JTk1BWCAgICAgICAvKiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZsaWN0IHdpdGgg
c3RhbmRhcmQgbWFjcm9zICovCisjZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNobHdhcGkuaCBu
b3QgYXZhaWxhYmxlIG9uIFdpbkNlICovCisKKy8qIE1TRE4gZG9jdW1lbnRhdGlvbiBzYXlzIHRo
ZXNlIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQgd2UgY2Fubm90
IGZpbmQgdGhpcyBmaWxlLiAqLworI2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBkaXNhYmxlICJ1
c3AxMC5oIiAqLworCisjZGVmaW5lIF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUgImFzc2VydC5o
IiAqLworI2RlZmluZSBhc3NlcnQoeCkKKworI2VuZGlmICAvKiBPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKFFUKSAqLworCisjaWYgUExBVEZPUk0oUVQpCisjaWZuZGVmIFdURl9VU0VfSUNVX1VOSUNP
REUKKyNkZWZpbmUgV1RGX1VTRV9RVDRfVU5JQ09ERSAxCisjZW5kaWYKKyNlbGlmIE9TKFdJTkNF
KQorI2RlZmluZSBXVEZfVVNFX1dJTkNFX1VOSUNPREUgMQorI2VsaWYgUExBVEZPUk0oR1RLKQor
LyogVGhlIEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLworI2Vsc2UKKyNk
ZWZpbmUgV1RGX1VTRV9JQ1VfVU5JQ09ERSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykg
JiYgIVBMQVRGT1JNKElPUykKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiBD
UFUoWDg2XzY0KQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQorI2VuZGlm
CisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKQorI2RlZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMgMQorI2RlZmlu
ZSBFTkFCTEVfUlVCQkVSX0JBTkRJTkcgMQorI2RlZmluZSBXVEZfVVNFX1NDUk9MTEJBUl9QQUlO
VEVSIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkKKyNkZWZpbmUg
RU5BQkxFX0pBVkFfQlJJREdFIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKKyNlbmRpZgor
I2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5l
IEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUg
SEFWRV9SVU5MT09QX1RJTUVSIDEKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNk
ZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJ
VkUgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKKyNpZiBkZWZpbmVkKEVOQUJMRV9WSURF
TykKKyNkZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgSEFWRV9MQVlFUl9IT1NUSU5H
X0lOX1dJTkRPV19TRVJWRVIgMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiAh
UExBVEZPUk0oSU9TKSAqLworCisjaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikK
KyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmlu
ZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKworI2RlZmluZSBXVEZfVVNFX1dLX1NDUk9MTEJBUl9Q
QUlOVEVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBET05UX0ZJTkFM
SVpFX09OX01BSU5fVEhSRUFEIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oUVQpICYmIE9TKERB
UldJTikKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCisj
ZW5kaWYKKworI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFU
KQorI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAorI2RlZmluZSBFTkFCTEVf
RFJBR19TVVBQT1JUIDAKKyNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAorI2Rl
ZmluZSBFTkFCTEVfRlRQRElSIDEKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEKKyNkZWZp
bmUgRU5BQkxFX0lDT05EQVRBQkFTRSAwCisjZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQorI2Rl
ZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAorI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSAwCisjZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMQorI2RlZmluZSBFTkFC
TEVfUkVQQUlOVF9USFJPVFRMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNk
ZWZpbmUgSEFWRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCisjZGVmaW5lIEhBVkVf
UFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNkZWZpbmUgSEFWRV9S
VU5MT09QX1RJTUVSIDAKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0ZO
RVRXT1JLIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisKKyNpZiBQTEFURk9STShJT1Nf
U0lNVUxBVE9SKQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorICAg
ICNkZWZpbmUgRU5BQkxFX0pJVCAwCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAorI2Vs
c2UKKyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKKyAgICAjZGVmaW5l
IEVOQUJMRV9KSVQgMQorICAgICNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKKyAgICAjZGVmaW5lIEVO
QUJMRV9ZQVJSX0pJVCAxCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYm
ICFPUyhXSU5DRSkKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVmaW5lIFdURl9VU0VfUFRIUkVB
RFMgMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRG
T1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQorI2RlZmluZSBXVEZfVVNFX0NG
TkVUV09SSyAxCisjZW5kaWYKKworI2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQorI2RlZmluZSBX
VEZfVVNFX0NGVVJMU1RPUkFHRVNFU1NJT05TIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lO
KSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQor
I2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4p
ICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NB
SVJPKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKFdYKQorI2lmICFDUFUoUFBDKQorI2RlZmluZSBFTkFCTEVf
QVNTRU1CTEVSIDEKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKyNkZWZpbmUgRU5BQkxF
X0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCisjZGVmaW5lIEVOQUJMRV9MTElOVCAwCisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBXVEZfVVNFX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQg
MQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKEdUSykKKyNpZiBIQVZFKFBUSFJFQURfSCkKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFE
UyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorI2VuZGlmCisjZWxpZiBQTEFURk9S
TShRVCkgJiYgT1MoVU5JWCkKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisjZGVmaW5lIEhB
VkVfUFRIUkVBRF9SV0xPQ0sgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lC
SUxJVFkpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgSEFWRV9B
Q0NFU1NJQklMSVRZIDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJ
TElUWSkgKi8KKworI2lmIE9TKFVOSVgpCisjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChIQVZFX1ZBU1BSSU5URikKKyNpZiAhQ09NUElMRVIoTVNWQykgJiYg
IUNPTVBJTEVSKFJWQ1QpICYmICFDT01QSUxFUihNSU5HVykgJiYgIShDT01QSUxFUihHQ0MpICYm
IE9TKFFOWCkpCisjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKKyNlbmRpZgorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChIQVZFX1NUUk5TVFIpCisjaWYgT1MoREFSV0lOKSB8fCAoT1MoRlJFRUJTRCkg
JiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyNkZWZpbmUgSEFWRV9TVFJOU1RSIDEKKyNlbmRpZgor
I2VuZGlmCisKKyNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKKyAgICAmJiAhT1Mo
UlZDVCkgXAorICAgICYmICFPUyhBTkRST0lEKQorI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCisj
ZGVmaW5lIEhBVkVfVE1fWk9ORSAxCisjZGVmaW5lIEhBVkVfVElNRUdNIDEKKyNlbmRpZgorCisj
aWYgT1MoREFSV0lOKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFO
R0lORk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfTUVSR0VTT1JUIDEK
KyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBI
QVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgSEFW
RV9TWVNfVElNRUJfSCAxCisjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCisKKyNpZm5kZWYg
VEFSR0VUSU5HX0xFT1BBUkQKKworI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2RlZmluZSBI
QVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCisKKyNpZiAhUExBVEZPUk0oSU9TKQorI2RlZmlu
ZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZp
bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVB
RF9TRVROQU1FX05QIDEKKyNlbmRpZgorCisjZWxpZiBPUyhXSU5ET1dTKQorCisjaWYgT1MoV0lO
Q0UpCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAwCisjZWxzZQorI2RlZmluZSBIQVZFX1NZU19USU1F
Ql9IIDEKKyNkZWZpbmUgSEFWRV9BTElHTkVEX01BTExPQyAxCisjZGVmaW5lIEhBVkVfSVNERUJV
R0dFUlBSRVNFTlQgMQorI2VuZGlmCisjZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9DIDEKKworI2Vs
aWYgT1MoUU5YKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAx
CisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUUg
MQorI2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5l
IEhBVkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorI2RlZmluZSBX
VEZfVVNFX1BUSFJFQURTIDEKKworI2VsaWYgT1MoQU5EUk9JRCkKKworI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMAorI2RlZmluZSBIQVZFX05NQVAgMQor
I2RlZmluZSBIQVZFX1NCUksgMQorI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCisjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQorI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisjZWxzZQorCisv
KiBGSVhNRTogaXMgdGhpcyBhY3R1YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRmb3JtcyBnZW5l
cmF0ZSB0aGVpciBvd24gY29uZmlnLmg/ICovCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNk
ZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFW
RV9TQlJLIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJB
TV9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKworI2VuZGlmCisKKy8qIEVOQUJMRSBt
YWNybyBkZWZhdWx0cyAqLworCisjaWYgUExBVEZPUk0oUVQpCisvKiBXZSBtdXN0IG5vdCBjdXN0
b21pemUgdGhlIGdsb2JhbCBvcGVyYXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhlIFF0IHBvcnQu
ICovCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAorI2lmICFPUyhVTklY
KQorI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBmYXN0
TWFsbG9jIG1hdGNoIHZhbGlkYXRpb24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlmaWNhdGlvbiB0
aGF0CisgICBuZXcgaXMgbWF0Y2hlZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMgbWF0Y2hlZCBi
eSBmYXN0RnJlZSwgZXRjLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01BTExPQ19NQVRD
SF9WQUxJREFUSU9OKQorI2RlZmluZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElP
TiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0UpCisjZGVmaW5l
IEVOQUJMRV9JQ09OREFUQUJBU0UgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU1FM
X0RBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVfU1FMX0RBVEFCQVNFIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpCisjZGVmaW5lIEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZUUERJUikK
KyNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9D
T05URVhUX01FTlVTKQorI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9EUkFHX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NV
UFBPUlQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykKKyNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1IpCisj
ZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
SkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2RlZmluZSBFTkFCTEVfTkVU
U0NBUEVfUExVR0lOX0FQSSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQ
RV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5f
TUVUQURBVEFfQ0FDSEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUFVSR0VBQkxF
X01FTU9SWSkKKyNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMAorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MpCisjZGVmaW5lIFdURl9VU0Vf
UExVR0lOX0hPU1RfUFJPQ0VTUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PUklF
TlRBVElPTl9FVkVOVFMpCisjZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfT1BDT0RFX1NUQVRTKQorI2RlZmluZSBFTkFCTEVf
T1BDT0RFX1NUQVRTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0dMT0JBTF9GQVNU
TUFMTE9DX05FVykKKyNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAxCisjZW5k
aWYKKworI2RlZmluZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKKyNkZWZpbmUgRU5B
QkxFX1NBTVBMSU5HX0NPVU5URVJTIDAKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZMQUdTIDAK
KyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1JFR0lPTlMgMAorI2RlZmluZSBFTkFCTEVfT1BDT0RF
X1NBTVBMSU5HIDAKKyNkZWZpbmUgRU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAwCisjaWYgRU5B
QkxFKENPREVCTE9DS19TQU1QTElORykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCisjZXJy
b3IgIkNPREVCTE9DS19TQU1QTElORyByZXF1aXJlcyBPUENPREVfU0FNUExJTkciCisjZW5kaWYK
KyNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdfRkxBR1MpIHx8
IEVOQUJMRShTQU1QTElOR19SRUdJT05TKQorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfVEhSRUFE
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQorI2RlZmluZSBF
TkFCTEVfR0VPTE9DQVRJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVklFV1BP
UlQpCisjZGVmaW5lIEVOQUJMRV9WSUVXUE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9OT1RJRklDQVRJT05TKQorI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9OUyAwCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKKyNkZWZpbmUgRU5BQkxFX1RF
WFRfQ0FSRVQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
CisjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VT
RV9KU1ZBTFVFMzJfNjQpCisjaWYgKENQVShYODZfNjQpICYmIChPUyhVTklYKSB8fCBPUyhXSU5E
T1dTKSkpIFwKKyAgICB8fCAoQ1BVKElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwKKyAgICB8fCBD
UFUoQUxQSEEpIFwKKyAgICB8fCBDUFUoU1BBUkM2NCkgXAorICAgIHx8IENQVShTMzkwWCkgXAor
ICAgIHx8IENQVShQUEM2NCkKKyNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQorI2Vsc2UKKyNk
ZWZpbmUgV1RGX1VTRV9KU1ZBTFVFMzJfNjQgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQo
V1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KSAqLwor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORykKKyNkZWZpbmUgRU5BQkxF
X1JFUEFJTlRfVEhST1RUTElORyAwCisjZW5kaWYKKworLyogRGlzYWJsZSB0aGUgSklUIG9uIHZl
cnNpb25zIG9mIEdDQyBwcmlvciB0byA0LjEgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAm
JiBDT01QSUxFUihHQ0MpICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAwKQorI2RlZmlu
ZSBFTkFCTEVfSklUIDAKKyNlbmRpZgorCisvKiBKSVQgaXMgbm90IGltcGxlbWVudGVkIGZvciBX
aW5kb3dzIDY0LWJpdCAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9TKFdJTkRPV1Mp
ICYmIENQVShYODZfNjQpCisjZGVmaW5lIEVOQUJMRV9KSVQgMAorI2VuZGlmCisKKy8qIFRoZSBK
SVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJNICYgTUlQUyBw
bGF0Zm9ybXMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAorICAgICYmIChDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKKyAgICAmJiAoT1Mo
REFSV0lOKSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAw
KSkgXAorICAgICYmICFPUyhXSU5DRSkgXAorICAgICYmICFPUyhRTlgpCisjZGVmaW5lIEVOQUJM
RV9KSVQgMQorI2VuZGlmCisKKy8qIE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3aGVyZSB3ZSBo
YXZlIGEgSklULCB3ZSB3YW50IHRvIGFsc28gaGF2ZSB0aGUgCisgICBsb3ctbGV2ZWwgaW50ZXJw
cmV0ZXIuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUoSklUKSAmJiAo
T1MoREFSV0lOKSAmJiAhUExBVEZPUk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkg
fHwgQ1BVKEFSTV9USFVNQjIpKQorI2RlZmluZSBFTkFCTEVfTExJTlQgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKKy8qIEVuYWJsZSB0aGUg
REZHIEpJVCBvbiBYODYgYW5kIFg4Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBhbmQgR05VL0xp
bnV4LiAqLworI2lmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRGT1JNKE1BQykg
fHwgT1MoTElOVVgpKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKy8qIEVuYWJs
ZSB0aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8KKyNpZiBDUFUo
QVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisj
ZW5kaWYKKyNlbmRpZgorCisvKiBQcm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVlcyB1c2VkIGJ5
IEpJVCBjb2RlLiBERkdfSklUIGRlcGVuZHMgb24gaXQsIGJ1dCB5b3UKKyAgIGNhbiBlbmFibGUg
aXQgbWFudWFsbHkgd2l0aCBERkcgdHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1c2UgaXQgYXMg
YSBzdGFuZGFsb25lCisgICBwcm9maWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJvYmFibHkgd2Fu
dCB0byBhbHNvIGVuYWJsZSBWRVJCT1NFX1ZBTFVFX1BST0ZJTEUKKyAgIGJlbG93LiAqLworI2lm
ICFkZWZpbmVkKEVOQUJMRV9WQUxVRV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19KSVQpCisjZGVm
aW5lIEVOQUJMRV9WQUxVRV9QUk9GSUxFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxFUikKKyNkZWZp
bmUgRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcpCisjZGVmaW5lIEVOQUJMRV9TSU1QTEVfSEVB
UF9QUk9GSUxJTkcgMAorI2VuZGlmCisKKy8qIENvdW50cyB1c2VzIG9mIHdyaXRlIGJhcnJpZXJz
IHVzaW5nIHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KKyAgIHNldCBFTkFCTEVf
U0FNUExJTkdfQ09VTlRFUlMgdG8gMS4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfV1JJVEVfQkFS
UklFUl9QUk9GSUxJTkcpCisjZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORyAw
CisjZW5kaWYKKworLyogRW5zdXJlIHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIGludGVycHJl
dGVyIGhhcyBiZWVuIGVuYWJsZWQuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0NMQVNTSUNfSU5U
RVJQUkVURVIpICYmICFFTkFCTEUoSklUKQorI2RlZmluZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBS
RVRFUiAxCisjZW5kaWYKKyNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFTU0lDX0lOVEVS
UFJFVEVSKSkKKyNlcnJvciBZb3UgaGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBleGVjdXRpb24g
bW9kZWwgZW5hYmxlZCB0byBidWlsZCBKU0MKKyNlbmRpZgorCisjaWYgQ1BVKFNINCkgJiYgUExB
VEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisKKy8qIENvbmZpZ3VyZSB0
aGUgSklUICovCisjaWYgQ1BVKEFSTSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZU
X01PRFVMTykgJiYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDUpCisjZGVmaW5lIEVOQUJMRV9KSVRf
VVNFX1NPRlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSB8fCBDUFUo
WDg2XzY0KSB8fCBDUFUoTUlQUykKKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VTRV9TT0ZUX01P
RFVMTykKKyNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQorI2VuZGlmCisjZW5k
aWYKKworI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIEpTQ19IT1NUX0NB
TEwgX19mYXN0Y2FsbAorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQorI2RlZmluZSBK
U0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCisjZWxzZQorI2RlZmluZSBK
U0NfSE9TVF9DQUxMCisjZW5kaWYKKworLyogQ29uZmlndXJlIHRoZSBpbnRlcnByZXRlciAqLwor
I2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAwLCAwLCAwKSAm
JiBkZWZpbmVkKF9fR05VQ19fKSkKKyNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKKyNlbmRp
ZgorI2lmIEhBVkUoQ09NUFVURURfR09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIp
CisjZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2Vu
ZGlmCisKKy8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEgdG8gdHJhY2Ug
UmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLworI2RlZmluZSBFTkFC
TEVfUkVHRVhQX1RSQUNJTkcgMAorCisvKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1lIC0gdHVy
bmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLworI2lmIFBMQVRGT1JN
KENIUk9NSVVNKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAorCisjZWxpZiBFTkFCTEUoSklU
KSAmJiAhZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAx
CisKKy8qIFNldHRpbmcgdGhpcyBmbGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdpdGggaW50ZXJw
cmV0ZXIgcmVzdWx0cy4gKi8KKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAKKyNlbmRp
ZgorCisjaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQorI2RlZmluZSBFTkFCTEVf
QVNTRU1CTEVSIDEKKyNlbmRpZgorCisvKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0byB1c2U7IHdl
IG9ubHkgbmVlZCBhbiBleGVjdXRhYmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1ibGVyIGlzIGNv
bXBpbGVkIGluLgorICAgT24geDg2LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBtbWFwLCBvbiBv
dGhlciBwbGF0Zm9ybXMgd2UgbW1hcCBvbiBkZW1hbmQuICovCisjaWYgRU5BQkxFKEFTU0VNQkxF
UikKKyNpZiBDUFUoWDg2XzY0KSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9FWEVD
VVRBQkxFX0FMTE9DQVRPUl9GSVhFRCAxCisjZWxzZQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJM
RV9BTExPQ0FUT1JfREVNQU5EIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfUEFOX1NDUk9MTElORykgJiYgT1MoV0lORE9XUykKKyNkZWZpbmUgRU5BQkxFX1BBTl9TQ1JP
TExJTkcgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1NDUk9MTElORykK
KyNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAwCisjZW5k
aWYKKworLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9uIGZvciBYTUxE
b2N1bWVudFBhcnNlciAqLworLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50YXRpb24gZm9y
IFhTTFRQcm9jZXNzb3IgKi8KKyNpZiBQTEFURk9STShRVCkKKyNpZiAhVVNFKExJQlhNTDIpCisj
ZGVmaW5lIFdURl9VU0VfUVhNTFNUUkVBTSAxCisjZGVmaW5lIFdURl9VU0VfUVhNTFFVRVJZIDEK
KyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisvKiBDb21wbGV4IHRleHQgZnJh
bWV3b3JrICovCisjaWZuZGVmIEJVSUxESU5HX09OX0xFT1BBUkQKKyNkZWZpbmUgV1RGX1VTRV9B
VFNVSSAwCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNlbHNlCisjZGVmaW5lIFdURl9V
U0VfQVRTVUkgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAwCisjZW5kaWYKKyNlbmRpZgor
CisvKiBBY2NlbGVyYXRlZCBjb21wb3NpdGluZyAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNF
KSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZf
VVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKKyNlbmRpZgorCisvKiBDb21wb3NpdGluZyBv
biB0aGUgVUktcHJvY2VzcyBpbiBXZWJLaXQyICovCisjaWYgUExBVEZPUk0oUVQpCisjZGVmaW5l
IFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShN
QUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9STShJT1MpCisj
ZGVmaW5lIFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKKyNlbmRpZgor
CisjaWYgIUVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpICYmICgoT1MoVU5JWCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkp
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpKQorI2RlZmluZSBFTkFCTEVfUExV
R0lOX1BBQ0tBR0VfU0lNUExFX0hBU0ggMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgRU5BQkxF
X1RIUkVBREVEX1NDUk9MTElORyAxCisjZW5kaWYKKworLyogU2V0IHVwIGEgZGVmaW5lIGZvciBh
IGNvbW1vbiBlcnJvciB0aGF0IGlzIGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQgZXJyb3IgLS0g
dGh1cyB0aGUgc3BhY2UgYWZ0ZXIgRXJyb3IuICovCisjZGVmaW5lIFdURl9QTEFURk9STV9DRk5F
VFdPUksgRXJyb3IgVVNFX21hY3JvX3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRXT1JLCisKKy8q
IEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxsIHBsYXRmb3Jt
cyBhbmQgZ2V0IHJpZCBvZiB0aGUgZGVmaW5lLiAqLworI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZf
VVNFX1BMQVRGT1JNX1NUUkFURUdJRVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXSU4pCisj
ZGVmaW5lIFdURl9VU0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2RlZmluZSBXVEZfVVNF
X0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworLyogR2VvbG9jYXRpb24g
cmVxdWVzdCBwb2xpY3kuIHByZS1lbXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJlIHVzZXIgcGVy
bWlzc2lvbiBiZWZvcmUgYWNxdWlyaW5nIGxvY2F0aW9uLiAqLworI2RlZmluZSBXVEZfVVNFX1BS
RUVNUFRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTiAxCisKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyNk
ZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQorI2RlZmlu
ZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKKyNlbGlmICFkZWZpbmVkKEVOQUJMRV9U
SFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfT1BFTk1QIDEKKyNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQorI2RlZmlu
ZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQorI2VuZGlmCisKKyNpZiBFTkFCTEUoR0xJQl9T
VVBQT1JUKQorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgorI2VuZGlmCisKKy8q
IEZJWE1FOiBUaGlzIGRlZmluZSB3b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEgaXMgZnVsbHkg
bGFuZGVkLiBIb3dldmVyLCAKKyAgIHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1cHBvcnQgc3Vi
LXByb2plY3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRlcnMKKyAgIHRvIFdURiBjYXVz
ZXMgbWFueSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBhZGRyZXNzIHRo
ZSBidWlsZAorICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KKyNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkKKyNkZWZpbmUgV1RGX1VTRV9F
WFBPUlRfTUFDUk9TIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAwCisj
ZW5kaWYKKworI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBMQVRGT1JNKEdU
SykgfHwgUExBVEZPUk0oRUZMKQorI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlOX1NPQ0tFVFMg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgQ09N
UElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIp
KQorI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQorI2RlZmluZSBF
TkFCTEVfUEFSQUxMRUxfR0MgMQorI2VuZGlmCisKKyNpZm5kZWYgTkRFQlVHCisjaWZuZGVmIEVO
QUJMRV9HQ19WQUxJREFUSU9OCisjZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEKKyNlbmRp
ZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgV1RG
X1VTRV9BVkZPVU5EQVRJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKKyNkZWZpbmUgV1RGX1VTRV9DT1JF
TUVESUEgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9S
TShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNk
ZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgV1RGX1VT
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUgSEFWRV9JTlZFUlRFRF9XSEVF
TF9FVkVOVFMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFdURl9VU0Vf
Q09SRUFVRElPIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaWYgIWRlZmlu
ZWQoV1RGX1VTRV9WOCkKKyNkZWZpbmUgV1RGX1VTRV9WOCAxCisjZW5kaWYKKyNlbmRpZiAvKiBQ
TEFURk9STShDSFJPTUlVTSkgKi8KKworI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5l
IFdURl9VU0VfVjggMAorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICovCisKKy8qIFVz
aW5nIFY4IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLworI2RlZmluZSBX
VEZfVVNFX0pTQyAhV1RGX1VTRV9WOAorCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpICYmIFBM
QVRGT1JNKE1BQykKKyNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCisjZGVmaW5lIFdURl9VU0VfV1RG
VVJMIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAhUExBVEZPUk0o
UVQpCisjZGVmaW5lIFdURl9VU0VfWkxJQiAxCisjZW5kaWYKKworI2VuZGlmIC8qIFdURl9QbGF0
Zm9ybV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ3ZGMxMzdjYTkxMTc1NDJjZjdjMGY1
ZTdmOGU1NmY2ZDAxZmU2NTYuLmM4NGMzMTM5NjIwMGM3YTFkZmFlZDIwNjA4YmFhZWE2MjU4MWM3
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNiBAQAogU0VUKFdlYkNvcmVfSU5D
TFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfSIKKyAgICAiJHtXVEZfRElSfSIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9maWxlc3lzdGVtIgogICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL2dlb2xvY2F0aW9uIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2lu
ZGV4ZWRkYiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDYyZjRiMzExNjJlNWFiZGIyZDRjMGEyYTcz
NzkxYjUzYWVhYzlkMWMuLmYxM2VjMjY5MDZlOWY2NGZlNjlmZTRkYTEwMDQ4ZmFhMzBmNDE5NWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMSw0ICsxLDUgQEAKIFNFVChXZWJLaXRfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICIke1dURl9ESVJ9IgogICAgICIke1dFQktJVF9ESVJ9IgogICAgICIk
e1dFQkNPUkVfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJkYXRhYmFzZSIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRhYmFzZV9wLmggYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCmluZGV4IGVjMDNlYTVlMjAyOWQ3OGY2
NDk0OTQ5NDQ3MDM5MDQxZjc2YTM2Y2UuLjI5ODQ3MDQ0MjU1MGM4OTRlZmY4ZDBjMzc4ZTMzMWE5
ZWY4OTgzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJkYXRhYmFzZV9w
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFiYXNlX3AuaApAQCAtMjQsNyAr
MjQsNyBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogCiBjbGFzcyBRV2ViRGF0YWJhc2VQcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmggYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCmluZGV4IDcxMTVlYjJjNTBiOTE5
Y2YyODU4NWIxNDE5MjBhM2Q0MDQ1NGQ1ZjQuLjhjMThlMjNlZDg0N2Q3YTkxODRhYTFmOTBlODFl
NDQ0MTAyMzJjNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzY3JpcHR3
b3JsZF9wLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlwdHdvcmxkX3AuaApA
QCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBfUVdFQlNDUklQVFdPUkxEX1BfSF8KICNkZWZpbmUg
X1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAKLSNpbmNsdWRlICJSZWZQdHIuaCIKKyNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVy
V29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmln
aW5fcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaAppbmRl
eCBjZGM5M2JkMTQxYWNiYzQxZmExMDcwYTBhZmVkMzZlY2U3MTU2ZTE1Li4xYjY0YzQ5ZjBjMTQy
MDllZjAxODU0NTg2MWFjMmQzYzU3NjUyM2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJzZWN1cml0eW9yaWdpbl9wLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNkZWZpbmUgX1dFQlNFQ1VS
SVRZT1JJR0lOX1BfSF8KIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAi
UmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBjbGFzcyBRV2ViU2VjdXJpdHlP
cmlnaW5Qcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaCBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaAppbmRleCBj
OTRkNjFhMzI5NDBhNmE0M2Q1NmU5ZGVlOWU0MTgyOGI3ZDI0MWRjLi42YzdkMDBmODVkNzg0OWY1
NWI4MjE1OTY0NzA3ZjkxZmE5NTRlNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC0zMiwxMCArMzIsMTAgQEAKIAog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaCIKLSNpbmNsdWRlICJPd25QdHIuaCIKLSNpbmNsdWRlICJQYXNzT3duUHRy
LmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FTdHJpbmc+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAog
Y2xhc3MgUVdlYlBhZ2U7CiBjbGFzcyBRV2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmggYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCmluZGV4IGVhMTExZmE1Y2Zl
MWMzNjJiOTRjY2M0ZmMwZDM1MWRlOTg1MmJlOTMuLjI5ODBkNDU4MjRhNjdlZGVlNDk5MTJhYTRh
OGUyZThhZDk0YTM5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvUXRGYWxsYmFja1dlYlBvcHVwLmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaApAQCAtMjAsOCArMjAsOCBAQAogI2lmbmRlZiBRdEZh
bGxiYWNrV2ViUG9wdXBfaAogI2RlZmluZSBRdEZhbGxiYWNrV2ViUG9wdXBfaAogCi0jaW5jbHVk
ZSAiUGxhdGZvcm0uaCIKICNpbmNsdWRlICJxd2Via2l0cGxhdGZvcm1wbHVnaW4uaCIKKyNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogI2luY2x1ZGUgPFFDb21ib0JveD4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmggYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaAppbmRleCBiY2EyZTVm
MzgyYmYyYWMwY2M2NDA0YjFiMGU1YTgxYmVlM2JlODExLi40MjY0NzU3NjY3ODIyNGI0NThjYjYw
NjkxNTU1ZTdjYjBlZGRkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1F0V2ViQ29tYm9Cb3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1F0V2ViQ29tYm9Cb3guaApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBRdFdlYkNvbWJv
Qm94X2gKICNkZWZpbmUgUXRXZWJDb21ib0JveF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybS5oIgor
I2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiAjaW5jbHVkZSA8UUNvbWJvQm94PgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9leHBlcmlt
ZW50YWwucHJpIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9leHBlcmltZW50YWwvZXhw
ZXJpbWVudGFsLnByaQppbmRleCA1ODM3MjZmNjJjZmNiNmJhODk2YjU1NTlhOTllYmQ0ZmU3Y2Ux
YTQ5Li4xNTM4NmI4MDcxZjY3NjcyMzZhZTU5NDZjZDYzZmQ1ZTk0ZmEzNWJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9leHBlcmltZW50YWwu
cHJpCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4cGVy
aW1lbnRhbC5wcmkKQEAgLTQzLDcgKzQzLDggQEAgSU5DTFVERVBBVEggKz0gXAogICAgIC4uLy4u
Ly4uLy4uL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlIFwKICAgICAuLi8uLi8uLi8uLi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lIFwKICAgICAuLi8uLi8uLi8uLi9XZWJLaXQyL1BsYXRmb3JtIFwK
LSAgICAuLi8uLi8uLi8uLi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMKKyAgICAuLi8uLi8uLi8u
Li9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMgXAorICAgIC4uLy4uLy4uLy4uL1dURgogCiB0YXJn
ZXQucGF0aCA9ICQkW1FUX0lOU1RBTExfSU1QT1JUU10vJCR7VEFSR0VULm1vZHVsZV9uYW1lfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkgYi9T
b3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKaW5kZXggZTM4OWUzOGViMDg5
MzJkNWY2YmE5NjZhYTVmNzhiMWJhNTZlMTZkYi4uYTJmNzdlZTdjN2Y2ZjUxZWZiY2QzY2Y5MGNl
NGQ0YjJjMmNmOGE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9w
dWJsaWMucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnByaQpA
QCAtNDQsNyArNDQsOCBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAgLi4vLi4vLi4vV2ViS2l0Mi9T
aGFyZWQvcXQgXAogICAgIC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlIFwKICAgICAuLi8uLi8uLi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lIFwKLSAgICAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS93dGYK
KyAgICAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS93dGYgXAorICAgIC4uLy4uLy4uL1dURgogCiBT
T1VSQ0VTICs9IHBsdWdpbi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC90ZXN0
cy9NSU1FU25pZmZpbmcvTUlNRVNuaWZmaW5nLnBybyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
TUlNRVNuaWZmaW5nL01JTUVTbmlmZmluZy5wcm8KaW5kZXggZmU1MGYxYjM0M2E3OTY2OGIwMjU3
Y2E2ODhhY2JkMTk1Y2ZmNDIyMS4uYzg1NmE2ZTdkYTBkNDk3NTVhMGZhZWEzYjY3YmI0Mjg4ODBl
OWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9NSU1FU25pZmZpbmcvTUlN
RVNuaWZmaW5nLnBybworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL01JTUVTbmlmZmluZy9N
SU1FU25pZmZpbmcucHJvCkBAIC0xMCw2ICsxMCw3IEBAIEhFQURFUlMgKz0gXAogSU5DTFVERVBB
VEggKz0gXAogICAgIC4uLy4uLy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yayBcCiAgICAg
Li4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUgXAotICAgIC4uLy4uLy4uLy4uL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUKKyAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lIFwKKyAg
ICAuLi8uLi8uLi8uLi9XVEYKIAogUkVTT1VSQ0VTICs9IHJlc291cmNlcy5xcmMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaAppbmRleCBkMTU2NWJlYzIw
ZGRlYWEwMzRiMzgzODIxOTFiZjkxMGMxOWQwNjA1Li40NTdkN2JlMjdhZjAzZjhjNGEyZGY0M2Fk
YTI3OTU1MzY5MGZhNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXRO
ZXR3b3JrUmVwbHlEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29y
a1JlcGx5RGF0YS5oCkBAIC0yNiwxMCArMjYsMTAgQEAKICNpZm5kZWYgUXROZXR3b3JrUmVwbHlE
YXRhX2gKICNkZWZpbmUgUXROZXR3b3JrUmVwbHlEYXRhX2gKIAotI2luY2x1ZGUgIk5vbmNvcHlh
YmxlLmgiCi0jaW5jbHVkZSAiUmVmQ291bnRlZC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5o
IgogI2luY2x1ZGUgPFFOZXR3b3JrQWNjZXNzTWFuYWdlcj4KKyNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcAppbmRleCBmMjEwNjYwZmQ0ZTUz
MzYxNWMzYTJjZjdhMDA3N2E0OTFlNTc3YzUyLi44YTgwZmIzNjk5MWZmNThiZDY0ZmY2ZWUxOGY1
Njk5YWUyZTNlOTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3
b3JrUmVxdWVzdERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdv
cmtSZXF1ZXN0RGF0YS5jcHAKQEAgLTI3LDExICsyNywxMSBAQAogI2luY2x1ZGUgIlF0TmV0d29y
a1JlcXVlc3REYXRhLmgiCiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc1F0LmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm0uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlIDxRTmV0d29ya1JlcGx5PgogI2luY2x1ZGUgPFFOZXR3b3JrUmVxdWVzdD4KICNpbmNsdWRl
IDxRVXVpZD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5oCmluZGV4IDA4MmQ0OTljYzI2OWNhMTliZDNh
MmQ2Y2I3YWY1ZGVmZjBiMjQ3NGUuLjk0MGJmODE1ZjYyNTMxZmIzMTI0NWNjOTM3MzVlYzljZDY2
ZTIwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1
ZXN0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0
RGF0YS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFF0TmV0d29ya1JlcXVlc3REYXRhX2gK
ICNkZWZpbmUgUXROZXR3b3JrUmVxdWVzdERhdGFfaAogCi0jaW5jbHVkZSAiUmVmQ291bnRlZC5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFr
ZUxpc3RzLnR4dAppbmRleCAzYzFmZWFiYmQ5MGUxNDBiMjdlZGFmNGRlMThkMTFhNTRiNjA0Zjlk
Li5jYWJlNGNmMWVjOTk0MjQyOTY0ZTk1NjI5OWU5OGIwYjllMDRmMjY2IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC00MSw2ICs0MSw3IEBAIFNFVChEdW1wUmVu
ZGVyVHJlZV9MSUJSQVJJRVMKICkKIAogU0VUKER1bXBSZW5kZXJUcmVlX0lOQ0xVREVfRElSRUNU
T1JJRVMKKyAgICAke1dURl9ESVJ9CiAgICAgIiR7V0VCS0lUX0RJUn0vZWZsL2V3ayIKICAgICAk
e1dFQktJVF9ESVJ9L2VmbAogICAgICR7V0VCQ09SRV9ESVJ9CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8gYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KaW5kZXggNTY2MDRkNTE4NTZjM2RiOWRiMDA1MmFkYTlm
MmI2ODViNWRkYTA2MC4uNTRiY2RiZmUwYWU5OTRhODhkNGU1ZWI1YTlhOWI1NGQ3MTc0OWMzZSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwpAQCAtMTUsNyAr
MTUsOCBAQCBXRUJLSVQgKz0gd3RmIHdlYmNvcmUKIAogSU5DTFVERVBBVEggKz0gXAogICAgICQk
UFdELy4uIFwKLSAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQgXAorICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dURgogCiBRVCA9IGNv
cmUgZ3VpIG5ldHdvcmsgdGVzdGxpYiB3ZWJraXQKIG1hY3g6IFFUICs9IHhtbApkaWZmIC0tZ2l0
IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybyBiL1Rvb2xzL1F0VGVzdEJy
b3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KaW5kZXggNjI4ZGMxZjQyMmIxZjQxNDE3ZGM3YjFkMWQ4
NTIzMGQ5NTNiMTk3YS4uNmQ4YTQxYjcyM2NhNDllMGE2NWRiMGRlNzNiODMzYmIzZTE4YzAwZiAx
MDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybworKysgYi9U
b29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvCkBAIC05LDYgKzksNyBAQCBURU1Q
TEFURSA9IGFwcAogSU5DTFVERVBBVEggKz0gXAogICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydCBcCiAgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC8gXAorICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNl
L1dURgogCiBsb2FkKGZlYXR1cmVzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IDhhNzQ5YWQ0YmE3OTg0
MDllY2NkNmRiNWFlNjhlNmZjMTE0YjczNzIuLmRkMTQ1ZDM4Zjg2MTg2NTljZmY1YzRiMDBlYzRm
ODcxYWM0ZmQ4MmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBi
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC00OTYsNyArNDk2LDcgQEAgc3ViIHVubGlu
a1plcm9GaWxlcygpCiBteSBAcHJvamVjdHMgPSAoIlNvdXJjZS9KYXZhU2NyaXB0Q29yZSIsICJT
b3VyY2UvV2ViQ29yZSIsICJTb3VyY2UvV2ViS2l0Iik7CiAKICMgQnVpbGQgV1RGIGFzIGEgc2Vw
YXJhdGUgc3RhdGljIGxpYnJhcnkgb24gcG9ydHMgd2hpY2ggc3VwcG9ydCBpdC4KLXNwbGljZSBA
cHJvamVjdHMsIDAsIDAsICJTb3VyY2UvV1RGIiBpZiBpc0FwcGxlTWFjV2ViS2l0KCk7CitzcGxp
Y2UgQHByb2plY3RzLCAwLCAwLCAiU291cmNlL1dURiIgaWYgaXNBcHBsZU1hY1dlYktpdCgpIG9y
IGlzQXBwbGVXaW5XZWJLaXQoKTsKIAogZm9yIG15ICRkaXIgKEBwcm9qZWN0cykgewogICAgIGlm
ICghIC1kICRkaXIpIHsKZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50
eHQKaW5kZXggNGY4MWE0NTQyMDc0YzA5YjA2ZjA5ZGYwZjcyOTc5Njg1NGM4ZDQ2Yy4uYTljMWJh
OWE0NGNkNTRkMzc2YjRmNjRkZTZkNGYxNTE3NzcwYjNlMSAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0
cy50eHQKKysrIGIvQ01ha2VMaXN0cy50eHQKQEAgLTI3LDYgKzI3LDcgQEAgSUYgKE9OTFlfQlVJ
TERfSkFWQVNDUklQVENPUkUpCiAgICAgU0VUKEVOQUJMRV9UT09MUyBPRkYpCiBFTkRJRiAoKQog
CitTRVQoV1RGX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV1RGIikKIFNFVChKQVZB
U0NSSVBUQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL0phdmFTY3JpcHRDb3Jl
IikKIFNFVChXRUJDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViQ29yZSIp
CiBTRVQoV0VCS0lUX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0IikKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhYmVlNTBkMmY0ZjA0YWI1NWI4
ZDQ0YjdjZjRjNDM5MGFmZjM4YmQwLi45Y2VhMjkzZjYxYjk1MWM0Y2M4MzljOGI0ZGY5ZjMzZTE5
MTEwN2UxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAg
ICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0Q29yZSB0byBTb3VyY2UvV1RG
L3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OiBEZWZpbmUgV1RGX0RJUi4KKwogMjAxMi0wMy0yMCAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENvbnZlcnQgaGFzU3BlbGxp
bmdNYXJrZXIgdG8gdXNlIEludGVybmFscyBpbnRlcmZhY2UuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132934</attachid>
            <date>2012-03-20 17:07:36 -0700</date>
            <delta_ts>2012-03-20 22:48:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80911-20120320170735.patch</filename>
            <type>text/plain</type>
            <size>98256</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Y2E2NzZhZDAyOThjOTQ2YjI5ZDhhZTcyMmIyNGNlNWFmNGQwMmUxLi41NzAyZjA1MjIyNTY0NWE1
ZDFkMDZjODkwMDU2OGVjODJhZTE2MmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJj
ZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSB0aGUgdmFyaW91cyBidWlsZCBzeXN0ZW1zIHRvIGRlcGVuZCBvbiBTb3VyY2UvV1RG
IGhlYWRlcnMKKyAgICAgICAgYXMgd2VsbCBhcyByZW1vdmUgcmVmZXJlbmNlcyB0byBQbGF0Zm9y
bS5oIChzaW5jZSBpdCdzIG5vdyBtb3ZlZCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiB3dGYvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTItMDMtMjAgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxz
ZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdURi1yZWxhdGVkIFdpbmRvd3MgcHJv
amVjdCBmaWxlcyBvdXQgb2YgSmF2YVNjcmlwdENvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZmFlZjgwMTUwM2M3YTVlMmFm
YTgxNGYyZWVlYzI5YWRiNGVmZWU2Zi4uOTY4NzRmM2IxNDYwOWIzY2E1NTZmN2I0ZmVkZDU0NDk0
ZmZjZTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFT
Y3JpcHRDb3JlIHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBidWlsZCBzeXN0ZW1zIHRvIGFjY291bnQgZm9yIHRo
ZSBuZXcgbG9jYXRpb24gb2YgUGxhdGZvcm0uaAorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBXVEYuZ3lwaToKKyAgICAgICAgKiBXVEYucHJvOgorICAgICAgICAq
IFdURi52Y3Byb2ovV1RGLnZjcHJvajoKKyAgICAgICAgKiBXVEYudmNwcm9qL3dvcmstYXJvdW5k
LXZzLWRlcGVuZGVuY3ktdHJhY2tpbmctYnVncy5weToKKyAgICAgICAgKHJlYWN0X3RvX3ZzcHJv
cHNfY2hhbmdlcyk6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogY29uZmlnLmg6IEkgZG9uJ3QgdGhpbmsgdGhpcyBjaGFuZ2UgaXMgMTAwJSBjb3Jy
ZWN0IChidXQgc2VlbWVkIHRvIGJlIG5lZWRlZCB0byBtYWtlIHF0LXdrMiBidWlsZCkKKyAgICAg
ICAgIC0gVGhpcyBkZXBlbmRlbmN5IG9uIEpTQyBzaG91bGQgYmUgcmVtb3ZlZCByZWdhcmRsZXNz
IChpbiBhIGxhdGVyIHBhdGNoKS4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaC4KKwogMjAxMi0wMy0yMCAg
U3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV1RG
LXJlbGF0ZWQgV2luZG93cyBwcm9qZWN0IGZpbGVzIG91dCBvZiBKYXZhU2NyaXB0Q29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDljYTc2MTI4Y2EyNzJmYjM2YTc4YWQ0NDg0NDkyNjRhZmJkOGIxM2MuLjMyNmI1
ZjM0NjQ0MjQ5ODliOWE3YmZjNWU5OTQ2MmU3YWFhMGYwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMi0wMy0yMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSB3dGYvUGxhdGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9X
VEYvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICAtIExvb2sgZm9yIGhlYWRlcnMgaW4gU291cmNlL1dU
RiBhcyB3ZWxsLgorCiAyMDEyLTAzLTIwICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldXNlIGJ1ZmZlciBhbGxvY2F0aW9uIGlmIGNhbnZhcyBzaXpl
IGRvZXMgbm90IGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNzM4ZmEzMmU2NTQyNjljM2RmNmRkNWI5ZWM3
ODk2NWNjZWQ5NzI1Li4wYzUyMzg5ZTkwNmRjM2Y2YTcyZjlhOTczYjZhNDA0YjEwY2NkYmFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNA
d2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlw
dENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogTG9vayBmb3IgaGVhZGVycyBpbiBTb3Vy
Y2UvV1RGLgorCiAyMDEyLTAzLTIwICBDaGFybGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9i
aWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gUmVtb3ZlIE91dE9mTWVtb3J5SGFu
ZGxlciBmcm9tIHRoZSBidWlsZCBzeXN0ZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOTIxZTFlNjA5NDcz
NTQ0YjkxZWMwNzBlZDg0N2U4N2JjZWY1ZWM5MC4uOGYxNGE5MzVlZTJmMDIxNGEzZjU5NGRlYTE4
NWZiNDZmOTU1NmM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wMy0y
MCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB3dGYvUGxh
dGZvcm0uaCBmcm9tIEphdmFTY3JpcHRDb3JlIHRvIFNvdXJjZS9XVEYvd3RmCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkxMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBXVEYgaGVhZGVyIGluY2x1
ZGUgcGF0aHMgc2luY2UgYWx0aG91Z2gKKyAgICAgICAgU291cmNlL1dURiBpcyBpbmNsdWRlZCwg
bm8gbG9uZ2VyIGFyZSBhbGwgdGhlCisgICAgICAgIHN1YmRpcmVjdG9yaWVzICh0aHVzICJSZWZQ
dHIuaCIgY2FuJ3Qgd29yaykuCisKKyAgICAgICAgKiBBcGkvcXdlYmRhdGFiYXNlX3AuaDoKKyAg
ICAgICAgKiBBcGkvcXdlYnNjcmlwdHdvcmxkX3AuaDoKKyAgICAgICAgKiBBcGkvcXdlYnNlY3Vy
aXR5b3JpZ2luX3AuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guaDoKKyAgICAgICAgKiBkZWNsYXJh
dGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnByaToKKyAgICAgICAgKiBkZWNsYXJhdGl2
ZS9wdWJsaWMucHJpOgorICAgICAgICAqIHRlc3RzL01JTUVTbmlmZmluZy9NSU1FU25pZmZpbmcu
cHJvOgorCiAyMDEyLTAzLTE5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yICJtYWdpYyIgaWZyYW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjlj
YTRlNDQ1MTkxMWRkZjZkMTIzYjZlOThhMDU3OTA0MGEzNGE3MS4uNmVhMTYwZjZiZTA2ZTA4ZTY2
ZWZhNTg5YjJlNjJkMTViNWFkN2YzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0
Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRvIG5vdCBk
ZXBlbmQgb24gIkZvby5oIiBpbmNsdWRlcyBmb3IgV1RGIGhlYWRlcnMuCisKKyAgICAgICAgKiBT
aGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmg6CisgICAgICAgICogU2hhcmVkL3F0L1F0TmV0
d29ya1JlcXVlc3REYXRhLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVz
dERhdGEuaDoKKwogMjAxMi0wMy0yMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCB1c2UgcHJpdmF0ZSB0ZW1wb3JhcnkgYW5k
IGNhY2hlIGRpcmVjdG9yaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
ZDIwODY4OGVhYzlmYjNjODNjYWJjOGZiOTY2NjkzYmFhZjdkZjY3Zi4uZGJlNDJjOGVlY2FlN2Ji
ODVlZTBmYjdkZjFkNWUxYmMwYzQ3NjQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMSw1ICsxLDYgQEAKIFNFVChKYXZhU2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0iCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7
SkFWQVNDUklQVENPUkVfRElSfSIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0FQSSIKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzIgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKaW5kZXggZWVhY2UxNzY0OTg5ZGIxNDkwMjVmOTNk
OWQ4NTk5NmQ2OGVkNmFjOS4uNGE4ZWNkNDJmZWI0N2I1OGJjMGY1OTg2MTJmZTI5MjZhNjk2MWJh
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCkBAIC0xMiw2ICsx
Miw3IEBAIEpBVkFTQ1JJUFRDT1JFX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUiA9ICQke1JPT1RfQlVJ
TERfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRT
T1VSQ0VfRElSIFwKICAgICAkJFNPVVJDRV9ESVIvLi4gXAorICAgICQkU09VUkNFX0RJUi8uLi9X
VEYgXAogICAgICQkU09VUkNFX0RJUi9hc3NlbWJsZXIgXAogICAgICQkU09VUkNFX0RJUi9ieXRl
Y29kZSBcCiAgICAgJCRTT1VSQ0VfRElSL2J5dGVjb21waWxlciBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlQ29tbW9uLnZzcHJvcHMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlQ29tbW9uLnZzcHJv
cHMKaW5kZXggYjBiNDVkMzhkNDQzOTg0ZGUxYjFhMGU0ZDM2MTFkZDQ2ZDNjMDAwMS4uZWQxMGQy
NTQ3NTYxMjMzMTM1NDRkOWUwMmM3N2UwNzNjNDJhNGY4YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZUNvbW1vbi52c3Byb3BzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVDb21tb24udnNwcm9w
cwpAQCAtNiw3ICs2LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialxKYXZhU2NyaXB0Q29yZVxEZXJpdmVkU291cmNlc1wmcXVvdDs7Li4vLi4vOy4u
Ly4uL0FQSS87Li4vLi4vcGFyc2VyLzsuLi8uLi9ieXRlY29tcGlsZXIvOy4uLy4uL2RmZy87Li4v
Li4vaml0LzsuLi8uLi9sbGludC87Li4vLi4vcnVudGltZS87Li4vLi4vdG9vbHMvOy4uLy4uL2J5
dGVjb2RlLzsuLi8uLi9pbnRlcnByZXRlci87Li4vLi4vd3RmLzsuLi8uLi9wcm9maWxlcjsuLi8u
Li9hc3NlbWJsZXIvOy4uLy4uL2RlYnVnZ2VyLzsuLi8uLi9oZWFwLzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRl
JnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRD
b3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUm
cXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDsi
CisJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcSmF2YVNjcmlwdENvcmVcRGVyaXZlZFNvdXJjZXNcJnF1b3Q7Oy4uLy4uLzsu
Li8uLi9BUEkvOy4uLy4uL3BhcnNlci87Li4vLi4vYnl0ZWNvbXBpbGVyLzsuLi8uLi9kZmcvOy4u
Ly4uL2ppdC87Li4vLi4vbGxpbnQvOy4uLy4uL3J1bnRpbWUvOy4uLy4uL3Rvb2xzLzsuLi8uLi9i
eXRlY29kZS87Li4vLi4vaW50ZXJwcmV0ZXIvOy4uLy4uL3d0Zi87Li4vLi4vcHJvZmlsZXI7Li4v
Li4vYXNzZW1ibGVyLzsuLi8uLi9kZWJ1Z2dlci87Li4vLi4vaGVhcC87JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGlu
Y2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVk
ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRl
XEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNs
dWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRo
cmVhZHMmcXVvdDsiCiAJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfX1NURF9DIgogCQlGb3Jj
ZWRJbmNsdWRlRmlsZXM9IklDVVZlcnNpb24uaCIKIAkvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAzYmY2NWZmYmViMmY0MzliMGQwNTk4ZmY1ZWRmOGMxY2QzYjVhOGE3Li4zNDhk
NmNkN2YyMTcxMmYyODQ3MDg0ZmQ5YzM1MWJjMTJlMTgwODRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTA5Myw3ICsxMDkzLDYgQEAKIAkJNjVDNjQ3QjMwOTNFRjhENjAwMjJD
MzgwIC8qIFJlZlB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZWZQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB9OwogCQk2NUM3QTE3MTBBOEVBQUNCMDBGQTM3RUEgLyogSlNXcmFwcGVyT2JqZWN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dyYXBwZXJPYmplY3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUM3QTE3MjBBOEVBQUNCMDBGQTM3RUEg
LyogSlNXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1dyYXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjVENkQ4N0Uw
OUI1QTMyRTAwMDJFNEQ3IC8qIFBsYXRmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NURGQzky
QTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaEZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYXNoRnVuY3Rpb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjVERkM5MkIwOEVBMTczQTAwRjcz
MDBCIC8qIEhhc2hNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGFzaE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IH07CiAJCTY1REZDOTJDMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoU2V0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hTZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpAQCAtMjE0MSw3ICsyMTQwLDYg
QEAKIAkJCQk0NERENDg1MjBGQUVBODUwMDBENkI0RUIgLyogUGFzc093blB0ci5oICovLAogCQkJ
CTY1ODBGNzk1MDk0MDcwNTYwMDgyQzIxOSAvKiBQYXNzUmVmUHRyLmggKi8sCiAJCQkJNjUxRENB
MDIxMzZBNkZBQjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCAqLywKLQkJCQk2NUQ2RDg3RTA5QjVB
MzJFMDAwMkU0RDcgLyogUGxhdGZvcm0uaCAqLywKIAkJCQlBN0Q2NDlBOTEwMTUyMjRFMDA5QjJF
MUIgLyogUG9zc2libHlOdWxsLmggKi8sCiAJCQkJMDg4RkE1QjkwRUY3NkQ0MzAwNTc4RTZGIC8q
IFJhbmRvbU51bWJlci5jcHAgKi8sCiAJCQkJMDg4RkE1QkEwRUY3NkQ0MzAwNTc4RTZGIC8qIFJh
bmRvbU51bWJlci5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQK
aW5kZXggNzI0MjAxMjhhN2FmNTkxNjg4YWQ0NGZlNTFiMGY1ODVlYTY3MmI2YS4uYWRhYjcyODZh
NzA5MzljZTI5N2IwNTkzMmI1ZDE4YTg0NGM2Y2NlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0NNYWtlTGlzdHMudHh0CkBAIC02OSw3ICs2OSw3IEBAIFNFVChXVEZfSEVBREVSUwogICAg
IFBhcmFsbGVsSm9ic0dlbmVyaWMuaAogICAgIFBhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgKICAg
ICBQYXJhbGxlbEpvYnNPcGVuTVAuaAotICAgIFBsYXRmb3JtLmgKKyAgICAke1dURl9ESVJ9L3d0
Zi9QbGF0Zm9ybS5oCiAgICAgUG9zc2libHlOdWxsLmgKICAgICBSYW5kb21OdW1iZXIuaAogICAg
IFJhbmRvbU51bWJlclNlZWQuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODM0YjUzOTg0ZjkzMzM1MDc0NWU4NzU0Y2NkYTQx
NzBjMGYwMjBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgL2Rldi9udWxsCkBAIC0x
LDEyMTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFdURl9QbGF0Zm9ybV9oCi0jZGVmaW5lIFdURl9QbGF0Zm9ybV9oCi0KLS8qIEluY2x1ZGUg
Y29tcGlsZXIgc3BlY2lmaWMgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0K
LS8qID09PT0gUExBVEZPUk0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFw
aGljcyBBUEksIGFuZAotICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBm
YXZvciBvZiBwbGF0Zm9ybSBhZGFwdGF0aW9uCi0gICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBt
YWNyb3MsIGFuZCB0b3AtbGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gPT09PSAqLwotI2RlZmluZSBQ
TEFURk9STShXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX1BMQVRGT1JNXyMjV1RGX0ZFQVRVUkUg
ICYmIFdURl9QTEFURk9STV8jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUGxhdGZvcm0gYWRh
cHRhdGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBl
bnZpcm9ubWVudC4gPT09PSAqLwotCi0vKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVj
dHVyZSAqLwotI2RlZmluZSBDUFUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9DUFVfIyNXVEZf
RkVBVFVSRSAgJiYgV1RGX0NQVV8jI1dURl9GRUFUVVJFKQotLyogSEFWRSgpIC0gc3BlY2lmaWMg
c3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUg
cHJlc2VudCBvciBub3QgKi8KLSNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFW
RV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCi0vKiBPUygpIC0gdW5kZXJs
eWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1s
ZXZlbCBzZXJ2aWNlcyBsaWtlIAotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBH
VUkgdG9vbGtpdCAqLwotI2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RGX09TXyMj
V1RGX0ZFQVRVUkUgICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQotCi0KLS8qID09PT0gUG9saWN5
IGRlY2lzaW9uIG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRp
Y3VsYXIgcG9ydC4gPT09PSAqLwotCi0vKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQt
cGFydHkgbGlicmFyeSBvciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCi0jZGVmaW5lIFVTRShXVEZf
RkVBVFVSRSkgKGRlZmluZWQgV1RGX1VTRV8jI1dURl9GRUFUVVJFICAmJiBXVEZfVVNFXyMjV1RG
X0ZFQVRVUkUpCi0vKiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdl
YktpdCAqLwotI2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dU
Rl9GRUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKLQotCi0vKiA9PT09IENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlID09PT0gKi8KLQotLyogVGhpcyBhbHNvIGRlZmlu
ZXMgQ1BVKEJJR19FTkRJQU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBh
cHByb3ByaWF0ZS4gKi8KLQotLyogQ1BVKEFMUEhBKSAtIERFQyBBbHBoYSAqLwotI2lmIGRlZmlu
ZWQoX19hbHBoYV9fKQotI2RlZmluZSBXVEZfQ1BVX0FMUEhBIDEKLSNlbmRpZgotCi0vKiBDUFUo
SUE2NCkgLSBJdGFuaXVtIC8gSUEtNjQgKi8KLSNpZiBkZWZpbmVkKF9faWE2NF9fKQotI2RlZmlu
ZSBXVEZfQ1BVX0lBNjQgMQotLyogMzItYml0IG1vZGUgb24gSXRhbml1bSAqLwotI2lmICFkZWZp
bmVkKF9fTFA2NF9fKQotI2RlZmluZSBXVEZfQ1BVX0lBNjRfMzIgMQotI2VuZGlmCi0jZW5kaWYK
LQotLyogQ1BVKE1JUFMpIC0gTUlQUyAzMi1iaXQgKi8KLS8qIE5vdGU6IE9ubHkgTzMyIEFCSSBp
cyB0ZXN0ZWQsIHNvIHdlIGVuYWJsZSBpdCBmb3IgTzMyIEFCSSBmb3Igbm93LiAgKi8KLSNpZiAo
ZGVmaW5lZChtaXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRl
ZmluZWQoX01JUFNfKSkgXAotICAgICYmIGRlZmluZWQoX0FCSU8zMikKLSNkZWZpbmUgV1RGX0NQ
VV9NSVBTIDEKLSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pCi0jZGVmaW5lIFdURl9DUFVfQklHX0VO
RElBTiAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX01JUFNfUElDIChkZWZpbmVkIF9fUElDX18pCi0j
ZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzCi0jZGVmaW5lIFdURl9NSVBTX0lTQSh2KSAoZGVm
aW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPT0gdikKLSNkZWZpbmUgV1RGX01J
UFNfSVNBX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0ggJiYgV1RGX01JUFNfQVJD
SCA+PSB2KQotI2RlZmluZSBXVEZfTUlQU19BUkNIX1JFViBfX21pcHNfaXNhX3JldgotI2RlZmlu
ZSBXVEZfTUlQU19JU0FfUkVWKHYpIChkZWZpbmVkIFdURl9NSVBTX0FSQ0hfUkVWICYmIFdURl9N
SVBTX0FSQ0hfUkVWID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5l
ZCBfX21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2luZ2xlX2Zsb2F0KQotI2Rl
ZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYgX19taXBzX2ZwciA9PSA2
NCkKLS8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8K
LSNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0jZW5kaWYg
LyogTUlQUyAqLwotCi0vKiBDUFUoUFBDKSAtIFBvd2VyUEMgMzItYml0ICovCi0jaWYgICBkZWZp
bmVkKF9fcHBjX18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQQ19fKSAgICAgXAotICAgIHx8
IGRlZmluZWQoX19wb3dlcnBjX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fcG93ZXJwYykgICBcCi0g
ICAgfHwgZGVmaW5lZChfX1BPV0VSUENfXykgXAotICAgIHx8IGRlZmluZWQoX01fUFBDKSAgICAg
IFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDKQotI2RlZmluZSBXVEZfQ1BVX1BQQyAxCi0jZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFBQQzY0KSAtIFBvd2VyUEMg
NjQtYml0ICovCi0jaWYgICBkZWZpbmVkKF9fcHBjNjRfXykgXAotICAgIHx8IGRlZmluZWQoX19Q
UEM2NF9fKQotI2RlZmluZSBXVEZfQ1BVX1BQQzY0IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5E
SUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU0g0KSAtIFN1cGVySCBTSC00ICovCi0jaWYgZGVmaW5l
ZChfX1NINF9fKQotI2RlZmluZSBXVEZfQ1BVX1NINCAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJD
MzIpIC0gU1BBUkMgMzItYml0ICovCi0jaWYgZGVmaW5lZChfX3NwYXJjKSAmJiAhZGVmaW5lZChf
X2FyY2g2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmN2OCkKLSNkZWZpbmUgV1RGX0NQVV9TUEFSQzMy
IDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoU1BBUkM2
NCkgLSBTUEFSQyA2NC1iaXQgKi8KLSNpZiBkZWZpbmVkKF9fc3BhcmNfXykgJiYgZGVmaW5lZChf
X2FyY2g2NF9fKSB8fCBkZWZpbmVkIChfX3NwYXJjdjkpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkM2
NCAxCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFNQQVJD
KSAtIGFueSBTUEFSQywgdHJ1ZSBmb3IgQ1BVKFNQQVJDMzIpIGFuZCBDUFUoU1BBUkM2NCkgKi8K
LSNpZiBDUFUoU1BBUkMzMikgfHwgQ1BVKFNQQVJDNjQpCi0jZGVmaW5lIFdURl9DUFVfU1BBUkMg
MQotI2VuZGlmCi0KLS8qIENQVShTMzkwWCkgLSBTMzkwIDY0LWJpdCAqLwotI2lmIGRlZmluZWQo
X19zMzkweF9fKQotI2RlZmluZSBXVEZfQ1BVX1MzOTBYIDEKLSNkZWZpbmUgV1RGX0NQVV9CSUdf
RU5ESUFOIDEKLSNlbmRpZgotCi0vKiBDUFUoUzM5MCkgLSBTMzkwIDMyLWJpdCAqLwotI2lmIGRl
ZmluZWQoX19zMzkwX18pCi0jZGVmaW5lIFdURl9DUFVfUzM5MCAxCi0jZGVmaW5lIFdURl9DUFVf
QklHX0VORElBTiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4NikgLSBpMzg2IC8geDg2IDMyLWJpdCAq
LwotI2lmICAgZGVmaW5lZChfX2kzODZfXykgXAotICAgIHx8IGRlZmluZWQoaTM4NikgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCi0gICAgfHwgZGVmaW5lZChfWDg2XykgICAgXAot
ICAgIHx8IGRlZmluZWQoX19USFdfSU5URUwpCi0jZGVmaW5lIFdURl9DUFVfWDg2IDEKLSNlbmRp
ZgotCi0vKiBDUFUoWDg2XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8K
LSNpZiAgIGRlZmluZWQoX194ODZfNjRfXykgXAotICAgIHx8IGRlZmluZWQoX01fWDY0KQotI2Rl
ZmluZSBXVEZfQ1BVX1g4Nl82NCAxCi0jZW5kaWYKLQotLyogQ1BVKEFSTSkgLSBBUk0sIGFueSB2
ZXJzaW9uKi8KLSNpZiAgIGRlZmluZWQoYXJtKSBcCi0gICAgfHwgZGVmaW5lZChfX2FybV9fKSBc
Ci0gICAgfHwgZGVmaW5lZChBUk0pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1fKQotI2RlZmluZSBX
VEZfQ1BVX0FSTSAxCi0KLSNpZiBkZWZpbmVkKF9fQVJNRUJfXykgfHwgKENPTVBJTEVSKFJWQ1Qp
ICYmIGRlZmluZWQoX19CSUdfRU5ESUFOKSkKLSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEK
LQotI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSBcCi0gICAgJiYgIWRlZmluZWQoX19FQUJJ
X18pIFwKLSAgICAmJiAhZGVmaW5lZChfX1ZGUF9GUF9fKSBcCi0gICAgJiYgIWRlZmluZWQoX1dJ
TjMyX1dDRSkgXAotICAgICYmICFkZWZpbmVkKEFORFJPSUQpCi0jZGVmaW5lIFdURl9DUFVfTUlE
RExFX0VORElBTiAxCi0KLSNlbmRpZgotCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9BVF9MRUFTVChO
KSAoQ1BVKEFSTSkgJiYgV1RGX0FSTV9BUkNIX1ZFUlNJT04gPj0gTikKLQotLyogU2V0IFdURl9B
Uk1fQVJDSF9WRVJTSU9OICovCi0jaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1W
NF9fKSBcCi0gICAgfHwgZGVmaW5lZChfQVJNVjRJXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZF
UlNJT04gNAotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQotI2Rl
ZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0KLSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81
RV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzVURUpfXykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotLypB
Uk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KLSNkZWZp
bmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0KLSNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF82X18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNkpfXykgXAot
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZaX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpLX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNVjZfXykKLSNk
ZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNgotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hf
N0FfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKQotI2RlZmluZSBXVEZfQVJN
X0FSQ0hfVkVSU0lPTiA3Ci0KLS8qIFJWQ1Qgc2V0cyBfVEFSR0VUX0FSQ0hfQVJNICovCi0jZWxp
ZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lP
TiBfX1RBUkdFVF9BUkNIX0FSTQotCi0jaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCi0g
ICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURSkgXAotICAgIHx8IGRlZmluZWQoX19UQVJH
RVRfQVJDSF81VEVKKQotLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWdu
ZWQgbWVtb3J5Ki8KLSNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdF
UiAxCi0jZW5kaWYKLQotI2Vsc2UKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gMAotCi0j
ZW5kaWYKLQotLyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KLSNpZiAgIGRlZmluZWQo
X19BUk1fQVJDSF80VF9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDEKLQotI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
NVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQotI2RlZmluZSBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OIDIKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04g
MwotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKLSAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfN19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1JfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83
TV9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDQKLQotLyogUlZDVCBzZXRzIF9f
VEFSR0VUX0FSQ0hfVEhVTUIgKi8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9USFVNQikK
LSNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX1RIVU1CCi0KLSNl
bHNlCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMAotI2VuZGlmCi0KLQotLyogQ1BV
KEFSTVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLwot
LyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4g
Ci0gICBBbmQgdGhlcmUgYXJlIHNvbWUgb3RoZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxp
ZXIuICovCi0jaWYgIWRlZmluZWQoQVJNVjVfT1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRf
TEVBU1QoNikKLSNkZWZpbmUgV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAxCi0jZW5kaWYKLQotCi0v
KiBDUFUoQVJNX1RSQURJVElPTkFMKSAtIFRodW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRy
YWRpdGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRlcikgKi8KLS8qIENQVShBUk1fVEhVTUIyKSAtIFRo
dW1iMiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZhaWxhYmxlICovCi0vKiBPbmx5IG9uZSBvZiB0aGVz
ZSB3aWxsIGJlIGRlZmluZWQuICovCi0jaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikKLSMgIGlmIGRlZmluZWQodGh1bWIy
KSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwKLSAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwg
ZGVmaW5lZChfX3RodW1iX18pKSAmJiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCi0jICAg
IGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAwCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FS
TV9USFVNQjIgMQotIyAgZWxpZiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNCkKLSMgICAgZGVmaW5l
IFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDEKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1C
MiAwCi0jICBlbHNlCi0jICAgIGVycm9yICJOb3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUi
Ci0jICBlbmRpZgotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIp
IC8qIFNhbml0eSBDaGVjayAqLwotIyAgZXJyb3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BV
X0FSTV9UUkFESVRJT05BTCBhbmQgV1RGX0NQVV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKLSNlbmRp
ZiAvKiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQ
VV9BUk1fVEhVTUIyKSAqLwotCi0jaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVk
KFdURl9DUFVfQVJNX05FT04pCi0jZGVmaW5lIFdURl9DUFVfQVJNX05FT04gMQotI2VuZGlmCi0K
LSNlbmRpZiAvKiBBUk0gKi8KLQotI2lmIENQVShBUk0pIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0
KSB8fCBDUFUoU1BBUkMpCi0jZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQot
I2VuZGlmCi0KLS8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25s
eSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKLSAgIHZp
cnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLwotCi0vKiBP
UyhBTkRST0lEKSAtIEFuZHJvaWQgKi8KLSNpZmRlZiBBTkRST0lECi0jZGVmaW5lIFdURl9PU19B
TkRST0lEIDEKLSNlbmRpZgotCi0vKiBPUyhBSVgpIC0gQUlYICovCi0jaWZkZWYgX0FJWAotI2Rl
ZmluZSBXVEZfT1NfQUlYIDEKLSNlbmRpZgotCi0vKiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1i
YXNlZCBPUywgaW5jbHVkaW5nIE1hYyBPUyBYIGFuZCBpUGhvbmUgT1MgKi8KLSNpZmRlZiBfX0FQ
UExFX18KLSNkZWZpbmUgV1RGX09TX0RBUldJTiAxCi0KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHku
aD4KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KLSNpbmNsdWRlIDxUYXJnZXRDb25k
aXRpb25hbHMuaD4KLSNlbmRpZgotCi0vKiBPUyhJT1MpIC0gaU9TICovCi0vKiBPUyhNQUNfT1Nf
WCkgLSBNYWMgT1MgWCAobm90IGluY2x1ZGluZyBpT1MpICovCi0jaWYgT1MoREFSV0lOKSAmJiAo
KGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURERUQpIFwKLSAg
ICB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiBUQVJHRVRfT1NfSVBIT05FKSAgICAg
ICAgICAgICAgICAgXAotICAgIHx8IChkZWZpbmVkKFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKSAm
JiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikpCi0jZGVmaW5lIFdURl9PU19JT1MgMQotI2VsaWYg
T1MoREFSV0lOKSAmJiBkZWZpbmVkKFRBUkdFVF9PU19NQUMpICYmIFRBUkdFVF9PU19NQUMKLSNk
ZWZpbmUgV1RGX09TX01BQ19PU19YIDEKLS8qIEZJWE1FOiBCVUlMRElOR19PTl8uLiwgYW5kIFRB
UkdFVElORy4uLiBtYWNyb3Mgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBPUygpIHN5c3RlbSAq
LwotI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBCVUlMRElOR19P
Tl9MRU9QQVJEIDEKLSNlbGlmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNykgfHwgTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNwotI2RlZmlu
ZSBCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVS
U0lPTl8xMF84KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgTUFDX09TX1hfVkVS
U0lPTl8xMF84Ci0jZGVmaW5lIEJVSUxESU5HX09OX0xJT04gMQotI2VuZGlmCi0jaWYgIWRlZmlu
ZWQoTUFDX09TX1hfVkVSU0lPTl8xMF82KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNgotI2RlZmluZSBUQVJHRVRJTkdfTEVPUEFSRCAxCi0j
ZWxpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgTUFDX09TX1hfVkVSU0lPTl8xMF83Ci0jZGVmaW5lIFRBUkdFVElOR19T
Tk9XX0xFT1BBUkQgMQotI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF84KSB8fCBN
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAotI2Rl
ZmluZSBUQVJHRVRJTkdfTElPTiAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBPUyhGUkVFQlNEKSAt
IEZyZWVCU0QgKi8KLSNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29u
Rmx5X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotI2RlZmluZSBXVEZfT1NfRlJF
RUJTRCAxCi0jZW5kaWYKLQotLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLwotI2lmZGVmIF9fR05V
X18KLSNkZWZpbmUgV1RGX09TX0hVUkQgMQotI2VuZGlmCi0KLS8qIE9TKExJTlVYKSAtIExpbnV4
ICovCi0jaWZkZWYgX19saW51eF9fCi0jZGVmaW5lIFdURl9PU19MSU5VWCAxCi0jZW5kaWYKLQot
LyogT1MoTkVUQlNEKSAtIE5ldEJTRCAqLwotI2lmIGRlZmluZWQoX19OZXRCU0RfXykKLSNkZWZp
bmUgV1RGX09TX05FVEJTRCAxCi0jZW5kaWYKLQotLyogT1MoT1BFTkJTRCkgLSBPcGVuQlNEICov
Ci0jaWZkZWYgX19PcGVuQlNEX18KLSNkZWZpbmUgV1RGX09TX09QRU5CU0QgMQotI2VuZGlmCi0K
LS8qIE9TKFFOWCkgLSBRTlggKi8KLSNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCi0jZGVmaW5lIFdU
Rl9PU19RTlggMQotI2VuZGlmCi0KLS8qIE9TKFNPTEFSSVMpIC0gU29sYXJpcyAqLwotI2lmIGRl
ZmluZWQoc3VuKSB8fCBkZWZpbmVkKF9fc3VuKQotI2RlZmluZSBXVEZfT1NfU09MQVJJUyAxCi0j
ZW5kaWYKLQotLyogT1MoV0lOQ0UpIC0gV2luZG93cyBDRTsgbm90ZSB0aGF0IGZvciB0aGlzIHBs
YXRmb3JtIE9TKFdJTkRPV1MpIGlzIGFsc28gZGVmaW5lZCAqLwotI2lmIGRlZmluZWQoX1dJTjMy
X1dDRSkKLSNkZWZpbmUgV1RGX09TX1dJTkNFIDEKLSNlbmRpZgotCi0vKiBPUyhXSU5ET1dTKSAt
IEFueSB2ZXJzaW9uIG9mIFdpbmRvd3MgKi8KLSNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVk
KF9XSU4zMikKLSNkZWZpbmUgV1RGX09TX1dJTkRPV1MgMQotI2VuZGlmCi0KLSNkZWZpbmUgV1RG
X09TX1dJTiBFUlJPUiAiVVNFIFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgotI2RlZmluZSBXVEZf
T1NfTUFDIEVSUk9SICJVU0UgTUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgotCi0vKiBPUyhVTklY
KSAtIEFueSBVbml4LWxpa2Ugc3lzdGVtICovCi0jaWYgICBPUyhBSVgpICAgICAgICAgICAgICBc
Ci0gICAgfHwgT1MoQU5EUk9JRCkgICAgICAgICAgXAotICAgIHx8IE9TKERBUldJTikgICAgICAg
ICAgIFwKLSAgICB8fCBPUyhGUkVFQlNEKSAgICAgICAgICBcCi0gICAgfHwgT1MoSFVSRCkgICAg
ICAgICAgICAgXAotICAgIHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKLSAgICB8fCBPUyhORVRC
U0QpICAgICAgICAgICBcCi0gICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAotICAgIHx8IE9T
KFFOWCkgICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhTT0xBUklTKSAgICAgICAgICBcCi0gICAg
fHwgZGVmaW5lZCh1bml4KSAgICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4KSAgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fdW5peF9fKQotI2RlZmluZSBXVEZfT1NfVU5JWCAxCi0jZW5kaWYK
LQotLyogT3BlcmF0aW5nIGVudmlyb25tZW50cyAqLwotCi0vKiBGSVhNRTogdGhlc2UgYXJlIGFs
bCBtaXhlcyBvZiBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50IGFuZCBwb2xpY3kgY2hvaWNlcy4g
Ki8KLS8qIFBMQVRGT1JNKENIUk9NSVVNKSAqLwotLyogUExBVEZPUk0oUVQpICovCi0vKiBQTEFU
Rk9STShXWCkgKi8KLS8qIFBMQVRGT1JNKEdUSykgKi8KLS8qIFBMQVRGT1JNKEJMQUNLQkVSUlkp
ICovCi0vKiBQTEFURk9STShNQUMpICovCi0vKiBQTEFURk9STShXSU4pICovCi0jaWYgZGVmaW5l
ZChCVUlMRElOR19DSFJPTUlVTV9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0hST01JVU0gMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fUVQgMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19XWF9fKQotI2RlZmluZSBXVEZfUExBVEZPUk1fV1ggMQot
I2VsaWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0dUSyAx
Ci0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0JMQUNLQkVSUllfXykKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0JMQUNLQkVSUlkgMQotI2VsaWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfUExBVEZPUk1f
TUFDIDEKLSNlbGlmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9QTEFURk9STV9XSU4gMQotI2Vu
ZGlmCi0KLS8qIFBMQVRGT1JNKElPUykgKi8KLS8qIEZJWE1FOiB0aGlzIGlzIHNvbWV0aW1lcyB1
c2VkIGFzIGFuIE9TIHN3aXRjaCBhbmQgc29tZXRpbWVzIGZvciBoaWdoZXItbGV2ZWwgdGhpbmdz
ICovCi0jaWYgKGRlZmluZWQoVEFSR0VUX09TX0VNQkVEREVEKSAmJiBUQVJHRVRfT1NfRU1CRURE
RUQpIHx8IChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmIFRBUkdFVF9PU19JUEhPTkUpCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMQotI2VuZGlmCi0KLS8qIFBMQVRGT1JNKElPU19TSU1V
TEFUT1IpICovCi0jaWYgZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VU
X0lQSE9ORV9TSU1VTEFUT1IKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAxCi0jZGVmaW5lIFdU
Rl9QTEFURk9STV9JT1NfU0lNVUxBVE9SIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9QTEFURk9STV9J
T1NfU0lNVUxBVE9SIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykK
LSNkZWZpbmUgV1RGX1BMQVRGT1JNX0lPUyAwCi0jZW5kaWYKLQotLyogR3JhcGhpY3MgZW5naW5l
cyAqLwotCi0vKiBVU0UoQ0cpIGFuZCBQTEFURk9STShDSSkgKi8KLSNpZiBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKFdJTikgJiYgVVNFKENHKSkK
LSNkZWZpbmUgV1RGX1VTRV9DQSAxCi0jZW5kaWYKLQotLyogVVNFKFNLSUEpIGZvciBXaW4vTGlu
dXgvTWFjL0FuZHJvaWQgKi8KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpZiBPUyhEQVJXSU4p
Ci0jaWYgVVNFKFNLSUFfT05fTUFDX0NIUk9NSVVNKQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9DRyAxCi0jZW5kaWYKLSNkZWZpbmUgV1RGX1VTRV9BVFNV
SSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVH
IDEKLSNlbGlmIE9TKEFORFJPSUQpCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0jZGVmaW5lIFdU
Rl9VU0VfR0xFUzJfUkVOREVSSU5HIDAKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfU0tJQSAxCi0j
ZGVmaW5lIFdURl9VU0VfQ0hST01JVU1fTkVUIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShCTEFDS0JFUlJZKQotI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUg
VVNFX1NZU1RFTV9NQUxMT0MgMQotI2RlZmluZSBXVEZfVVNFX01FUlNFTk5FX1RXSVNURVJfMTk5
MzcgMQotI2RlZmluZSBXVEZfVVNFX1NLSUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEsp
Ci0jZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQotI2VuZGlmCi0KLQotI2lmIE9TKFdJTkNFKQotI2lu
Y2x1ZGUgPGNlX3RpbWUuaD4KLSNkZWZpbmUgV1RGX1VTRV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3
IDEKLSNlbmRpZgotCi0vKiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIg
YnkgZGVmYXVsdCAqLwotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFdURl9VU0VfUVVFUllfUEVS
Rk9STUFOQ0VfQ09VTlRFUiAgMQotI2VuZGlmCi0KLSNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JN
KFFUKQotI2RlZmluZSBOT01JTk1BWCAgICAgICAvKiBXaW5kb3dzIG1pbiBhbmQgbWF4IGNvbmZs
aWN0IHdpdGggc3RhbmRhcmQgbWFjcm9zICovCi0jZGVmaW5lIE5PU0hMV0FQSSAgICAgIC8qIHNo
bHdhcGkuaCBub3QgYXZhaWxhYmxlIG9uIFdpbkNlICovCi0KLS8qIE1TRE4gZG9jdW1lbnRhdGlv
biBzYXlzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgd2l0aCB1c3BjZS5saWIuICBCdXQg
d2UgY2Fubm90IGZpbmQgdGhpcyBmaWxlLiAqLwotI2RlZmluZSBfX3VzcDEwX18gICAgICAvKiBk
aXNhYmxlICJ1c3AxMC5oIiAqLwotCi0jZGVmaW5lIF9JTkNfQVNTRVJUICAgIC8qIGRpc2FibGUg
ImFzc2VydC5oIiAqLwotI2RlZmluZSBhc3NlcnQoeCkKLQotI2VuZGlmICAvKiBPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKFFUKSAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0jaWZuZGVmIFdURl9VU0Vf
SUNVX1VOSUNPREUKLSNkZWZpbmUgV1RGX1VTRV9RVDRfVU5JQ09ERSAxCi0jZW5kaWYKLSNlbGlm
IE9TKFdJTkNFKQotI2RlZmluZSBXVEZfVVNFX1dJTkNFX1VOSUNPREUgMQotI2VsaWYgUExBVEZP
Uk0oR1RLKQotLyogVGhlIEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLwot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9JQ1VfVU5JQ09ERSAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiBDUFUoWDg2XzY0KQotI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1Mg
MQotI2VuZGlmCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2RlZmluZSBFTkFCTEVfR0VTVFVSRV9FVkVOVFMg
MQotI2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJTkcgMQotI2RlZmluZSBXVEZfVVNFX1NDUk9M
TEJBUl9QQUlOVEVSIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBX0JSSURHRSkK
LSNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDEKLSNlbmRpZgotI2lmICFkZWZpbmVkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEK
LSNlbmRpZgotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAx
Ci0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEK
LSNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJIDEKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQotI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKLSNpZiBkZWZpbmVkKEVO
QUJMRV9WSURFTykKLSNkZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKLSNlbmRpZgotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgSEFWRV9MQVlF
Ul9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIgMQotI2VuZGlmCi0jZW5kaWYgLyogUExBVEZPUk0o
TUFDKSAmJiAhUExBVEZPUk0oSU9TKSAqLwotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9T
KERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMg
MQotI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKLQotI2RlZmluZSBXVEZfVVNFX1dLX1ND
Uk9MTEJBUl9QQUlOVEVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBE
T05UX0ZJTkFMSVpFX09OX01BSU5fVEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oUVQp
ICYmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIEhBVkVfRElTUEFU
Q0hfSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBM
QVRGT1JNKFFUKQotI2RlZmluZSBFTkFCTEVfUFVSR0VBQkxFX01FTU9SWSAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAotI2RlZmlu
ZSBFTkFCTEVfRFJBR19TVVBQT1JUIDAKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMgMAotI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKLSNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9O
IDEKLSNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFTRSAwCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNU
T1IgMQotI2RlZmluZSBFTkFCTEVfSkFWQV9CUklER0UgMAotI2RlZmluZSBFTkFCTEVfTkVUU0NB
UEVfUExVR0lOX0FQSSAwCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMQotI2Rl
ZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDEKLSNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDEKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCi0jZGVm
aW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNkZWZp
bmUgSEFWRV9SVU5MT09QX1RJTUVSIDAKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdU
Rl9VU0VfQ0ZORVRXT1JLIDEKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0KLSNpZiBQTEFU
Rk9STShJT1NfU0lNVUxBVE9SKQotICAgICNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVU
RVIgMQotICAgICNkZWZpbmUgRU5BQkxFX0pJVCAwCi0gICAgI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVQgMAotI2Vsc2UKLSAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDAKLSAg
ICAjZGVmaW5lIEVOQUJMRV9KSVQgMQotICAgICNkZWZpbmUgRU5BQkxFX0xMSU5UIDEKLSAgICAj
ZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVCAxCi0jZW5kaWYKLQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pICYmICFPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1VTRV9DRiAxCi0jZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQotI2RlZmluZSBX
VEZfVVNFX0NGTkVUV09SSyAxCi0jZW5kaWYKLQotI2lmIFVTRShDRk5FVFdPUkspIHx8IFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBXVEZfVVNFX0NGVVJMQ0FDSEUgMQot
I2RlZmluZSBXVEZfVVNFX0NGVVJMU1RPUkFHRVNFU1NJT05TIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRG
T1JNKFFUKQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZP
Uk0oV0lOX0NBSVJPKSAmJiAhUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdYKQotI2lmICFDUFUoUFBDKQotI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLSNkZWZp
bmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCi0jZGVmaW5lIEVOQUJMRV9MTElOVCAw
Ci0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBXVEZfVVNFX0NGIDEKLSNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKEdUSykKLSNpZiBIQVZFKFBUSFJFQURfSCkKLSNkZWZpbmUgV1RGX1VT
RV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0jZWxp
ZiBQTEFURk9STShRVCkgJiYgT1MoVU5JWCkKLSNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0j
ZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZF
X0FDQ0VTU0lCSUxJVFkpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZp
bmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKLSNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVf
QUNDRVNTSUJJTElUWSkgKi8KLQotI2lmIE9TKFVOSVgpCi0jZGVmaW5lIEhBVkVfU0lHTkFMX0gg
MQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1ZBU1BSSU5URikKLSNpZiAhQ09NUElMRVIo
TVNWQykgJiYgIUNPTVBJTEVSKFJWQ1QpICYmICFDT01QSUxFUihNSU5HVykgJiYgIShDT01QSUxF
UihHQ0MpICYmIE9TKFFOWCkpCi0jZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKLSNlbmRpZgotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1NUUk5TVFIpCi0jaWYgT1MoREFSV0lOKSB8fCAoT1Mo
RlJFRUJTRCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKLSNkZWZpbmUgSEFWRV9TVFJOU1RSIDEK
LSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpIFwKLSAg
ICAmJiAhT1MoUlZDVCkgXAotICAgICYmICFPUyhBTkRST0lEKQotI2RlZmluZSBIQVZFX1RNX0dN
VE9GRiAxCi0jZGVmaW5lIEhBVkVfVE1fWk9ORSAxCi0jZGVmaW5lIEhBVkVfVElNRUdNIDEKLSNl
bmRpZgotCi0jaWYgT1MoREFSV0lOKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5l
IEhBVkVfTEFOR0lORk9fSCAxCi0jZGVmaW5lIEhBVkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfTUVS
R0VTT1JUIDEKLSNkZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQot
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNk
ZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURSAxCi0K
LSNpZm5kZWYgVEFSR0VUSU5HX0xFT1BBUkQKLQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQot
I2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCi0KLSNpZiAhUExBVEZPUk0oSU9T
KQotI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVF
IDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2VuZGlmCi0KLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhB
VkVfUFRIUkVBRF9TRVROQU1FX05QIDEKLSNlbmRpZgotCi0jZWxpZiBPUyhXSU5ET1dTKQotCi0j
aWYgT1MoV0lOQ0UpCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAwCi0jZWxzZQotI2RlZmluZSBIQVZF
X1NZU19USU1FQl9IIDEKLSNkZWZpbmUgSEFWRV9BTElHTkVEX01BTExPQyAxCi0jZGVmaW5lIEhB
VkVfSVNERUJVR0dFUlBSRVNFTlQgMQotI2VuZGlmCi0jZGVmaW5lIEhBVkVfVklSVFVBTEFMTE9D
IDEKLQotI2VsaWYgT1MoUU5YKQotCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhB
VkVfTU1BUCAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKLSNkZWZpbmUgSEFWRV9N
QURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Ci0jZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQot
I2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKLQotI2VsaWYgT1MoQU5EUk9JRCkKLQotI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMAotI2RlZmluZSBIQVZF
X05NQVAgMQotI2RlZmluZSBIQVZFX1NCUksgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQotCi0j
ZWxzZQotCi0vKiBGSVhNRTogaXMgdGhpcyBhY3R1YWxseSB1c2VkIG9yIGRvIG90aGVyIHBsYXRm
b3JtcyBnZW5lcmF0ZSB0aGVpciBvd24gY29uZmlnLmg/ICovCi0KLSNkZWZpbmUgSEFWRV9FUlJO
T19IIDEKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNk
ZWZpbmUgSEFWRV9TQlJLIDEKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2RlZmluZSBIQVZF
X1NZU19QQVJBTV9IIDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotI2VuZGlmCi0KLS8q
IEVOQUJMRSBtYWNybyBkZWZhdWx0cyAqLwotCi0jaWYgUExBVEZPUk0oUVQpCi0vKiBXZSBtdXN0
IG5vdCBjdXN0b21pemUgdGhlIGdsb2JhbCBvcGVyYXRvciBuZXcgYW5kIGRlbGV0ZSBmb3IgdGhl
IFF0IHBvcnQuICovCi0jZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAotI2lm
ICFPUyhVTklYKQotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZW5kaWYKLSNlbmRpZgot
Ci0vKiBmYXN0TWFsbG9jIG1hdGNoIHZhbGlkYXRpb24gYWxsb3dzIGZvciBydW50aW1lIHZlcmlm
aWNhdGlvbiB0aGF0Ci0gICBuZXcgaXMgbWF0Y2hlZCBieSBkZWxldGUsIGZhc3RNYWxsb2MgaXMg
bWF0Y2hlZCBieSBmYXN0RnJlZSwgZXRjLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9GQVNUX01B
TExPQ19NQVRDSF9WQUxJREFUSU9OKQotI2RlZmluZSBFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hf
VkFMSURBVElPTiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JQ09OREFUQUJBU0Up
Ci0jZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfU1FMX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfU1FMX0RBVEFCQVNFIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpCi0jZGVmaW5lIEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0ZUUERJUikKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9DT05URVhUX01FTlVTKQotI2RlZmluZSBFTkFCTEVfQ09OVEVYVF9NRU5VUyAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EUkFHX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9EUkFHX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQ
RUNUT1IpCi0jZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1IgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSkFWQV9CUklER0UpCi0jZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQotI2RlZmluZSBF
TkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQ
RV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
UFVSR0VBQkxFX01FTU9SWSkKLSNkZWZpbmUgRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkgMAotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MpCi0jZGVmaW5l
IFdURl9VU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9PUklFTlRBVElPTl9FVkVOVFMpCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT1BDT0RFX1NUQVRTKQotI2RlZmlu
ZSBFTkFCTEVfT1BDT0RFX1NUQVRTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dM
T0JBTF9GQVNUTUFMTE9DX05FVykKLSNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAxCi0jZW5kaWYKLQotI2RlZmluZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKLSNk
ZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5H
X0ZMQUdTIDAKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1JFR0lPTlMgMAotI2RlZmluZSBFTkFC
TEVfT1BDT0RFX1NBTVBMSU5HIDAKLSNkZWZpbmUgRU5BQkxFX0NPREVCTE9DS19TQU1QTElORyAw
Ci0jaWYgRU5BQkxFKENPREVCTE9DS19TQU1QTElORykgJiYgIUVOQUJMRShPUENPREVfU0FNUExJ
TkcpCi0jZXJyb3IgIkNPREVCTE9DS19TQU1QTElORyByZXF1aXJlcyBPUENPREVfU0FNUExJTkci
Ci0jZW5kaWYKLSNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKSB8fCBFTkFCTEUoU0FNUExJTkdf
RkxBR1MpIHx8IEVOQUJMRShTQU1QTElOR19SRUdJT05TKQotI2RlZmluZSBFTkFCTEVfU0FNUExJ
TkdfVEhSRUFEIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQot
I2RlZmluZSBFTkFCTEVfR0VPTE9DQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfVklFV1BPUlQpCi0jZGVmaW5lIEVOQUJMRV9WSUVXUE9SVCAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKQotI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9O
UyAwCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FS
RVQgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKLSNkZWZpbmUg
RU5BQkxFX1RFWFRfQ0FSRVQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xP
Q0sgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmlu
ZWQoV1RGX1VTRV9KU1ZBTFVFMzJfNjQpCi0jaWYgKENQVShYODZfNjQpICYmIChPUyhVTklYKSB8
fCBPUyhXSU5ET1dTKSkpIFwKLSAgICB8fCAoQ1BVKElBNjQpICYmICFDUFUoSUE2NF8zMikpIFwK
LSAgICB8fCBDUFUoQUxQSEEpIFwKLSAgICB8fCBDUFUoU1BBUkM2NCkgXAotICAgIHx8IENQVShT
MzkwWCkgXAotICAgIHx8IENQVShQUEM2NCkKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQot
I2Vsc2UKLSNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFMzJfNjQgMQotI2VuZGlmCi0jZW5kaWYgLyog
IWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMy
XzY0KSAqLwotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORykKLSNkZWZp
bmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAwCi0jZW5kaWYKLQotLyogRGlzYWJsZSB0aGUg
SklUIG9uIHZlcnNpb25zIG9mIEdDQyBwcmlvciB0byA0LjEgKi8KLSNpZiAhZGVmaW5lZChFTkFC
TEVfSklUKSAmJiBDT01QSUxFUihHQ0MpICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCAxLCAw
KQotI2RlZmluZSBFTkFCTEVfSklUIDAKLSNlbmRpZgotCi0vKiBKSVQgaXMgbm90IGltcGxlbWVu
dGVkIGZvciBXaW5kb3dzIDY0LWJpdCAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmIE9T
KFdJTkRPV1MpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI2VuZGlmCi0K
LS8qIFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJN
ICYgTUlQUyBwbGF0Zm9ybXMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAotICAgICYm
IChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoTUlQUykpIFwKLSAg
ICAmJiAoT1MoREFSV0lOKSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lPTl9BVF9MRUFT
VCg0LCAxLCAwKSkgXAotICAgICYmICFPUyhXSU5DRSkgXAotICAgICYmICFPUyhRTlgpCi0jZGVm
aW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIE9uIHNvbWUgb2YgdGhlIHBsYXRmb3JtcyB3
aGVyZSB3ZSBoYXZlIGEgSklULCB3ZSB3YW50IHRvIGFsc28gaGF2ZSB0aGUgCi0gICBsb3ctbGV2
ZWwgaW50ZXJwcmV0ZXIuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0xMSU5UKSAmJiBFTkFCTEUo
SklUKSAmJiAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oUVQpKSAmJiAoQ1BVKFg4NikgfHwgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVfTExJTlQgMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKLS8qIEVu
YWJsZSB0aGUgREZHIEpJVCBvbiBYODYgYW5kIFg4Nl82NC4gIE9ubHkgdGVzdGVkIG9uIE1hYyBh
bmQgR05VL0xpbnV4LiAqLwotI2lmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkgJiYgKFBMQVRG
T1JNKE1BQykgfHwgT1MoTElOVVgpKQotI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCi0jZW5kaWYK
LS8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUy4gKi8K
LSNpZiBDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfREZH
X0pJVCAxCi0jZW5kaWYKLSNlbmRpZgotCi0vKiBQcm9maWxpbmcgb2YgdHlwZXMgYW5kIHZhbHVl
cyB1c2VkIGJ5IEpJVCBjb2RlLiBERkdfSklUIGRlcGVuZHMgb24gaXQsIGJ1dCB5b3UKLSAgIGNh
biBlbmFibGUgaXQgbWFudWFsbHkgd2l0aCBERkcgdHVybmVkIG9mZiBpZiB5b3Ugd2FudCB0byB1
c2UgaXQgYXMgYSBzdGFuZGFsb25lCi0gICBwcm9maWxlci4gSW4gdGhhdCBjYXNlLCB5b3UgcHJv
YmFibHkgd2FudCB0byBhbHNvIGVuYWJsZSBWRVJCT1NFX1ZBTFVFX1BST0ZJTEUKLSAgIGJlbG93
LiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9WQUxVRV9QUk9GSUxFUikgJiYgRU5BQkxFKERGR19K
SVQpCi0jZGVmaW5lIEVOQUJMRV9WQUxVRV9QUk9GSUxFUiAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BST0ZJTEUpICYmIEVOQUJMRShWQUxVRV9QUk9GSUxF
UikKLSNkZWZpbmUgRU5BQkxFX1ZFUkJPU0VfVkFMVUVfUFJPRklMRSAwCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9TSU1QTEVfSEVBUF9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9T
SU1QTEVfSEVBUF9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIENvdW50cyB1c2VzIG9mIHdyaXRl
IGJhcnJpZXJzIHVzaW5nIHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KLSAgIHNl
dCBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgdG8gMS4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpCi0jZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BS
T0ZJTElORyAwCi0jZW5kaWYKLQotLyogRW5zdXJlIHRoYXQgZWl0aGVyIHRoZSBKSVQgb3IgdGhl
IGludGVycHJldGVyIGhhcyBiZWVuIGVuYWJsZWQuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NM
QVNTSUNfSU5URVJQUkVURVIpICYmICFFTkFCTEUoSklUKQotI2RlZmluZSBFTkFCTEVfQ0xBU1NJ
Q19JTlRFUlBSRVRFUiAxCi0jZW5kaWYKLSNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShDTEFT
U0lDX0lOVEVSUFJFVEVSKSkKLSNlcnJvciBZb3UgaGF2ZSB0byBoYXZlIGF0IGxlYXN0IG9uZSBl
eGVjdXRpb24gbW9kZWwgZW5hYmxlZCB0byBidWlsZCBKU0MKLSNlbmRpZgotCi0jaWYgQ1BVKFNI
NCkgJiYgUExBVEZPUk0oUVQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0KLS8qIENv
bmZpZ3VyZSB0aGUgSklUICovCi0jaWYgQ1BVKEFSTSkKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklU
X1VTRV9TT0ZUX01PRFVMTykgJiYgV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDUpCi0jZGVmaW5lIEVO
QUJMRV9KSVRfVVNFX1NPRlRfTU9EVUxPIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoTUlQUykKLSNpZiAhZGVmaW5lZChFTkFCTEVfSklUX1VT
RV9TT0ZUX01PRFVMTykKLSNkZWZpbmUgRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8gMQotI2Vu
ZGlmCi0jZW5kaWYKLQotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0jZGVmaW5lIEpT
Q19IT1NUX0NBTEwgX19mYXN0Y2FsbAotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDKQot
I2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCi0jZWxzZQot
I2RlZmluZSBKU0NfSE9TVF9DQUxMCi0jZW5kaWYKLQotLyogQ29uZmlndXJlIHRoZSBpbnRlcnBy
ZXRlciAqLwotI2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9MRUFTVCg0LCAw
LCAwLCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKLSNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RP
IDEKLSNlbmRpZgotI2lmIEhBVkUoQ09NUFVURURfR09UTykgJiYgRU5BQkxFKENMQVNTSUNfSU5U
RVJQUkVURVIpCi0jZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVU
RVIgMQotI2VuZGlmCi0KLS8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEg
dG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLwotI2Rl
ZmluZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAotCi0vKiBZZXQgQW5vdGhlciBSZWdleCBSdW50
aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLwotI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMAotCi0jZWxpZiBF
TkFCTEUoSklUKSAmJiAhZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpCi0jZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAxCi0KLS8qIFNldHRpbmcgdGhpcyBmbGFnIGNvbXBhcmVzIEpJVCByZXN1bHRzIHdp
dGggaW50ZXJwcmV0ZXIgcmVzdWx0cy4gKi8KLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVH
IDAKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQotI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKLSNlbmRpZgotCi0vKiBQaWNrIHdoaWNoIGFsbG9jYXRvciB0
byB1c2U7IHdlIG9ubHkgbmVlZCBhbiBleGVjdXRhYmxlIGFsbG9jYXRvciBpZiB0aGUgYXNzZW1i
bGVyIGlzIGNvbXBpbGVkIGluLgotICAgT24geDg2LTY0IHdlIHVzZSBhIHNpbmdsZSBmaXhlZCBt
bWFwLCBvbiBvdGhlciBwbGF0Zm9ybXMgd2UgbW1hcCBvbiBkZW1hbmQuICovCi0jaWYgRU5BQkxF
KEFTU0VNQkxFUikKLSNpZiBDUFUoWDg2XzY0KSB8fCBQTEFURk9STShJT1MpCi0jZGVmaW5lIEVO
QUJMRV9FWEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhFRCAxCi0jZWxzZQotI2RlZmluZSBFTkFCTEVf
RVhFQ1VUQUJMRV9BTExPQ0FUT1JfREVNQU5EIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfUEFOX1NDUk9MTElORykgJiYgT1MoV0lORE9XUykKLSNkZWZpbmUgRU5BQkxF
X1BBTl9TQ1JPTExJTkcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU01PT1RIX1ND
Uk9MTElORykKLSNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElW
RSAwCi0jZW5kaWYKLQotLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9u
IGZvciBYTUxEb2N1bWVudFBhcnNlciAqLwotLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50
YXRpb24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KLSNpZiBQTEFURk9STShRVCkKLSNpZiAhVVNFKExJ
QlhNTDIpCi0jZGVmaW5lIFdURl9VU0VfUVhNTFNUUkVBTSAxCi0jZGVmaW5lIFdURl9VU0VfUVhN
TFFVRVJZIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0vKiBDb21wbGV4
IHRleHQgZnJhbWV3b3JrICovCi0jaWZuZGVmIEJVSUxESU5HX09OX0xFT1BBUkQKLSNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAwCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKLSNlbHNlCi0jZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQotI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAwCi0jZW5kaWYK
LSNlbmRpZgotCi0vKiBBY2NlbGVyYXRlZCBjb21wb3NpdGluZyAqLwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkgfHwgKFBMQVRGT1JNKFdJTikgJiYg
IU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0oRUZMKQotI2Rl
ZmluZSBXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKLSNlbmRpZgotCi0vKiBDb21w
b3NpdGluZyBvbiB0aGUgVUktcHJvY2VzcyBpbiBXZWJLaXQyICovCi0jaWYgUExBVEZPUk0oUVQp
Ci0jZGVmaW5lIFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9S
TShJT1MpCi0jZGVmaW5lIFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEK
LSNlbmRpZgotCi0jaWYgIUVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSB8fCAoRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpICYmICgoT1MoVU5JWCkgJiYgKFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShXWCkpKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpKQotI2RlZmluZSBF
TkFCTEVfUExVR0lOX1BBQ0tBR0VfU0lNUExFX0hBU0ggMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZp
bmUgRU5BQkxFX1RIUkVBREVEX1NDUk9MTElORyAxCi0jZW5kaWYKLQotLyogU2V0IHVwIGEgZGVm
aW5lIGZvciBhIGNvbW1vbiBlcnJvciB0aGF0IGlzIGludGVuZGVkIHRvIGNhdXNlIGEgYnVpbGQg
ZXJyb3IgLS0gdGh1cyB0aGUgc3BhY2UgYWZ0ZXIgRXJyb3IuICovCi0jZGVmaW5lIFdURl9QTEFU
Rk9STV9DRk5FVFdPUksgRXJyb3IgVVNFX21hY3JvX3Nob3VsZF9iZV91c2VkX3dpdGhfQ0ZORVRX
T1JLCi0KLS8qIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBlbmFibGUgdGhpcyBmb3IgYWxs
IHBsYXRmb3JtcyBhbmQgZ2V0IHJpZCBvZiB0aGUgZGVmaW5lLiAqLwotI2lmIFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKFFUKQotI2Rl
ZmluZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pCi0jZGVmaW5lIFdURl9VU0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQotI2RlZmlu
ZSBXVEZfVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCi0jZW5kaWYKLQotLyogR2Vv
bG9jYXRpb24gcmVxdWVzdCBwb2xpY3kuIHByZS1lbXB0aXZlIHBvbGljeSBpcyB0byBhY3F1aXJl
IHVzZXIgcGVybWlzc2lvbiBiZWZvcmUgYWNxdWlyaW5nIGxvY2F0aW9uLiAqLwotI2RlZmluZSBX
VEZfVVNFX1BSRUVNUFRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTiAxCi0KLSNpZiBDUFUoQVJNX1RI
VU1CMikKLSNkZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9I
KQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKLSNlbGlmICFkZWZpbmVk
KEVOQUJMRV9USFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCi0jZGVmaW5lIEVO
QUJMRV9USFJFQURJTkdfT1BFTk1QIDEKLSNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklD
KQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQotI2VuZGlmCi0KLSNpZiBFTkFC
TEUoR0xJQl9TVVBQT1JUKQotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oPgotI2Vu
ZGlmCi0KLS8qIEZJWE1FOiBUaGlzIGRlZmluZSB3b24ndCBiZSBuZWVkZWQgb25jZSAjMjc1NTEg
aXMgZnVsbHkgbGFuZGVkLiBIb3dldmVyLCAKLSAgIHNpbmNlIG1vc3QgcG9ydHMgdHJ5IHRvIHN1
cHBvcnQgc3ViLXByb2plY3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRlcnMKLSAgIHRv
IFdURiBjYXVzZXMgbWFueSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5IHdlIGNhbiBh
ZGRyZXNzIHRoZSBidWlsZAotICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8KLSNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXWCkKLSNkZWZpbmUg
V1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9VU0VfRVhQT1JUX01B
Q1JPUyAwCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShRVCkgJiYgIU9TKERBUldJTikpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQotI2RlZmluZSBXVEZfVVNFX1VOSVhfRE9NQUlO
X1NPQ0tFVFMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dB
UCkgJiYgQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TV9USFVNQjIpKQotI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkpICYmIEVOQUJMRShDT01QQVJFX0FORF9TV0FQKQot
I2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQotI2VuZGlmCi0KLSNpZm5kZWYgTkRFQlVHCi0j
aWZuZGVmIEVOQUJMRV9HQ19WQUxJREFUSU9OCi0jZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9O
IDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNk
ZWZpbmUgV1RGX1VTRV9BVkZPVU5EQVRJT04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTElPTikKLSNkZWZpbmUgV1RG
X1VTRV9DT1JFTUVESUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYm
ICFQTEFURk9STShXSU5fQ0FJUk8pKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQkxBQ0tC
RVJSWSkKLSNkZWZpbmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSNkZWZp
bmUgV1RGX1VTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSNkZWZpbmUgSEFWRV9JTlZF
UlRFRF9XSEVFTF9FVkVOVFMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5l
IFdURl9VU0VfQ09SRUFVRElPIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0j
aWYgIWRlZmluZWQoV1RGX1VTRV9WOCkKLSNkZWZpbmUgV1RGX1VTRV9WOCAxCi0jZW5kaWYKLSNl
bmRpZiAvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KLQotI2lmICFkZWZpbmVkKFdURl9VU0VfVjgp
Ci0jZGVmaW5lIFdURl9VU0VfVjggMAotI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfVjgpICov
Ci0KLS8qIFVzaW5nIFY4IGltcGxpZXMgbm90IHVzaW5nIEpTQyBhbmQgdmljZSB2ZXJzYSAqLwot
I2RlZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VTRV9WOAotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19P
TkxZIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9XVEZVUkwpCi0jZGVmaW5lIFdU
Rl9VU0VfV1RGVVJMIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoV1RGX1VTRV9aTElCKSAmJiAh
UExBVEZPUk0oUVQpCi0jZGVmaW5lIFdURl9VU0VfWkxJQiAxCi0jZW5kaWYKLQotI2VuZGlmIC8q
IFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTUyNmY0YTM3ZjM3
ODQ2MjJkMGM1MTAzNThlM2E0NWRkNzNjYzVmOS4uYjVlOTBiNDQxNjE0NTY1ZTBmNTI3YmY2NjQ5
OWRkMGYzZjVmYTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMSwzICsxLDQgQEAKIHd0
Zl9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV1RGL1N0dWIuY3BwIFwKLQlTb3VyY2UvV1RGL1N0dWIu
aAorCVNvdXJjZS9XVEYvU3R1Yi5oIFwKKwlTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL1dURi5neXBpIGIvU291cmNlL1dURi9XVEYuZ3lwaQppbmRleCBh
ZWQxNzYyYmExNjFjMjIwNjYyZjM2ZDUwMTM5Y2QyNjFlYWM1YmQwLi43MWM2NzRjODQ0OWNlOGMy
OTBhMDk5ODQzZmM2NTMxNTdjZTI2ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5neXBp
CisrKyBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKQEAgLTMsNiArMyw3IEBACiAgICAgICAgICdwcm9q
ZWN0X2Rpcic6IFsnLiddLAogICAgICAgICAnd3RmX3ByaXZhdGVoZWFkZXJfZmlsZXMnOiBbCiAg
ICAgICAgICAgICAnU3R1Yi5oJywKKyAgICAgICAgICAgICd3dGYvUGxhdGZvcm0uaCcsCiAgICAg
ICAgIF0sCiAgICAgICAgICd3dGZfZmlsZXMnOiBbCiAgICAgICAgICAgICAnU3R1Yi5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4
IGIxMTdiMGQyZDc0ZmM4ZmFhNWQ1NDJlMjkyYzg2MWQ2YzBjMzU3NzguLjAxMGRlMzg0MGQ4Zjhl
OTE5ODE5YzlhNjEwNThhYWQ2ZmNiMDZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBy
bworKysgYi9Tb3VyY2UvV1RGL1dURi5wcm8KQEAgLTEwMiw3ICsxMDIsNyBAQCBIRUFERVJTICs9
IFwKICAgICBQYXNzT3duUHRyLmggXAogICAgIFBhc3NSZWZQdHIuaCBcCiAgICAgUGFzc1RyYWl0
cy5oIFwKLSAgICBQbGF0Zm9ybS5oIFwKKyAgICAuLi8uLi9XVEYvd3RmL1BsYXRmb3JtLmggXAog
ICAgIFBvc3NpYmx5TnVsbC5oIFwKICAgICBxdC9VdGlsc1F0LmggXAogICAgIFJhbmRvbU51bWJl
ci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qIGIvU291
cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKaW5kZXggNzdhMWRiOGQ3OWQwMzk1OTMwNDg1
MTQyNzBjNWZiMjk3YmJhMzY3Mi4uZmM3NDdmZWQxNmIwYzRkMGJmM2RkMDYwMTJiMWUwZDg2ZTli
Yjk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKKysrIGIv
U291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oKQEAgLTk5Nyw3ICs5OTcsNyBAQAogCQkJ
PgogCQk8L0ZpbGU+CiAJCTxGaWxlCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEphdmFTY3JpcHRD
b3JlXHd0ZlxQbGF0Zm9ybS5oIgorCQkJUmVsYXRpdmVQYXRoPSJ3dGZcUGxhdGZvcm0uaCIKIAkJ
CT4KIAkJPC9GaWxlPgogCQk8RmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmNwcm9q
L3dvcmstYXJvdW5kLXZzLWRlcGVuZGVuY3ktdHJhY2tpbmctYnVncy5weSBiL1NvdXJjZS9XVEYv
V1RGLnZjcHJvai93b3JrLWFyb3VuZC12cy1kZXBlbmRlbmN5LXRyYWNraW5nLWJ1Z3MucHkKaW5k
ZXggYTIzYzI4MDEzMWJlNzUwNDViNWU3MDMxNTJkNzFhNmM5NDdjYzk3ZC4uNTExOTExOGI4ZDdm
ZmFjOTI4NTQ4NTg1ZmUxOWRmMTcxYzAyODIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYu
dmNwcm9qL3dvcmstYXJvdW5kLXZzLWRlcGVuZGVuY3ktdHJhY2tpbmctYnVncy5weQorKysgYi9T
b3VyY2UvV1RGL1dURi52Y3Byb2ovd29yay1hcm91bmQtdnMtZGVwZW5kZW5jeS10cmFja2luZy1i
dWdzLnB5CkBAIC0zMSw3ICszMSw3IEBAIGRlZiByZWFjdF90b192c3Byb3BzX2NoYW5nZXMoKToK
IAogICAgICMgVG91Y2ggd3RmL1BsYXRmb3JtLmggc28gYWxsIGZpbGVzIHdpbGwgYmUgcmVjb21w
aWxlZC4gVGhpcyBpcyBuZWNlc3NhcnkKICAgICAjIHRvIHBpY2sgdXAgY2hhbmdlcyB0byBwcmVw
cm9jZXNzb3IgbWFjcm9zIChlLmcuLCBFTkFCTEVfKikuCi0gICAgd3RmX3BsYXRmb3JtX2ggPSBv
cy5wYXRoLmpvaW4oVE9QX0xFVkVMX0RJUkVDVE9SWSwgJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29y
ZScsICd3dGYnLCAnUGxhdGZvcm0uaCcpCisgICAgd3RmX3BsYXRmb3JtX2ggPSBvcy5wYXRoLmpv
aW4oVE9QX0xFVkVMX0RJUkVDVE9SWSwgJ1NvdXJjZScsICdXVEYnLCAnd3RmJywgJ1BsYXRmb3Jt
LmgnKQogICAgIHRvdWNoX2lmX29sZGVyX3RoYW4od3RmX3BsYXRmb3JtX2gsIG5ld2VzdF92c3By
b3BzX3RpbWUpCiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNmY4YmRjNjI2ZDZmOTExNGJjNjU2ZWEyMmMxMjVkNzM5NGI4ZTdjYy4uOGJkZTEyOWJkNTA2
MTYzZjVmODc5ZTllMWVkMzlhZjNjYzcyNTAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC05LDYgKzksNyBAQAogLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNl
Y3Rpb24gKi8KIAkJNUQyNDdCNzkxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQyNDdCNzcxNDY4OUQ4OTAw
RTc4Qjc2IC8qIFN0dWIuY3BwICovOyB9OwogCQk1RDI0N0I3QTE0Njg5RDg5MDBFNzhCNzYgLyog
U3R1Yi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQy
NDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9ICgpOyB9OyB9OworCQlBODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NzZEQkQ3MTUx
ODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwpAQCAtMjAs
NiArMjEsNyBAQAogCQk1RDI0N0I3NzE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHViLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUQyNDdCNzgxNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R1Yi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1RDI0N0VCMTE0NjhCMDE1MDBFNzhCNzYgLyogSGVhZGVyRGV0ZWN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhlYWRlckRldGVjdGlvbi5oOyBwYXRoID0g
RGVyaXZlZFNvdXJjZXMvV1RGL0hlYWRlckRldGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OworCQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNjcsMTAgKzY5
LDE5IEBACiAJCQkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5o
ICovLAogCQkJCTVEMjQ3Qjc3MTQ2ODlEODkwMEU3OEI3NiAvKiBTdHViLmNwcCAqLywKIAkJCQk1
RDI0N0I3ODE0Njg5RDg5MDBFNzhCNzYgLyogU3R1Yi5oICovLAorCQkJCUE4NzZEQkQ2MTUxODE2
RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFNvdXJjZTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3
dGYgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUE4NzZE
QkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAorCQkJKTsKKwkJCXBhdGggPSB3
dGY7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBCWEdyb3VwIHNl
Y3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAt
NzgsOCArODksOCBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFj
dGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJNUQyNDdFQjIxNDY4QjAx
NTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQyNDdC
N0ExNDY4OUQ4OTAwRTc4Qjc2IC8qIFN0dWIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4NzZEQkQ4
MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNDMsNyAr
MTU0LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyBcIiR7
REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07IHRoZW5cbiAgICBQUklWQVRFX0hF
QURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUlL30ke1BSSVZBVEVfSEVBREVSU19GT0xE
RVJfUEFUSH1cIlxuZWxzZVxuICAgIFBSSVZBVEVfSEVBREVSU19QQVRIPVwiJHtEU1RST09UJSUv
fSR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maTtcblxubWtkaXIgLXAgXCIke1BS
SVZBVEVfSEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1uby1vd25lciAtLW5vLWdyb3VwIC0t
cHJ1bmUtZW1wdHktZGlycyAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1leGNsdWRlIFwidXNyXCIgLS1l
eGNsdWRlIFwiRGVyaXZlZFNvdXJjZXNcIiAtLWluY2x1ZGUgXCIqL1wiIC0taW5jbHVkZSBcIiou
aFwiIC0tZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vXCIgXCIke1BSSVZBVEVfSEVBREVSU19Q
QVRIfVwiXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke1RB
UkdFVF9CVUlMRF9ESVIlJS99JHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmVsc2Vc
biAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVCUlL30ke1BSSVZBVEVfSEVBREVS
U19GT0xERVJfUEFUSH1cIlxuZmk7XG5cbm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURFUlNfUEFU
SH1cIlxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5LWRpcnMg
LS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRT
b3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIq
XCIgXCIke1NSQ1JPT1R9L3d0Zi9cIiBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbiI7CiAJ
CX07CiAJCTVEMjQ3RTlEMTQ2OEFFRTIwMEU3OEI3NiAvKiBEZXRlY3QgQXZhaWxhYmxlIEhlYWRl
cnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL2NvbmZpZy5oIGIvU291cmNlL1dURi9jb25maWcuaAppbmRleCAwYWIzMzI2
M2I3NjE3NDdjNzA3ZjgyOGMxNTRiMDIwNjYyMTEwMDhmLi5jZDg2MjUyYzUzMDY5YjcyNDI0NGIx
NWEyMzAwMTI4ZDdmNjEzNDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2NvbmZpZy5oCisrKyBi
L1NvdXJjZS9XVEYvY29uZmlnLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlIDx3dGYvRXhw
b3J0TWFjcm9zLmg+CiAvLyBXVEYgY2Fubm90IGRlcGVuZCBvbiBKU0MgZXZlbiBpZiBVU0UoSlND
KS4KICNpZiBVU0UoSlNDKSAmJiAhZGVmaW5lZChCVUlMRElOR19XVEYpCi0jaW5jbHVkZSAiSlNF
eHBvcnRNYWNyb3MuaCIKKyNpbmNsdWRlICJydW50aW1lL0pTRXhwb3J0TWFjcm9zLmgiCiAjZW5k
aWYKIAogI2lmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODM0YjUzOTg0Zjkz
MzM1MDc0NWU4NzU0Y2NkYTQxNzBjMGYwMjBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaApAQCAtMCwwICsxLDEyMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfUGxhdGZvcm1faAorI2RlZmluZSBXVEZfUGxh
dGZvcm1faAorCisvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLworI2luY2x1
ZGUgPHd0Zi9Db21waWxlci5oPgorCisvKiA9PT09IFBMQVRGT1JNIGhhbmRsZXMgT1MsIG9wZXJh
dGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQKKyAgIENQVS4gVGhpcyBtYWNybyB3
aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZvcm0gYWRhcHRhdGlvbgorICAgbWFj
cm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlv
bnMuID09PT0gKi8KKyNkZWZpbmUgUExBVEZPUk0oV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9Q
TEFURk9STV8jI1dURl9GRUFUVVJFICAmJiBXVEZfUExBVEZPUk1fIyNXVEZfRkVBVFVSRSkKKwor
CisvKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9w
ZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KKworLyogQ1BVKCkgLSB0
aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAo
ZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVfIyNXVEZfRkVBVFVSRSkK
Ky8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVuY3Rpb25z
IG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCisjZGVmaW5lIEhBVkUoV1RG
X0ZFQVRVUkUpIChkZWZpbmVkIEhBVkVfIyNXVEZfRkVBVFVSRSAgJiYgSEFWRV8jI1dURl9GRUFU
VVJFKQorLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1
c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKKyAgIHZpcnR1YWwgbWVt
b3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNkZWZpbmUgT1MoV1RGX0ZFQVRV
UkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVS
RSkKKworCisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xp
Y3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KKworLyogVVNFKCkgLSB1
c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2Vydmlj
ZSAqLworI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9VU0VfIyNXVEZfRkVB
VFVSRSAgJiYgV1RGX1VTRV8jI1dURl9GRUFUVVJFKQorLyogRU5BQkxFKCkgLSB0dXJuIG9uIGEg
c3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNkZWZpbmUgRU5BQkxFKFdURl9GRUFUVVJF
KSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxFXyMjV1RGX0ZFQVRVUkUp
CisKKworLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVjdHVyZSA9PT09ICov
CisKKy8qIFRoaXMgYWxzbyBkZWZpbmVzIENQVShCSUdfRU5ESUFOKSBvciBDUFUoTUlERExFX0VO
RElBTikgb3IgbmVpdGhlciwgYXMgYXBwcm9wcmlhdGUuICovCisKKy8qIENQVShBTFBIQSkgLSBE
RUMgQWxwaGEgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyNkZWZpbmUgV1RGX0NQVV9BTFBI
QSAxCisjZW5kaWYKKworLyogQ1BVKElBNjQpIC0gSXRhbml1bSAvIElBLTY0ICovCisjaWYgZGVm
aW5lZChfX2lhNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0IDEKKy8qIDMyLWJpdCBtb2RlIG9u
IEl0YW5pdW0gKi8KKyNpZiAhZGVmaW5lZChfX0xQNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9JQTY0
XzMyIDEKKyNlbmRpZgorI2VuZGlmCisKKy8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCisv
KiBOb3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBB
QkkgZm9yIG5vdy4gICovCisjaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykg
fHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKKyAgICAmJiBkZWZpbmVkKF9B
QklPMzIpCisjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaWYgZGVmaW5lZChfX01JUFNFQl9fKQor
I2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisjZGVmaW5lIFdURl9NSVBTX1BJ
QyAoZGVmaW5lZCBfX1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19BUkNIIF9fbWlwcworI2RlZmlu
ZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAmJiBXVEZfTUlQU19BUkNI
ID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQ
U19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYg
X19taXBzX2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2KSAoZGVmaW5lZCBXVEZf
TUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQorI2RlZmluZSBXVEZfTUlQ
U19ET1VCTEVfRkxPQVQgKGRlZmluZWQgX19taXBzX2hhcmRfZmxvYXQgJiYgIWRlZmluZWQgX19t
aXBzX3NpbmdsZV9mbG9hdCkKKyNkZWZpbmUgV1RGX01JUFNfRlA2NCAoZGVmaW5lZCBfX21pcHNf
ZnByICYmIF9fbWlwc19mcHIgPT0gNjQpCisvKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8g
dXNlIGFsaWduZWQgbWVtb3J5ICovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05N
RU5UX0lOVEVHRVIgMQorI2VuZGlmIC8qIE1JUFMgKi8KKworLyogQ1BVKFBQQykgLSBQb3dlclBD
IDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwY19fKSAgICAgXAorICAgIHx8IGRlZmluZWQo
X19QUENfXykgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSBcCisgICAgfHwgZGVm
aW5lZChfX3Bvd2VycGMpICAgXAorICAgIHx8IGRlZmluZWQoX19QT1dFUlBDX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9NX1BQQykgICAgICBcCisgICAgfHwgZGVmaW5lZChfX1BQQykKKyNkZWZpbmUg
V1RGX0NQVV9QUEMgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8q
IENQVShQUEM2NCkgLSBQb3dlclBDIDY0LWJpdCAqLworI2lmICAgZGVmaW5lZChfX3BwYzY0X18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykKKyNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCisj
ZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFNINCkgLSBTdXBl
ckggU0gtNCAqLworI2lmIGRlZmluZWQoX19TSDRfXykKKyNkZWZpbmUgV1RGX0NQVV9TSDQgMQor
I2VuZGlmCisKKy8qIENQVShTUEFSQzMyKSAtIFNQQVJDIDMyLWJpdCAqLworI2lmIGRlZmluZWQo
X19zcGFyYykgJiYgIWRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjdjgpCisj
ZGVmaW5lIFdURl9DUFVfU1BBUkMzMiAxCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisj
ZW5kaWYKKworLyogQ1BVKFNQQVJDNjQpIC0gU1BBUkMgNjQtYml0ICovCisjaWYgZGVmaW5lZChf
X3NwYXJjX18pICYmIGRlZmluZWQoX19hcmNoNjRfXykgfHwgZGVmaW5lZCAoX19zcGFyY3Y5KQor
I2RlZmluZSBXVEZfQ1BVX1NQQVJDNjQgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQor
I2VuZGlmCisKKy8qIENQVShTUEFSQykgLSBhbnkgU1BBUkMsIHRydWUgZm9yIENQVShTUEFSQzMy
KSBhbmQgQ1BVKFNQQVJDNjQpICovCisjaWYgQ1BVKFNQQVJDMzIpIHx8IENQVShTUEFSQzY0KQor
I2RlZmluZSBXVEZfQ1BVX1NQQVJDIDEKKyNlbmRpZgorCisvKiBDUFUoUzM5MFgpIC0gUzM5MCA2
NC1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MHhfXykKKyNkZWZpbmUgV1RGX0NQVV9TMzkwWCAx
CisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZW5kaWYKKworLyogQ1BVKFMzOTApIC0g
UzM5MCAzMi1iaXQgKi8KKyNpZiBkZWZpbmVkKF9fczM5MF9fKQorI2RlZmluZSBXVEZfQ1BVX1Mz
OTAgMQorI2RlZmluZSBXVEZfQ1BVX0JJR19FTkRJQU4gMQorI2VuZGlmCisKKy8qIENQVShYODYp
IC0gaTM4NiAvIHg4NiAzMi1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX19pMzg2X18pIFwKKyAgICB8
fCBkZWZpbmVkKGkzODYpICAgICBcCisgICAgfHwgZGVmaW5lZChfTV9JWDg2KSAgXAorICAgIHx8
IGRlZmluZWQoX1g4Nl8pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fVEhXX0lOVEVMKQorI2RlZmlu
ZSBXVEZfQ1BVX1g4NiAxCisjZW5kaWYKKworLyogQ1BVKFg4Nl82NCkgLSBBTUQ2NCAvIEludGVs
NjQgLyB4ODZfNjQgNjQtYml0ICovCisjaWYgICBkZWZpbmVkKF9feDg2XzY0X18pIFwKKyAgICB8
fCBkZWZpbmVkKF9NX1g2NCkKKyNkZWZpbmUgV1RGX0NQVV9YODZfNjQgMQorI2VuZGlmCisKKy8q
IENQVShBUk0pIC0gQVJNLCBhbnkgdmVyc2lvbiovCisjaWYgICBkZWZpbmVkKGFybSkgXAorICAg
IHx8IGRlZmluZWQoX19hcm1fXykgXAorICAgIHx8IGRlZmluZWQoQVJNKSBcCisgICAgfHwgZGVm
aW5lZChfQVJNXykKKyNkZWZpbmUgV1RGX0NQVV9BUk0gMQorCisjaWYgZGVmaW5lZChfX0FSTUVC
X18pIHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fQklHX0VORElBTikpCisjZGVmaW5l
IFdURl9DUFVfQklHX0VORElBTiAxCisKKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgXAor
ICAgICYmICFkZWZpbmVkKF9fRUFCSV9fKSBcCisgICAgJiYgIWRlZmluZWQoX19WRlBfRlBfXykg
XAorICAgICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpIFwKKyAgICAmJiAhZGVmaW5lZChBTkRST0lE
KQorI2RlZmluZSBXVEZfQ1BVX01JRERMRV9FTkRJQU4gMQorCisjZW5kaWYKKworI2RlZmluZSBX
VEZfQVJNX0FSQ0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9O
ID49IE4pCisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAqLworI2lmICAgZGVmaW5lZChf
X0FSTV9BUkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCisgICAg
fHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykgXAorICAgIHx8IGRlZmluZWQoX0FSTVY0SV8pCisj
ZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDQKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX01BUk1fQVJNVjVfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNQorCisjZWxp
ZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VEVfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCisjZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDUKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBh
bGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lO
VEVHRVIgMQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCisgICAgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAor
ICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYKKworI2Vs
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hf
N1JfXykKKyNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNworCisvKiBSVkNUIHNldHMgX1RB
UkdFVF9BUkNIX0FSTSAqLworI2VsaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIX0FSTSkKKyNkZWZp
bmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gX19UQVJHRVRfQVJDSF9BUk0KKworI2lmIGRlZmluZWQo
X19UQVJHRVRfQVJDSF81RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEUpIFwK
KyAgICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKy8qQVJNdjVURSByZXF1aXJlcyBh
bGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjZGVmaW5lIFdURl9VU0VfQVJFTkFf
QUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKyNlbHNlCisjZGVmaW5lIFdURl9B
Uk1fQVJDSF9WRVJTSU9OIDAKKworI2VuZGlmCisKKy8qIFNldCBXVEZfVEhVTUJfQVJDSF9WRVJT
SU9OICovCisjaWYgICBkZWZpbmVkKF9fQVJNX0FSQ0hfNFRfXykKKyNkZWZpbmUgV1RGX1RIVU1C
X0FSQ0hfVkVSU0lPTiAxCisKKyNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCisgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzVURUpfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiAyCisKKyNlbGlmIGRlZmlu
ZWQoX19BUk1fQVJDSF82Sl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZLX18pIFwK
KyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNlpfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF82WktfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82TV9fKQorI2RlZmluZSBX
VEZfVEhVTUJfQVJDSF9WRVJTSU9OIDMKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgXAorICAgIHx8IGRlZmluZWQoX19B
Uk1fQVJDSF83QV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN01fXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiA0CisKKy8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCisjZWxpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19U
QVJHRVRfQVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9O
IDAKKyNlbmRpZgorCisKKy8qIENQVShBUk1WNV9PUl9MT1dFUikgLSBBUk0gaW5zdHJ1Y3Rpb24g
c2V0IHY1IG9yIGVhcmxpZXIgKi8KKy8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBh
bGlnbm1lbnQgaXMgcmVxdWlyZWQuIAorICAgQW5kIHRoZXJlIGFyZSBzb21lIG90aGVyIGRpZmZl
cmVuY2VzIGZvciB2NSBvciBlYXJsaWVyLiAqLworI2lmICFkZWZpbmVkKEFSTVY1X09SX0xPV0VS
KSAmJiAhV1RGX0FSTV9BUkNIX0FUX0xFQVNUKDYpCisjZGVmaW5lIFdURl9DUFVfQVJNVjVfT1Jf
TE9XRVIgMQorI2VuZGlmCisKKworLyogQ1BVKEFSTV9UUkFESVRJT05BTCkgLSBUaHVtYjIgaXMg
bm90IGF2YWlsYWJsZSwgb25seSB0cmFkaXRpb25hbCBBUk0gKHY0IG9yIGdyZWF0ZXIpICovCisv
KiBDUFUoQVJNX1RIVU1CMikgLSBUaHVtYjIgaW5zdHJ1Y3Rpb24gc2V0IGlzIGF2YWlsYWJsZSAq
LworLyogT25seSBvbmUgb2YgdGhlc2Ugd2lsbCBiZSBkZWZpbmVkLiAqLworI2lmICFkZWZpbmVk
KFdURl9DUFVfQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9USFVNQjIp
CisjICBpZiBkZWZpbmVkKHRodW1iMikgfHwgZGVmaW5lZChfX3RodW1iMl9fKSBcCisgICAgfHwg
KChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVtYl9fKSkgJiYgV1RGX1RIVU1CX0FS
Q0hfVkVSU0lPTiA9PSA0KQorIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgMAor
IyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEKKyMgIGVsaWYgV1RGX0FSTV9BUkNIX0FU
X0xFQVNUKDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAxCisjICAgIGRl
ZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMAorIyAgZWxzZQorIyAgICBlcnJvciAiTm90IHN1cHBv
cnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgorIyAgZW5kaWYKKyNlbGlmIENQVShBUk1fVFJBRElUSU9O
QUwpICYmIENQVShBUk1fVEhVTUIyKSAvKiBTYW5pdHkgQ2hlY2sgKi8KKyMgIGVycm9yICJDYW5u
b3QgdXNlIGJvdGggb2YgV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9DUFVfQVJNX1RI
VU1CMiBwbGF0Zm9ybXMiCisjZW5kaWYgLyogIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9O
QUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikgKi8KKworI2lmIGRlZmluZWQoX19B
Uk1fTkVPTl9fKSAmJiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9ORU9OKQorI2RlZmluZSBXVEZfQ1BV
X0FSTV9ORU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJNICovCisKKyNpZiBDUFUoQVJNKSB8
fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkgfHwgQ1BVKFNQQVJDKQorI2RlZmluZSBXVEZfQ1BVX05F
RURTX0FMSUdORURfQUNDRVNTIDEKKyNlbmRpZgorCisvKiA9PT09IE9TKCkgLSB1bmRlcmx5aW5n
IG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVs
IHNlcnZpY2VzIGxpa2UgCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0
b29sa2l0ID09PT0gKi8KKworLyogT1MoQU5EUk9JRCkgLSBBbmRyb2lkICovCisjaWZkZWYgQU5E
Uk9JRAorI2RlZmluZSBXVEZfT1NfQU5EUk9JRCAxCisjZW5kaWYKKworLyogT1MoQUlYKSAtIEFJ
WCAqLworI2lmZGVmIF9BSVgKKyNkZWZpbmUgV1RGX09TX0FJWCAxCisjZW5kaWYKKworLyogT1Mo
REFSV0lOKSAtIEFueSBEYXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgaVBo
b25lIE9TICovCisjaWZkZWYgX19BUFBMRV9fCisjZGVmaW5lIFdURl9PU19EQVJXSU4gMQorCisj
aW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+
CisjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjZW5kaWYKKworLyogT1MoSU9TKSAt
IGlPUyAqLworLyogT1MoTUFDX09TX1gpIC0gTWFjIE9TIFggKG5vdCBpbmNsdWRpbmcgaU9TKSAq
LworI2lmIE9TKERBUldJTikgJiYgKChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERFRCkgJiYgVEFS
R0VUX09TX0VNQkVEREVEKSBcCisgICAgfHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYg
VEFSR0VUX09TX0lQSE9ORSkgICAgICAgICAgICAgICAgIFwKKyAgICB8fCAoZGVmaW5lZChUQVJH
RVRfSVBIT05FX1NJTVVMQVRPUikgJiYgVEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpKQorI2RlZmlu
ZSBXVEZfT1NfSU9TIDEKKyNlbGlmIE9TKERBUldJTikgJiYgZGVmaW5lZChUQVJHRVRfT1NfTUFD
KSAmJiBUQVJHRVRfT1NfTUFDCisjZGVmaW5lIFdURl9PU19NQUNfT1NfWCAxCisvKiBGSVhNRTog
QlVJTERJTkdfT05fLi4sIGFuZCBUQVJHRVRJTkcuLi4gbWFjcm9zIHNob3VsZCBiZSBmb2xkZWQg
aW50byB0aGUgT1MoKSBzeXN0ZW0gKi8KKyNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEw
XzYpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEw
XzYKKyNkZWZpbmUgQlVJTERJTkdfT05fTEVPUEFSRCAxCisjZWxpZiAhZGVmaW5lZChNQUNfT1Nf
WF9WRVJTSU9OXzEwXzcpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1Nf
WF9WRVJTSU9OXzEwXzcKKyNkZWZpbmUgQlVJTERJTkdfT05fU05PV19MRU9QQVJEIDEKKyNlbGlm
ICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhf
QUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfOAorI2RlZmluZSBCVUlMRElOR19PTl9MSU9O
IDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNikgfHwgTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzYKKyNkZWZpbmUg
VEFSR0VUSU5HX0xFT1BBUkQgMQorI2VsaWYgIWRlZmluZWQoTUFDX09TX1hfVkVSU0lPTl8xMF83
KSB8fCBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBf
NworI2RlZmluZSBUQVJHRVRJTkdfU05PV19MRU9QQVJEIDEKKyNlbGlmICFkZWZpbmVkKE1BQ19P
U19YX1ZFUlNJT05fMTBfOCkgfHwgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBNQUNf
T1NfWF9WRVJTSU9OXzEwXzgKKyNkZWZpbmUgVEFSR0VUSU5HX0xJT04gMQorI2VuZGlmCisjZW5k
aWYKKworLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYgZGVmaW5lZChfX0ZyZWVCU0Rf
XykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxf
XykKKyNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisKKy8qIE9TKEhVUkQpIC0gR05V
L0h1cmQgKi8KKyNpZmRlZiBfX0dOVV9fCisjZGVmaW5lIFdURl9PU19IVVJEIDEKKyNlbmRpZgor
CisvKiBPUyhMSU5VWCkgLSBMaW51eCAqLworI2lmZGVmIF9fbGludXhfXworI2RlZmluZSBXVEZf
T1NfTElOVVggMQorI2VuZGlmCisKKy8qIE9TKE5FVEJTRCkgLSBOZXRCU0QgKi8KKyNpZiBkZWZp
bmVkKF9fTmV0QlNEX18pCisjZGVmaW5lIFdURl9PU19ORVRCU0QgMQorI2VuZGlmCisKKy8qIE9T
KE9QRU5CU0QpIC0gT3BlbkJTRCAqLworI2lmZGVmIF9fT3BlbkJTRF9fCisjZGVmaW5lIFdURl9P
U19PUEVOQlNEIDEKKyNlbmRpZgorCisvKiBPUyhRTlgpIC0gUU5YICovCisjaWYgZGVmaW5lZChf
X1FOWE5UT19fKQorI2RlZmluZSBXVEZfT1NfUU5YIDEKKyNlbmRpZgorCisvKiBPUyhTT0xBUklT
KSAtIFNvbGFyaXMgKi8KKyNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikKKyNkZWZp
bmUgV1RGX09TX1NPTEFSSVMgMQorI2VuZGlmCisKKy8qIE9TKFdJTkNFKSAtIFdpbmRvd3MgQ0U7
IG5vdGUgdGhhdCBmb3IgdGhpcyBwbGF0Zm9ybSBPUyhXSU5ET1dTKSBpcyBhbHNvIGRlZmluZWQg
Ki8KKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjZGVmaW5lIFdURl9PU19XSU5DRSAxCisjZW5k
aWYKKworLyogT1MoV0lORE9XUykgLSBBbnkgdmVyc2lvbiBvZiBXaW5kb3dzICovCisjaWYgZGVm
aW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjZGVmaW5lIFdURl9PU19XSU5ET1dTIDEK
KyNlbmRpZgorCisjZGVmaW5lIFdURl9PU19XSU4gRVJST1IgIlVTRSBXSU5ET1dTIFdJVEggT1Mg
Tk9UIFdJTiIKKyNkZWZpbmUgV1RGX09TX01BQyBFUlJPUiAiVVNFIE1BQ19PU19YIFdJVEggT1Mg
Tk9UIE1BQyIKKworLyogT1MoVU5JWCkgLSBBbnkgVW5peC1saWtlIHN5c3RlbSAqLworI2lmICAg
T1MoQUlYKSAgICAgICAgICAgICAgXAorICAgIHx8IE9TKEFORFJPSUQpICAgICAgICAgIFwKKyAg
ICB8fCBPUyhEQVJXSU4pICAgICAgICAgICBcCisgICAgfHwgT1MoRlJFRUJTRCkgICAgICAgICAg
XAorICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKKyAgICB8fCBPUyhMSU5VWCkgICAgICAg
ICAgICBcCisgICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAorICAgIHx8IE9TKE9QRU5CU0Qp
ICAgICAgICAgIFwKKyAgICB8fCBPUyhRTlgpICAgICAgICAgICAgICBcCisgICAgfHwgT1MoU09M
QVJJUykgICAgICAgICAgXAorICAgIHx8IGRlZmluZWQodW5peCkgICAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKF9fdW5peCkgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3VuaXhfXykKKyNkZWZpbmUg
V1RGX09TX1VOSVggMQorI2VuZGlmCisKKy8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KKwor
LyogRklYTUU6IHRoZXNlIGFyZSBhbGwgbWl4ZXMgb2YgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVu
dCBhbmQgcG9saWN5IGNob2ljZXMuICovCisvKiBQTEFURk9STShDSFJPTUlVTSkgKi8KKy8qIFBM
QVRGT1JNKFFUKSAqLworLyogUExBVEZPUk0oV1gpICovCisvKiBQTEFURk9STShHVEspICovCisv
KiBQTEFURk9STShCTEFDS0JFUlJZKSAqLworLyogUExBVEZPUk0oTUFDKSAqLworLyogUExBVEZP
Uk0oV0lOKSAqLworI2lmIGRlZmluZWQoQlVJTERJTkdfQ0hST01JVU1fXykKKyNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NIUk9NSVVNIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX1FUIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfV1hfXykKKyNkZWZp
bmUgV1RGX1BMQVRGT1JNX1dYIDEKKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjZGVm
aW5lIFdURl9QTEFURk9STV9HVEsgMQorI2VsaWYgZGVmaW5lZChCVUlMRElOR19CTEFDS0JFUlJZ
X18pCisjZGVmaW5lIFdURl9QTEFURk9STV9CTEFDS0JFUlJZIDEKKyNlbGlmIE9TKERBUldJTikK
KyNkZWZpbmUgV1RGX1BMQVRGT1JNX01BQyAxCisjZWxpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBX
VEZfUExBVEZPUk1fV0lOIDEKKyNlbmRpZgorCisvKiBQTEFURk9STShJT1MpICovCisvKiBGSVhN
RTogdGhpcyBpcyBzb21ldGltZXMgdXNlZCBhcyBhbiBPUyBzd2l0Y2ggYW5kIHNvbWV0aW1lcyBm
b3IgaGlnaGVyLWxldmVsIHRoaW5ncyAqLworI2lmIChkZWZpbmVkKFRBUkdFVF9PU19FTUJFRERF
RCkgJiYgVEFSR0VUX09TX0VNQkVEREVEKSB8fCAoZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAm
JiBUQVJHRVRfT1NfSVBIT05FKQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TIDEKKyNlbmRpZgor
CisvKiBQTEFURk9STShJT1NfU0lNVUxBVE9SKSAqLworI2lmIGRlZmluZWQoVEFSR0VUX0lQSE9O
RV9TSU1VTEFUT1IpICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9JT1MgMQorI2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAxCisjZWxzZQor
I2RlZmluZSBXVEZfUExBVEZPUk1fSU9TX1NJTVVMQVRPUiAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKFdURl9QTEFURk9STV9JT1MpCisjZGVmaW5lIFdURl9QTEFURk9STV9JT1MgMAorI2VuZGlm
CisKKy8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KKworLyogVVNFKENHKSBhbmQgUExBVEZPUk0oQ0kp
ICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpCisjZGVmaW5lIFdURl9VU0Vf
Q0cgMQorI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFU
Rk9STShXSU4pICYmIFVTRShDRykpCisjZGVmaW5lIFdURl9VU0VfQ0EgMQorI2VuZGlmCisKKy8q
IFVTRShTS0lBKSBmb3IgV2luL0xpbnV4L01hYy9BbmRyb2lkICovCisjaWYgUExBVEZPUk0oQ0hS
T01JVU0pCisjaWYgT1MoREFSV0lOKQorI2lmIFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkKKyNk
ZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQ0cgMQorI2VuZGlm
CisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCisj
ZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCisjZWxpZiBPUyhBTkRST0lEKQorI2RlZmluZSBXVEZf
VVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0dMRVMyX1JFTkRFUklORyAwCisjZWxzZQorI2Rl
ZmluZSBXVEZfVVNFX1NLSUEgMQorI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNkZWZpbmUgRU5BQkxFX0RS
QUdfU1VQUE9SVCAwCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNkZWZpbmUgV1RGX1VT
RV9NRVJTRU5ORV9UV0lTVEVSXzE5OTM3IDEKKyNkZWZpbmUgV1RGX1VTRV9TS0lBIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKKyNlbmRpZgor
CisKKyNpZiBPUyhXSU5DRSkKKyNpbmNsdWRlIDxjZV90aW1lLmg+CisjZGVmaW5lIFdURl9VU0Vf
TUVSU0VOTkVfVFdJU1RFUl8xOTkzNyAxCisjZW5kaWYKKworLyogT24gV2luZG93cywgdXNlIFF1
ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNpZiBPUyhXSU5ET1dTKQorI2Rl
ZmluZSBXVEZfVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKKyNlbmRpZgorCisjaWYg
T1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgTk9NSU5NQVggICAgICAgLyogV2lu
ZG93cyBtaW4gYW5kIG1heCBjb25mbGljdCB3aXRoIHN0YW5kYXJkIG1hY3JvcyAqLworI2RlZmlu
ZSBOT1NITFdBUEkgICAgICAvKiBzaGx3YXBpLmggbm90IGF2YWlsYWJsZSBvbiBXaW5DZSAqLwor
CisvKiBNU0ROIGRvY3VtZW50YXRpb24gc2F5cyB0aGVzZSBmdW5jdGlvbnMgYXJlIHByb3ZpZGVk
IHdpdGggdXNwY2UubGliLiAgQnV0IHdlIGNhbm5vdCBmaW5kIHRoaXMgZmlsZS4gKi8KKyNkZWZp
bmUgX191c3AxMF9fICAgICAgLyogZGlzYWJsZSAidXNwMTAuaCIgKi8KKworI2RlZmluZSBfSU5D
X0FTU0VSVCAgICAvKiBkaXNhYmxlICJhc3NlcnQuaCIgKi8KKyNkZWZpbmUgYXNzZXJ0KHgpCisK
KyNlbmRpZiAgLyogT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkgKi8KKworI2lmIFBMQVRGT1JN
KFFUKQorI2lmbmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVmaW5lIFdURl9VU0VfUVQ0X1VO
SUNPREUgMQorI2VuZGlmCisjZWxpZiBPUyhXSU5DRSkKKyNkZWZpbmUgV1RGX1VTRV9XSU5DRV9V
TklDT0RFIDEKKyNlbGlmIFBMQVRGT1JNKEdUSykKKy8qIFRoZSBHVEsrIFVuaWNvZGUgYmFja2Vu
ZCBpcyBjb25maWd1cmFibGUgKi8KKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSUNVX1VOSUNPREUg
MQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCisjaWYgIWRl
ZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgQ1BVKFg4Nl82NCkKKyNkZWZpbmUgV1RGX1VT
RV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNkZWZpbmUg
RU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JVQkJFUl9CQU5ESU5HIDEK
KyNkZWZpbmUgV1RGX1VTRV9TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfSkFWQV9CUklER0UpCisjZGVmaW5lIEVOQUJMRV9KQVZBX0JSSURHRSAxCisjZW5k
aWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCAxCisjZW5kaWYKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCisjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNk
ZWZpbmUgSEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCisjZGVm
aW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xM
SU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9B
VURJTyAxCisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pCisjZGVmaW5lIEVOQUJMRV9WSURFT19U
UkFDSyAxCisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJ
T04pCisjZGVmaW5lIEhBVkVfTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSIDEKKyNlbmRp
ZgorI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KKworI2lmIFBM
QVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0YgMQorI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisK
KyNkZWZpbmUgV1RGX1VTRV9XS19TQ1JPTExCQVJfUEFJTlRFUiAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKElPUykKKyNkZWZpbmUgRE9OVF9GSU5BTElaRV9PTl9NQUlOX1RIUkVBRCAxCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9VU0VfQ0Yg
MQorI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYm
ICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1BVUkdFQUJM
RV9NRU1PUlkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9D
T05URVhUX01FTlVTIDAKKyNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZGVmaW5lIEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TIDAKKyNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCisjZGVm
aW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCisjZGVmaW5lIEVOQUJMRV9JQ09OREFUQUJBU0UgMAor
I2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEKKyNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDAK
KyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAorI2RlZmluZSBFTkFCTEVfT1JJ
RU5UQVRJT05fRVZFTlRTIDEKKyNkZWZpbmUgRU5BQkxFX1JFUEFJTlRfVEhST1RUTElORyAxCisj
ZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZGVmaW5lIEhBVkVfTkVUV09SS19DRkRBVEFf
QVJSQVlfQ0FMTEJBQ0sgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNkZWZpbmUg
SEFWRV9SRUFETElORSAxCisjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAwCisjZGVmaW5lIFdU
Rl9VU0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAxCisjZGVmaW5lIFdURl9VU0Vf
UFRIUkVBRFMgMQorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKKyAgICAjZGVmaW5lIEVO
QUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAorICAg
ICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKKyNlbHNlCisgICAgI2RlZmluZSBFTkFCTEVfQ0xB
U1NJQ19JTlRFUlBSRVRFUiAwCisgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKKyAgICAjZGVmaW5l
IEVOQUJMRV9MTElOVCAxCisgICAgI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorI2VuZGlmCisK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpCisjZGVmaW5lIFdURl9V
U0VfQ0YgMQorI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JN
KFdJTl9DQUlSTykKKyNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2VuZGlmCisKKyNpZiBV
U0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUg
V1RGX1VTRV9DRlVSTENBQ0hFIDEKKyNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9O
UyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oQ0hST01JVU0pICYmICFQTEFURk9STShRVCkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZF
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9S
TShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRGT1JNKFFUKQorI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShXWCkK
KyNpZiAhQ1BVKFBQQykKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZGVmaW5lIEVOQUJM
RV9KSVQgMQorI2VuZGlmCisjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMAor
I2RlZmluZSBFTkFCTEVfTExJTlQgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgV1RGX1VTRV9D
RiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNI
SVZFIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisjaWYgSEFWRShQVEhS
RUFEX0gpCisjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURf
UldMT0NLIDEKKyNlbmRpZgorI2VsaWYgUExBVEZPUk0oUVQpICYmIE9TKFVOSVgpCisjZGVmaW5l
IFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKQorI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oQ0hST01JVU0pCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCisjZW5kaWYKKyNl
bmRpZiAvKiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCisKKyNpZiBPUyhVTklYKQor
I2RlZmluZSBIQVZFX1NJR05BTF9IIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9WQVNQ
UklOVEYpCisjaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihSVkNUKSAmJiAhQ09NUElM
RVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBPUyhRTlgpKQorI2RlZmluZSBIQVZFX1ZB
U1BSSU5URiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9TVFJOU1RSKQor
I2lmIE9TKERBUldJTikgfHwgKE9TKEZSRUVCU0QpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisj
ZGVmaW5lIEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIU9TKFdJTkRPV1Mp
ICYmICFPUyhTT0xBUklTKSBcCisgICAgJiYgIU9TKFJWQ1QpIFwKKyAgICAmJiAhT1MoQU5EUk9J
RCkKKyNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorI2RlZmluZSBIQVZFX1RNX1pPTkUgMQorI2Rl
ZmluZSBIQVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKworI2RlZmluZSBI
QVZFX0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorI2RlZmluZSBIQVZFX01N
QVAgMQorI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5l
IEhBVkVfU1lTX1RJTUVfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQorI2RlZmluZSBX
VEZfVVNFX0FDQ0VMRVJBVEUgMQorCisjaWZuZGVmIFRBUkdFVElOR19MRU9QQVJECisKKyNkZWZp
bmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04g
MQorCisjaWYgIVBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQor
I2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05Q
IDEKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9N
QURWX0ZSRUUgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCisjZW5kaWYKKwor
I2VsaWYgT1MoV0lORE9XUykKKworI2lmIE9TKFdJTkNFKQorI2RlZmluZSBIQVZFX0VSUk5PX0gg
MAorI2Vsc2UKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCisjZGVmaW5lIEhBVkVfQUxJR05F
RF9NQUxMT0MgMQorI2RlZmluZSBIQVZFX0lTREVCVUdHRVJQUkVTRU5UIDEKKyNlbmRpZgorI2Rl
ZmluZSBIQVZFX1ZJUlRVQUxBTExPQyAxCisKKyNlbGlmIE9TKFFOWCkKKworI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQorI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRV9S
RVVTRSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfVElNRV9IIDEKKyNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCisKKyNlbGlm
IE9TKEFORFJPSUQpCisKKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9MQU5H
SU5GT19IIDAKKyNkZWZpbmUgSEFWRV9OTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEKKyNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKKworI2Vsc2UKKworLyogRklYTUU6IGlzIHRoaXMgYWN0dWFsbHkg
dXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZpZy5oPyAq
LworCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCisj
ZGVmaW5lIEhBVkVfTU1BUCAxCisjZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxCisKKyNlbmRpZgorCisvKiBFTkFCTEUgbWFjcm8gZGVmYXVsdHMgKi8KKworI2lmIFBM
QVRGT1JNKFFUKQorLyogV2UgbXVzdCBub3QgY3VzdG9taXplIHRoZSBnbG9iYWwgb3BlcmF0b3Ig
bmV3IGFuZCBkZWxldGUgZm9yIHRoZSBRdCBwb3J0LiAqLworI2RlZmluZSBFTkFCTEVfR0xPQkFM
X0ZBU1RNQUxMT0NfTkVXIDAKKyNpZiAhT1MoVU5JWCkKKyNkZWZpbmUgVVNFX1NZU1RFTV9NQUxM
T0MgMQorI2VuZGlmCisjZW5kaWYKKworLyogZmFzdE1hbGxvYyBtYXRjaCB2YWxpZGF0aW9uIGFs
bG93cyBmb3IgcnVudGltZSB2ZXJpZmljYXRpb24gdGhhdAorICAgbmV3IGlzIG1hdGNoZWQgYnkg
ZGVsZXRlLCBmYXN0TWFsbG9jIGlzIG1hdGNoZWQgYnkgZmFzdEZyZWUsIGV0Yy4gKi8KKyNpZiAh
ZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKKyNkZWZpbmUgRU5B
QkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfSUNPTkRBVEFCQVNFKQorI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkKKyNkZWZpbmUgRU5BQkxF
X1NRTF9EQVRBQkFTRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKQorI2RlZmluZSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9GVFBESVIpCisjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykKKyNkZWZpbmUgRU5B
QkxFX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19T
VVBQT1JUKQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpCisjZGVmaW5lIEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKQorI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKQorI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SIDEK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0pBVkFfQlJJREdFKQorI2RlZmluZSBFTkFC
TEVfSkFWQV9CUklER0UgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQor
I2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFIDAKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BVUkdFQUJMRV9NRU1PUlkpCisjZGVmaW5lIEVOQUJMRV9Q
VVJHRUFCTEVfTUVNT1JZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VTRV9QTFVHSU5f
SE9TVF9QUk9DRVNTKQorI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQorI2RlZmluZSBF
TkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X09QQ09ERV9TVEFUUykKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TVEFUUyAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcpCisjZGVmaW5lIEVOQUJM
RV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMQorI2VuZGlmCisKKyNkZWZpbmUgRU5BQkxFX0RFQlVH
X1dJVEhfQlJFQUtQT0lOVCAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCisj
ZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCisjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19S
RUdJT05TIDAKKyNkZWZpbmUgRU5BQkxFX09QQ09ERV9TQU1QTElORyAwCisjZGVmaW5lIEVOQUJM
RV9DT0RFQkxPQ0tfU0FNUExJTkcgMAorI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpICYm
ICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQorI2Vycm9yICJDT0RFQkxPQ0tfU0FNUExJTkcgcmVx
dWlyZXMgT1BDT0RFX1NBTVBMSU5HIgorI2VuZGlmCisjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElO
RykgfHwgRU5BQkxFKFNBTVBMSU5HX0ZMQUdTKSB8fCBFTkFCTEUoU0FNUExJTkdfUkVHSU9OUykK
KyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1RIUkVBRCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDAKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJRVdQT1JUKQorI2RlZmluZSBFTkFCTEVfVklFV1BP
UlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKKyNkZWZp
bmUgRU5BQkxFX05PVElGSUNBVElPTlMgMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisj
ZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X1RFWFRfQ0FSRVQpCisjZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUE9JTlRFUl9MT0NLKQorI2Rl
ZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX1VT
RV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQorI2lmIChDUFUo
WDg2XzY0KSAmJiAoT1MoVU5JWCkgfHwgT1MoV0lORE9XUykpKSBcCisgICAgfHwgKENQVShJQTY0
KSAmJiAhQ1BVKElBNjRfMzIpKSBcCisgICAgfHwgQ1BVKEFMUEhBKSBcCisgICAgfHwgQ1BVKFNQ
QVJDNjQpIFwKKyAgICB8fCBDUFUoUzM5MFgpIFwKKyAgICB8fCBDUFUoUFBDNjQpCisjZGVmaW5l
IFdURl9VU0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyXzY0
IDEKKyNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTY0KSAmJiAhZGVm
aW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkgKi8KKworI2lmICFkZWZpbmVkKEVOQUJMRV9SRVBB
SU5UX1RIUk9UVExJTkcpCisjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMAorI2Vu
ZGlmCisKKy8qIERpc2FibGUgdGhlIEpJVCBvbiB2ZXJzaW9ucyBvZiBHQ0MgcHJpb3IgdG8gNC4x
ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgQ09NUElMRVIoR0NDKSAmJiAhR0NDX1ZF
UlNJT05fQVRfTEVBU1QoNCwgMSwgMCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKwor
LyogSklUIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV2luZG93cyA2NC1iaXQgKi8KKyNpZiAhZGVm
aW5lZChFTkFCTEVfSklUKSAmJiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2XzY0KQorI2RlZmluZSBF
TkFCTEVfSklUIDAKKyNlbmRpZgorCisvKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBv
biBhbGwgeDg2LCB4ODYtNjQsIEFSTSAmIE1JUFMgcGxhdGZvcm1zLiAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9KSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TSkgfHwgQ1BVKE1JUFMpKSBcCisgICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykg
fHwgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKKyAgICAmJiAhT1MoV0lOQ0UpIFwK
KyAgICAmJiAhT1MoUU5YKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisvKiBPbiBz
b21lIG9mIHRoZSBwbGF0Zm9ybXMgd2hlcmUgd2UgaGF2ZSBhIEpJVCwgd2Ugd2FudCB0byBhbHNv
IGhhdmUgdGhlIAorICAgbG93LWxldmVsIGludGVycHJldGVyLiAqLworI2lmICFkZWZpbmVkKEVO
QUJMRV9MTElOVCkgJiYgRU5BQkxFKEpJVCkgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKFFU
KSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZp
bmUgRU5BQkxFX0xMSU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQp
ICYmIEVOQUJMRShKSVQpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQu
ICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gKi8KKyNpZiAoQ1BVKFg4NikgfHwg
Q1BVKFg4Nl82NCkpICYmIChQTEFURk9STShNQUMpIHx8IE9TKExJTlVYKSkKKyNkZWZpbmUgRU5B
QkxFX0RGR19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gQVJNdjcuICBP
bmx5IHRlc3RlZCBvbiBpT1MuICovCisjaWYgQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElP
UykKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisjZW5kaWYKKworLyogUHJvZmls
aW5nIG9mIHR5cGVzIGFuZCB2YWx1ZXMgdXNlZCBieSBKSVQgY29kZS4gREZHX0pJVCBkZXBlbmRz
IG9uIGl0LCBidXQgeW91CisgICBjYW4gZW5hYmxlIGl0IG1hbnVhbGx5IHdpdGggREZHIHR1cm5l
ZCBvZmYgaWYgeW91IHdhbnQgdG8gdXNlIGl0IGFzIGEgc3RhbmRhbG9uZQorICAgcHJvZmlsZXIu
IEluIHRoYXQgY2FzZSwgeW91IHByb2JhYmx5IHdhbnQgdG8gYWxzbyBlbmFibGUgVkVSQk9TRV9W
QUxVRV9QUk9GSUxFCisgICBiZWxvdy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfVkFMVUVfUFJP
RklMRVIpICYmIEVOQUJMRShERkdfSklUKQorI2RlZmluZSBFTkFCTEVfVkFMVUVfUFJPRklMRVIg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVkVSQk9TRV9WQUxVRV9QUk9GSUxFKSAm
JiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCisjZGVmaW5lIEVOQUJMRV9WRVJCT1NFX1ZBTFVFX1BS
T0ZJTEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklM
SU5HKQorI2RlZmluZSBFTkFCTEVfU0lNUExFX0hFQVBfUFJPRklMSU5HIDAKKyNlbmRpZgorCisv
KiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4g
QmUgc3VyZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQorI2RlZmluZSBF
TkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlmCisKKy8qIEVuc3VyZSB0aGF0
IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVlbiBlbmFibGVkLiAqLwor
I2lmICFkZWZpbmVkKEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSKSAmJiAhRU5BQkxFKEpJVCkK
KyNkZWZpbmUgRU5BQkxFX0NMQVNTSUNfSU5URVJQUkVURVIgMQorI2VuZGlmCisjaWYgIShFTkFC
TEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikpCisjZXJyb3IgWW91IGhhdmUg
dG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1vZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlND
CisjZW5kaWYKKworI2lmIENQVShTSDQpICYmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVf
SklUIDEKKyNlbmRpZgorCisvKiBDb25maWd1cmUgdGhlIEpJVCAqLworI2lmIENQVShBUk0pCisj
aWYgIWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pICYmIFdURl9BUk1fQVJDSF9B
VF9MRUFTVCg1KQorI2RlZmluZSBFTkFCTEVfSklUX1VTRV9TT0ZUX01PRFVMTyAxCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKE1JUFMpCisjaWYg
IWRlZmluZWQoRU5BQkxFX0pJVF9VU0VfU09GVF9NT0RVTE8pCisjZGVmaW5lIEVOQUJMRV9KSVRf
VVNFX1NPRlRfTU9EVUxPIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSAmJiBDT01Q
SUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQVShY
ODYpICYmIENPTVBJTEVSKEdDQykKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9f
ICgoZmFzdGNhbGwpKQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTAorI2VuZGlmCisKKy8q
IENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KKyNpZiBDT01QSUxFUihHQ0MpIHx8IChSVkNU
X1ZFUlNJT05fQVRfTEVBU1QoNCwgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCisjZGVm
aW5lIEhBVkVfQ09NUFVURURfR09UTyAxCisjZW5kaWYKKyNpZiBIQVZFKENPTVBVVEVEX0dPVE8p
ICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmluZSBFTkFCTEVfQ09NUFVURURf
R09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKKyNlbmRpZgorCisvKiBSZWd1bGFyIEV4cHJlc3Np
b24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMg
ZHVtcGVkIGF0IGV4aXQgKi8KKyNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5HIDAKKworLyog
WWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQg
ZW5hYmxlZCBwb3J0cy4gKi8KKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNkZWZpbmUgRU5BQkxF
X1lBUlJfSklUIDAKKworI2VsaWYgRU5BQkxFKEpJVCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJf
SklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQgMQorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBj
b21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCisjZGVmaW5l
IEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpIHx8IEVO
QUJMRShZQVJSX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZW5kaWYKKworLyog
UGljayB3aGljaCBhbGxvY2F0b3IgdG8gdXNlOyB3ZSBvbmx5IG5lZWQgYW4gZXhlY3V0YWJsZSBh
bGxvY2F0b3IgaWYgdGhlIGFzc2VtYmxlciBpcyBjb21waWxlZCBpbi4KKyAgIE9uIHg4Ni02NCB3
ZSB1c2UgYSBzaW5nbGUgZml4ZWQgbW1hcCwgb24gb3RoZXIgcGxhdGZvcm1zIHdlIG1tYXAgb24g
ZGVtYW5kLiAqLworI2lmIEVOQUJMRShBU1NFTUJMRVIpCisjaWYgQ1BVKFg4Nl82NCkgfHwgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBFTkFCTEVfRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQgMQor
I2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0VYRUNVVEFCTEVfQUxMT0NBVE9SX0RFTUFORCAxCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpICYmIE9TKFdJ
TkRPV1MpCisjZGVmaW5lIEVOQUJMRV9QQU5fU0NST0xMSU5HIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NS
T0xMSU5HIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQorI2Rl
ZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAorI2VuZGlmCisKKy8qIFVzZSB0aGUgUVhtbFN0cmVh
bVJlYWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgWE1MRG9jdW1lbnRQYXJzZXIgKi8KKy8qIFVzZSB0
aGUgUVhtbFF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBYU0xUUHJvY2Vzc29yICovCisjaWYgUExB
VEZPUk0oUVQpCisjaWYgIVVTRShMSUJYTUwyKQorI2RlZmluZSBXVEZfVVNFX1FYTUxTVFJFQU0g
MQorI2RlZmluZSBXVEZfVVNFX1FYTUxRVUVSWSAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oTUFDKQorLyogQ29tcGxleCB0ZXh0IGZyYW1ld29yayAqLworI2lmbmRlZiBCVUlMRElO
R19PTl9MRU9QQVJECisjZGVmaW5lIFdURl9VU0VfQVRTVUkgMAorI2RlZmluZSBXVEZfVVNFX0NP
UkVfVEVYVCAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKKyNkZWZpbmUgV1RGX1VT
RV9DT1JFX1RFWFQgMAorI2VuZGlmCisjZW5kaWYKKworLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRp
bmcgKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQp
IHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykp
IHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElO
RyAxCisjZW5kaWYKKworLyogQ29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0
MiAqLworI2lmIFBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJ
TkcgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05f
U1BBQ0VfQVVUSF9DQUxMQkFDSyAxCisjZW5kaWYKKworI2lmICFFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkgfHwgKEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAoKE9TKFVOSVgpICYm
IChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV1gpKSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShFRkwpKSkKKyNkZWZpbmUgRU5BQkxFX1BMVUdJTl9QQUNLQUdFX1NJTVBMRV9IQVNIIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xJT04pCisjZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQorI2Vu
ZGlmCisKKy8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3IgdGhhdCBpcyBpbnRl
bmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNlIGFmdGVyIEVycm9y
LiAqLworI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVTRV9tYWNyb19zaG91
bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSworCisvKiBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91
bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQgb2YgdGhlIGRlZmlu
ZS4gKi8KKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9QTEFURk9STV9TVFJBVEVHSUVTIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oV0lOKQorI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRG
T1JNX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIEhBVkUo
QUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVO
VVMgMQorI2VuZGlmCisKKy8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2
ZSBwb2xpY3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBs
b2NhdGlvbi4gKi8KKyNkZWZpbmUgV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJ
T04gMQorCisjaWYgQ1BVKEFSTV9USFVNQjIpCisjZGVmaW5lIEVOQUJMRV9CUkFOQ0hfQ09NUEFD
VElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFU
Q0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQ
QVRDSCAxCisjZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFESU5HX09QRU5NUCkgJiYgZGVmaW5l
ZChfT1BFTk1QKQorI2RlZmluZSBFTkFCTEVfVEhSRUFESU5HX09QRU5NUCAxCisjZWxpZiAhZGVm
aW5lZChUSFJFQURJTkdfR0VORVJJQykKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19HRU5FUklD
IDEKKyNlbmRpZgorCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNpbmNsdWRlIDx3dGYvZ29i
amVjdC9HVHlwZWRlZnMuaD4KKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBkZWZpbmUgd29uJ3Qg
YmUgbmVlZGVkIG9uY2UgIzI3NTUxIGlzIGZ1bGx5IGxhbmRlZC4gSG93ZXZlciwgCisgICBzaW5j
ZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRk
aW5nIG5ldyBoZWFkZXJzCisgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFu
ZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKKyAgIGJyZWFrYWdlcyBvbmUg
cG9ydCBhdCBhIHRpbWUuICovCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkgfHwg
UExBVEZPUk0oV1gpCisjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAxCisjZWxzZQorI2Rl
ZmluZSBXVEZfVVNFX0VYUE9SVF9NQUNST1MgMAorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oUVQp
ICYmICFPUyhEQVJXSU4pKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNkZWZp
bmUgV1RGX1VTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIENPTVBJTEVSKEdDQykgJiYgKENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSkKKyNkZWZpbmUgRU5BQkxFX0NPTVBBUkVf
QU5EX1NXQVAgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYm
IChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpKSAmJiBFTkFC
TEUoQ09NUEFSRV9BTkRfU1dBUCkKKyNkZWZpbmUgRU5BQkxFX1BBUkFMTEVMX0dDIDEKKyNlbmRp
ZgorCisjaWZuZGVmIE5ERUJVRworI2lmbmRlZiBFTkFCTEVfR0NfVkFMSURBVElPTgorI2RlZmlu
ZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpCisjZGVmaW5lIFdURl9VU0VfQVZGT1VOREFUSU9OIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xJT04pCisjZGVmaW5lIFdURl9VU0VfQ09SRU1FRElBIDEKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgKFBMQVRGT1JN
KFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKEJMQUNLQkVSUlkpCisjZGVmaW5lIFdURl9VU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCisjZGVmaW5lIEhBVkVfSU5WRVJURURfV0hFRUxfRVZFTlRTIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKQorI2RlZmluZSBXVEZfVVNFX0NPUkVBVURJTyAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQorI2lmICFkZWZpbmVkKFdURl9VU0VfVjgpCisjZGVmaW5lIFdU
Rl9VU0VfVjggMQorI2VuZGlmCisjZW5kaWYgLyogUExBVEZPUk0oQ0hST01JVU0pICovCisKKyNp
ZiAhZGVmaW5lZChXVEZfVVNFX1Y4KQorI2RlZmluZSBXVEZfVVNFX1Y4IDAKKyNlbmRpZiAvKiAh
ZGVmaW5lZChXVEZfVVNFX1Y4KSAqLworCisvKiBVc2luZyBWOCBpbXBsaWVzIG5vdCB1c2luZyBK
U0MgYW5kIHZpY2UgdmVyc2EgKi8KKyNkZWZpbmUgV1RGX1VTRV9KU0MgIVdURl9VU0VfVjgKKwor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSAmJiBQTEFURk9STShNQUMpCisjZGVmaW5lIEVOQUJM
RV9URVhUX05PVElGSUNBVElPTlNfT05MWSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFdURl9V
U0VfV1RGVVJMKQorI2RlZmluZSBXVEZfVVNFX1dURlVSTCAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKFdURl9VU0VfWkxJQikgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBXVEZfVVNFX1pMSUIg
MQorI2VuZGlmCisKKyNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCA0N2RjMTM3Y2E5MTE3NTQyY2Y3YzBmNWU3ZjhlNTZmNmQwMWZlNjU2Li5jODRjMzEz
OTYyMDBjN2ExZGZhZWQyMDYwOGJhYWVhNjI1ODFjN2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMSw1ICsxLDYgQEAKIFNFVChXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtX
RUJDT1JFX0RJUn0iCisgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvZmlsZXN5c3RlbSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9nZW9sb2NhdGlvbiIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9pbmRleGVkZGIiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApp
bmRleCA2MmY0YjMxMTYyZTVhYmRiMmQ0YzBhMmE3Mzc5MWI1M2FlYWM5ZDFjLi5mMTNlYzI2OTA2
ZTlmNjRmZTY5ZmU0ZGExMDA0OGZhYTMwZjQxOTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTEs
NCArMSw1IEBACiBTRVQoV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtXVEZfRElS
fSIKICAgICAiJHtXRUJLSVRfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0iCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvd2ViZGF0YWJhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRhdGFi
YXNlX3AuaAppbmRleCBlYzAzZWE1ZTIwMjlkNzhmNjQ5NDk0OTQ0NzAzOTA0MWY3NmEzNmNlLi4y
OTg0NzA0NDI1NTBjODk0ZWZmOGQwYzM3OGUzMzFhOWVmODk4MzRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZGF0YWJhc2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJkYXRhYmFzZV9wLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRlICJSZWZQ
dHIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIAogY2xhc3MgUVdlYkRhdGFiYXNlUHJp
dmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNjcmlw
dHdvcmxkX3AuaAppbmRleCA3MTE1ZWIyYzUwYjkxOWNmMjg1ODViMTQxOTIwYTNkNDA0NTRkNWY0
Li44YzE4ZTIzZWQ4NDdkN2E5MTg0YWExZjkwZTgxZTQ0NDEwMjMyYzYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2NyaXB0d29ybGRfcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJzY3JpcHR3b3JsZF9wLmgKQEAgLTIwLDcgKzIwLDcgQEAKICNpZm5kZWYg
X1FXRUJTQ1JJUFRXT1JMRF9QX0hfCiAjZGVmaW5lIF9RV0VCU0NSSVBUV09STERfUF9IXwogCi0j
aW5jbHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzZWN1cml0eW9yaWdpbl9wLmgKaW5kZXggY2RjOTNiZDE0MWFjYmM0MWZhMTA3MGEw
YWZlZDM2ZWNlNzE1NmUxNS4uMWI2NGM0OWYwYzE0MjA5ZWYwMTg1NDU4NjFhYzJkM2M1NzY1MjNl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luX3Au
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW5fcC5oCkBAIC0y
MSw3ICsyMSw3IEBACiAjZGVmaW5lIF9XRUJTRUNVUklUWU9SSUdJTl9QX0hfCiAKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlJlZlB0ci5oIgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogY2xhc3MgUVdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZSA6IHB1YmxpYyBRU2hh
cmVkRGF0YSB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggYzk0ZDYxYTMyOTQwYTZhNDNkNTZlOWRlZTll
NDE4MjhiN2QyNDFkYy4uNmM3ZDAwZjg1ZDc4NDlmNTViODIxNTk2NDcwN2Y5MWZhOTU0ZTY1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuaApAQCAtMzIsMTAgKzMyLDEwIEBACiAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgiCi0jaW5jbHVkZSAi
T3duUHRyLmgiCi0jaW5jbHVkZSAiUGFzc093blB0ci5oIgogI2luY2x1ZGUgPFF0Q29yZS9RU3Ry
aW5nPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIFFXZWJQYWdlOwogY2xhc3MgUVdl
YlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFs
bGJhY2tXZWJQb3B1cC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxi
YWNrV2ViUG9wdXAuaAppbmRleCBlYTExMWZhNWNmZTFjMzYyYjk0Y2NjNGZjMGQzNTFkZTk4NTJi
ZTkzLi4yOTgwZDQ1ODI0YTY3ZWRlZTQ5OTEyYWE0YThlMmU4YWQ5NGEzOTcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmgK
QEAgLTIwLDggKzIwLDggQEAKICNpZm5kZWYgUXRGYWxsYmFja1dlYlBvcHVwX2gKICNkZWZpbmUg
UXRGYWxsYmFja1dlYlBvcHVwX2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAjaW5jbHVkZSAi
cXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgiCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKICNp
bmNsdWRlIDxRQ29tYm9Cb3g+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9RdFdlYkNvbWJvQm94LmgKaW5kZXggYmNhMmU1ZjM4MmJmMmFjMGNjNjQwNGIxYjBlNWE4MWJl
ZTNiZTgxMS4uNDI2NDc1NzY2NzgyMjRiNDU4Y2I2MDY5MTU1NWU3Y2IwZWRkZDM5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKQEAgLTIx
LDcgKzIxLDcgQEAKICNpZm5kZWYgUXRXZWJDb21ib0JveF9oCiAjZGVmaW5lIFF0V2ViQ29tYm9C
b3hfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm0uaCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
IAogI2luY2x1ZGUgPFFDb21ib0JveD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9k
ZWNsYXJhdGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnByaSBiL1NvdXJjZS9XZWJLaXQv
cXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL2V4cGVyaW1lbnRhbC5wcmkKaW5kZXggNTgzNzI2
ZjYyY2ZjYjZiYTg5NmI1NTU5YTk5ZWJkNGZlN2NlMWE0OS4uMTUzODZiODA3MWY2NzY3MjM2YWU1
OTQ2Y2Q2M2ZkNWU5NGZhMzViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9kZWNsYXJh
dGl2ZS9leHBlcmltZW50YWwvZXhwZXJpbWVudGFsLnByaQorKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9leHBlcmltZW50YWwucHJpCkBAIC00Myw3ICs0Myw4
IEBAIElOQ0xVREVQQVRIICs9IFwKICAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZSBcCiAgICAgLi4vLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCiAgICAg
Li4vLi4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybSBcCi0gICAgLi4vLi4vLi4vLi4vV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDCisgICAgLi4vLi4vLi4vLi4vV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
IFwKKyAgICAuLi8uLi8uLi8uLi9XVEYKIAogdGFyZ2V0LnBhdGggPSAkJFtRVF9JTlNUQUxMX0lN
UE9SVFNdLyQke1RBUkdFVC5tb2R1bGVfbmFtZX0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9kZWNsYXJhdGl2ZS9wdWJsaWMucHJpIGIvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2
ZS9wdWJsaWMucHJpCmluZGV4IGUzODllMzhlYjA4OTMyZDVmNmJhOTY2YWE1Zjc4YjFiYTU2ZTE2
ZGIuLmEyZjc3ZWU3YzdmNmY1MWVmYmNkM2NmOTBjZTRkNGIyYzJjZjhhOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcHVibGljLnByaQorKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L2RlY2xhcmF0aXZlL3B1YmxpYy5wcmkKQEAgLTQ0LDcgKzQ0LDggQEAgSU5DTFVERVBB
VEggKz0gXAogICAgIC4uLy4uLy4uL1dlYktpdDIvU2hhcmVkL3F0IFwKICAgICAuLi8uLi8uLi9K
YXZhU2NyaXB0Q29yZSBcCiAgICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCi0g
ICAgLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmCisgICAgLi4vLi4vLi4vSmF2YVNjcmlwdENv
cmUvd3RmIFwKKyAgICAuLi8uLi8uLi9XVEYKIAogU09VUkNFUyArPSBwbHVnaW4uY3BwCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZmaW5nL01JTUVTbmlmZmlu
Zy5wcm8gYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL01JTUVTbmlmZmluZy9NSU1FU25pZmZpbmcu
cHJvCmluZGV4IGZlNTBmMWIzNDNhNzk2NjhiMDI1N2NhNjg4YWNiZDE5NWNmZjQyMjEuLmM4NTZh
NmU3ZGEwZDQ5NzU1YTBmYWVhM2I2N2JiNDI4ODgwZTlhMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvTUlNRVNuaWZmaW5nL01JTUVTbmlmZmluZy5wcm8KKysrIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9NSU1FU25pZmZpbmcvTUlNRVNuaWZmaW5nLnBybwpAQCAtMTAsNiAr
MTAsNyBAQCBIRUFERVJTICs9IFwKIElOQ0xVREVQQVRIICs9IFwKICAgICAuLi8uLi8uLi8uLi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsgXAogICAgIC4uLy4uLy4uLy4uL0phdmFTY3JpcHRDb3Jl
IFwKLSAgICAuLi8uLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lCisgICAgLi4vLi4vLi4v
Li4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCisgICAgLi4vLi4vLi4vLi4vV1RGCiAKIFJFU09V
UkNFUyArPSByZXNvdXJjZXMucXJjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
cXQvUXROZXR3b3JrUmVwbHlEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3
b3JrUmVwbHlEYXRhLmgKaW5kZXggZDE1NjViZWMyMGRkZWFhMDM0YjM4MzgyMTkxYmY5MTBjMTlk
MDYwNS4uNDU3ZDdiZTI3YWYwM2Y4YzRhMmRmNDNhZGEyNzk1NTM2OTBmYTY5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaApAQCAtMjYsMTAgKzI2
LDEwIEBACiAjaWZuZGVmIFF0TmV0d29ya1JlcGx5RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1Jl
cGx5RGF0YV9oCiAKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgotI2luY2x1ZGUgIlJlZkNvdW50
ZWQuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vz
c01hbmFnZXI+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29y
a1JlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1
ZXN0RGF0YS5jcHAKaW5kZXggZjIxMDY2MGZkNGU1MzM2MTVjM2EyY2Y3YTAwNzdhNDkxZTU3N2M1
Mi4uOGE4MGZiMzY5OTFmZjU4YmQ2NGZmNmVlMThmNTY5OWFlMmUzZTkyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCkBAIC0yNywx
MSArMjcsMTEgQEAKICNpbmNsdWRlICJRdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIgogCiAjaW5jbHVk
ZSAiQXJndW1lbnRDb2RlcnNRdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KICNpbmNs
dWRlIDxRTmV0d29ya1JlcXVlc3Q+CiAjaW5jbHVkZSA8UVV1aWQ+CisjaW5jbHVkZSA8d3RmL1Bs
YXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1Jl
cXVlc3REYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERh
dGEuaAppbmRleCAwODJkNDk5Y2MyNjljYTE5YmQzYTJkNmNiN2FmNWRlZmYwYjI0NzRlLi45NDBi
ZjgxNWY2MjUzMWZiMzEyNDVjYzkzNzM1ZWM5Y2Q2NmUyMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaApAQCAtMjYsNyArMjYsNyBAQAog
I2lmbmRlZiBRdE5ldHdvcmtSZXF1ZXN0RGF0YV9oCiAjZGVmaW5lIFF0TmV0d29ya1JlcXVlc3RE
YXRhX2gKIAotI2luY2x1ZGUgIlJlZkNvdW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQ
QyB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
NmM0ODU3ZjgzMTdhYWNhOTc1ZGYyMzg2NjM4MDExOTQ1NDRiZmI5Yy4uMDI1MDg0MWE4ZWVlOTlk
OGVjYTVlNmVlZjVmYzA2MjVhMTdiZTVkMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTIwICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZy
b20gSmF2YVNjcmlwdENvcmUgdG8gU291cmNlL1dURi93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGluY2x1ZGUgcGF0aHMgZm9yIFNvdXJj
ZS9XVEYuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm86CisgICAgICAgICogU2NyaXB0cy9idWls
ZC13ZWJraXQ6IEJ1aWxkIFNvdXJjZS9XVEYgb24gQXBwbGVXaW4gYXMgd2VsbC4KKwogMjAxMi0w
My0yMCAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
IHRoZSBsYXN0IHRlc3QgdG8gdXNlIEVYUEVDVF9XS19TVFJFUS4KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9DTWFrZUxpc3RzLnR4dAppbmRleCAzYzFmZWFiYmQ5MGUxNDBiMjdlZGFmNGRlMThkMTFh
NTRiNjA0ZjlkLi5jYWJlNGNmMWVjOTk0MjQyOTY0ZTk1NjI5OWU5OGIwYjllMDRmMjY2IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC00MSw2ICs0MSw3IEBAIFNF
VChEdW1wUmVuZGVyVHJlZV9MSUJSQVJJRVMKICkKIAogU0VUKER1bXBSZW5kZXJUcmVlX0lOQ0xV
REVfRElSRUNUT1JJRVMKKyAgICAke1dURl9ESVJ9CiAgICAgIiR7V0VCS0lUX0RJUn0vZWZsL2V3
ayIKICAgICAke1dFQktJVF9ESVJ9L2VmbAogICAgICR7V0VCQ09SRV9ESVJ9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8gYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KaW5kZXggNTY2MDRkNTE4NTZjM2RiOWRi
MDA1MmFkYTlmMmI2ODViNWRkYTA2MC4uNTRiY2RiZmUwYWU5OTRhODhkNGU1ZWI1YTlhOWI1NGQ3
MTc0OWMzZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWUucHJvCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwpA
QCAtMTUsNyArMTUsOCBAQCBXRUJLSVQgKz0gd3RmIHdlYmNvcmUKIAogSU5DTFVERVBBVEggKz0g
XAogICAgICQkUFdELy4uIFwKLSAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQKKyAgICAkJHtST09UX1dFQktJVF9ESVJ9L1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQgXAorICAgICQke1JPT1RfV0VCS0lUX0RJUn0vU291cmNlL1dURgog
CiBRVCA9IGNvcmUgZ3VpIG5ldHdvcmsgdGVzdGxpYiB3ZWJraXQKIG1hY3g6IFFUICs9IHhtbApk
aWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybyBiL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KaW5kZXggNjI4ZGMxZjQyMmIxZjQxNDE3
ZGM3YjFkMWQ4NTIzMGQ5NTNiMTk3YS4uNmQ4YTQxYjcyM2NhNDllMGE2NWRiMGRlNzNiODMzYmIz
ZTE4YzAwZiAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBy
bworKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvCkBAIC05LDYgKzks
NyBAQCBURU1QTEFURSA9IGFwcAogSU5DTFVERVBBVEggKz0gXAogICAgICQke1JPT1RfV0VCS0lU
X0RJUn0vU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydCBcCiAgICAgJCR7Uk9PVF9XRUJL
SVRfRElSfS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC8gXAorICAgICQke1JPT1RfV0VCS0lUX0RJ
Un0vU291cmNlL1dURgogCiBsb2FkKGZlYXR1cmVzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IDhhNzQ5
YWQ0YmE3OTg0MDllY2NkNmRiNWFlNjhlNmZjMTE0YjczNzIuLmRkMTQ1ZDM4Zjg2MTg2NTljZmY1
YzRiMDBlYzRmODcxYWM0ZmQ4MmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC00OTYsNyArNDk2LDcgQEAg
c3ViIHVubGlua1plcm9GaWxlcygpCiBteSBAcHJvamVjdHMgPSAoIlNvdXJjZS9KYXZhU2NyaXB0
Q29yZSIsICJTb3VyY2UvV2ViQ29yZSIsICJTb3VyY2UvV2ViS2l0Iik7CiAKICMgQnVpbGQgV1RG
IGFzIGEgc2VwYXJhdGUgc3RhdGljIGxpYnJhcnkgb24gcG9ydHMgd2hpY2ggc3VwcG9ydCBpdC4K
LXNwbGljZSBAcHJvamVjdHMsIDAsIDAsICJTb3VyY2UvV1RGIiBpZiBpc0FwcGxlTWFjV2ViS2l0
KCk7CitzcGxpY2UgQHByb2plY3RzLCAwLCAwLCAiU291cmNlL1dURiIgaWYgaXNBcHBsZU1hY1dl
YktpdCgpIG9yIGlzQXBwbGVXaW5XZWJLaXQoKTsKIAogZm9yIG15ICRkaXIgKEBwcm9qZWN0cykg
ewogICAgIGlmICghIC1kICRkaXIpIHsKZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01h
a2VMaXN0cy50eHQKaW5kZXggNGY4MWE0NTQyMDc0YzA5YjA2ZjA5ZGYwZjcyOTc5Njg1NGM4ZDQ2
Yy4uYTljMWJhOWE0NGNkNTRkMzc2YjRmNjRkZTZkNGYxNTE3NzcwYjNlMSAxMDA2NDQKLS0tIGEv
Q01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50eHQKQEAgLTI3LDYgKzI3LDcgQEAgSUYg
KE9OTFlfQlVJTERfSkFWQVNDUklQVENPUkUpCiAgICAgU0VUKEVOQUJMRV9UT09MUyBPRkYpCiBF
TkRJRiAoKQogCitTRVQoV1RGX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV1RGIikK
IFNFVChKQVZBU0NSSVBUQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL0phdmFT
Y3JpcHRDb3JlIikKIFNFVChXRUJDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2Uv
V2ViQ29yZSIpCiBTRVQoV0VCS0lUX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2Vi
S2l0IikKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhYmVlNTBkMmY0
ZjA0YWI1NWI4ZDQ0YjdjZjRjNDM5MGFmZjM4YmQwLi5kYWYwYjQyYzU0MDZlY2MxYTg0OTQzNjU2
NjBmMzZhMzZhNWI4MWYzIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgorCisgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0Q29yZSB0byBT
b3VyY2UvV1RGL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBEZWZpbmUgV1RGX0RJUgorCiAyMDEyLTAzLTIwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBo
YXNTcGVsbGluZ01hcmtlciB0byB1c2UgSW50ZXJuYWxzIGludGVyZmFjZS4K
</data>
<flag name="review"
          id="136742"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="136743"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>