<?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>170997</bug_id>
          
          <creation_ts>2017-04-19 09:42:47 -0700</creation_ts>
          <short_desc>Clean up ICU headers</short_desc>
          <delta_ts>2017-04-24 22:19:11 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=169458</see_also>
          <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>169458</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy VanWagoner">andy</reporter>
          <assigned_to name="Andy VanWagoner">andy</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1298701</commentid>
    <comment_count>0</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2017-04-19 09:42:47 -0700</bug_when>
    <thetext>Ideally we should not need the ICU headers in the WebKit source, so if possible, we should remove them.

If we cannot remove them, then all ICU headers should be on the same version (iirc 55.1 is the minimum version for all platforms).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298724</commentid>
    <comment_count>1</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 10:36:41 -0700</bug_when>
    <thetext>We seem to have 4 copies, and as best I can tell from the project files we probably don&apos;t build for earlier than 10.10 at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298763</commentid>
    <comment_count>2</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2017-04-19 11:54:30 -0700</bug_when>
    <thetext>I found the ICU headers in Xcode.app/Contents but it looks like it is only part of the AppleTV, iPhone, &amp; Watch platforms.

/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/include/unicode
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/include/unicode

The MacOSX platform does *not* have a corresponding include folder.

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/unicode

Should the README in the icu folders of the projects be updated to make it more clear that it&apos;s not just Mac OS X 10.4, but also all subsequent versions of Mac OS X, that require the headers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298786</commentid>
    <comment_count>3</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 12:56:39 -0700</bug_when>
    <thetext>(In reply to Andy VanWagoner from comment #2)
&gt; I found the ICU headers in Xcode.app/Contents but it looks like it is only
&gt; part of the AppleTV, iPhone, &amp; Watch platforms.
&gt; 
&gt; /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/
&gt; Developer/SDKs/AppleTVOS.sdk/usr/include/unicode
&gt; /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
&gt; Developer/SDKs/iPhoneOS.sdk/usr/include
&gt; /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/
&gt; Developer/SDKs/WatchOS.sdk/usr/include/unicode
&gt; 
&gt; The MacOSX platform does *not* have a corresponding include folder.
&gt; 
&gt; /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
&gt; Developer/SDKs/MacOSX.sdk/usr/include/unicode
&gt; 
&gt; Should the README in the icu folders of the projects be updated to make it
&gt; more clear that it&apos;s not just Mac OS X 10.4, but also all subsequent
&gt; versions of Mac OS X, that require the headers?

Dan was just telling me the same thing :)

I think you&apos;re correct: the READMEs are misleading, it&apos;s 10.4 and up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300214</commentid>
    <comment_count>4</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2017-04-22 10:57:49 -0700</bug_when>
    <thetext>I&apos;ve started by simply updating all the existing files to v55.1. Should I add headers we don&apos;t use yet, as long as they are part of the C API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300520</commentid>
    <comment_count>5</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-24 09:16:26 -0700</bug_when>
    <thetext>(In reply to Andy VanWagoner from comment #4)
&gt; I&apos;ve started by simply updating all the existing files to v55.1. Should I
&gt; add headers we don&apos;t use yet, as long as they are part of the C API?

I think this would be fine since we already support 55.1. Of course, use of newer APIs will need the same gymnastics to avoid breaking older ports.

Could you also update the READMEs to avoid the confusing w.r.t. 10.4? It seems the issue it mentions is here to stay, not a temporary thing as it makes it sound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300838</commentid>
    <comment_count>6</comment_count>
      <attachid>308046</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2017-04-24 19:22:06 -0700</bug_when>
    <thetext>Created attachment 308046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300860</commentid>
    <comment_count>7</comment_count>
      <attachid>308046</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-24 20:18:59 -0700</bug_when>
    <thetext>Comment on attachment 308046
Patch

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

Looks good, will wait for bots to be happy too.

&gt; Source/JavaScriptCore/icu/unicode/platform.h:127
&gt; + *  http://www.chromium.org/nativeclient

lol

&gt; Source/JavaScriptCore/icu/unicode/uchar.h:42
&gt; +#define U_UNICODE_VERSION &quot;7.0&quot;

Does this indirectly make us support new things through the system library? i.e. new things in the .h opt us into thing the library supported but were off due to some header-declared feature set? I don&apos;t know how most of ICU works :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300868</commentid>
    <comment_count>8</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2017-04-24 20:44:02 -0700</bug_when>
    <thetext>(In reply to JF Bastien from comment #7)
&gt; Comment on attachment 308046 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=308046&amp;action=review
&gt; 
&gt; Looks good, will wait for bots to be happy too.
&gt; 
&gt; &gt; Source/JavaScriptCore/icu/unicode/platform.h:127
&gt; &gt; + *  http://www.chromium.org/nativeclient
&gt; 
&gt; lol
&gt; 
&gt; &gt; Source/JavaScriptCore/icu/unicode/uchar.h:42
&gt; &gt; +#define U_UNICODE_VERSION &quot;7.0&quot;
&gt; 
&gt; Does this indirectly make us support new things through the system library?
&gt; i.e. new things in the .h opt us into thing the library supported but were
&gt; off due to some header-declared feature set? I don&apos;t know how most of ICU
&gt; works :)

Considering the system headers are used on most platforms, including iOS, Apple TV, and Apple Watch, I don&apos;t think this opts us into anything in particular. There are a few defines that can cause the build to fail if left their original value, and so I preserved the edits we had in them and documented it.

This particular define is actually the following in my iPhoneOS.platform version:

#define U_UNICODE_VERSION &quot;8.0&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300887</commentid>
    <comment_count>9</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-24 21:48:53 -0700</bug_when>
    <thetext>OK this looks good. iOS-sim fails seem unrelated.

I&apos;ll revert if anything breaks, but this seems pretty low risk. Thanks for taking this on :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300888</commentid>
    <comment_count>10</comment_count>
      <attachid>308046</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-24 21:49:03 -0700</bug_when>
    <thetext>Comment on attachment 308046
Patch

cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300901</commentid>
    <comment_count>11</comment_count>
      <attachid>308046</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-24 22:19:10 -0700</bug_when>
    <thetext>Comment on attachment 308046
Patch

Clearing flags on attachment: 308046

Committed r215722: &lt;http://trac.webkit.org/changeset/215722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300902</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-24 22:19:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308046</attachid>
            <date>2017-04-24 19:22:06 -0700</date>
            <delta_ts>2017-04-24 22:19:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170997-20170424202202.patch</filename>
            <type>text/plain</type>
            <size>611999</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTUzZDNhZWJmMGJkNzI4ZTYwN2UyMDQ0ZTc1NGZlMjkwZmIxMTI2Li4zZjI0OWQwZTM3OTk0ZDAy
NjJhYzE5ZDMwMTg4NWUzNTk1YzhhM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxNy0wNC0yNCAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJA
Z21haWwuY29tPgorCisgICAgICAgIENsZWFuIHVwIElDVSBoZWFkZXJzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA5OTcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYWxsIGljdSBoZWFkZXJz
IHRvIDU1LjEKKworICAgICAgICAqIGljdS9MSUNFTlNFOiBVcGRhdGUgY29weXJpZ2h0CisgICAg
ICAgICogaWN1L1JFQURNRTogRXhwbGFpbiBJQ1UgaGVhZGVycyBmb3IgT1MgWCBiZXR0ZXIKKyAg
ICAgICAgKiBpY3UvdW5pY29kZS9sb2NhbHBvaW50ZXIuaDoKKyAgICAgICAgKExvY2FsUG9pbnRl
cjo6TG9jYWxQb2ludGVyKToKKyAgICAgICAgKExvY2FsUG9pbnRlcjo6YWRvcHRJbnN0ZWFkQW5k
Q2hlY2tFcnJvckNvZGUpOgorICAgICAgICAqIGljdS91bmljb2RlL3BsYXRmb3JtLmg6CisgICAg
ICAgICogaWN1L3VuaWNvZGUvcHV0aWwuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91Y2FsLmg6
CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNoYXIuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91
Y252Lmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNvbC5oOgorICAgICAgICAqIGljdS91bmlj
b2RlL3Vjb25maWcuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91Y3Vyci5oOgorICAgICAgICAq
IGljdS91bmljb2RlL3VkYXRwZy5oOgorICAgICAgICAqIGljdS91bmljb2RlL3VkaXNwbGF5Y29u
dGV4dC5oOgorICAgICAgICAqIGljdS91bmljb2RlL3Vmb3JtYXR0YWJsZS5oOgorICAgICAgICAq
IGljdS91bmljb2RlL3Vsb2MuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91bWFjaGluZS5oOgor
ICAgICAgICAqIGljdS91bmljb2RlL3VudW0uaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91bnVt
c3lzLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXJlbmFtZS5oOgorICAgICAgICAqIGljdS91
bmljb2RlL3VzY3JpcHQuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91c2V0Lmg6CisgICAgICAg
ICogaWN1L3VuaWNvZGUvdXN0cmluZy5oOgorICAgICAgICAqIGljdS91bmljb2RlL3V0ZjguaDoK
KyAgICAgICAgKiBpY3UvdW5pY29kZS91dHlwZXMuaDoKKwogMjAxNy0wNC0yMiAgSkYgQmFzdGll
biAgPGpmYmFzdGllbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6IE1vZHVsZS5l
eHBvcnRzLCBNb2R1bGUuaW1wb3J0cywgTW9kdWxlLmN1c3RvbVNlY3Rpb25zIGFyZSB3cm9uZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCBlMGVjZjliOWQ4Zjk3YWJiNTFhNzUxYjc5YzE1ZDA0YTM2ZTgwMjA0Li5kN2JkOGI5NzE2
YjIxMmZjZDIyMTVjZjNlYTNmODY4NDFkZjI0ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3
LTA0LTI0ICBBbmR5IFZhbldhZ29uZXIgIDx0aGV0YWxlY3JhZnRlckBnbWFpbC5jb20+CisKKyAg
ICAgICAgQ2xlYW4gdXAgSUNVIGhlYWRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MDk5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBhbGwgaWN1IGhlYWRlcnMgdG8gNTUuMQorCisgICAg
ICAgICogaWN1L0xJQ0VOU0U6IFVwZGF0ZSBjb3B5cmlnaHQKKyAgICAgICAgKiBpY3UvUkVBRE1F
OiBFeHBsYWluIElDVSBoZWFkZXJzIGZvciBPUyBYIGJldHRlcgorICAgICAgICAqIGljdS91bmlj
b2RlL2xvY2FscG9pbnRlci5oOgorICAgICAgICAoTG9jYWxQb2ludGVyOjpMb2NhbFBvaW50ZXIp
OgorICAgICAgICAoTG9jYWxQb2ludGVyOjphZG9wdEluc3RlYWRBbmRDaGVja0Vycm9yQ29kZSk6
CisgICAgICAgICogaWN1L3VuaWNvZGUvcGxhdGZvcm0uaDoKKyAgICAgICAgKiBpY3UvdW5pY29k
ZS9wdXRpbC5oOgorICAgICAgICAqIGljdS91bmljb2RlL3N0ZF9zdHJpbmcuaDoKKyAgICAgICAg
KiBpY3UvdW5pY29kZS91YnJrLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNoYXIuaDoKKyAg
ICAgICAgKiBpY3UvdW5pY29kZS91Y252Lmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNvbC5o
OgorICAgICAgICAqIGljdS91bmljb2RlL3Vjb25maWcuaDoKKyAgICAgICAgKiBpY3UvdW5pY29k
ZS91Y3Vyci5oOgorICAgICAgICAqIGljdS91bmljb2RlL3Vsb2MuaDoKKyAgICAgICAgKiBpY3Uv
dW5pY29kZS91bWFjaGluZS5oOgorICAgICAgICAqIGljdS91bmljb2RlL3VuaXN0ci5oOgorICAg
ICAgICAoVW5pY29kZVN0cmluZzo6Z2V0QXJyYXlTdGFydCk6CisgICAgICAgIChVbmljb2RlU3Ry
aW5nOjpVbmljb2RlU3RyaW5nKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6Omhhc1Nob3J0TGVu
Z3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OmdldFNob3J0TGVuZ3RoKToKKyAgICAgICAg
KFVuaWNvZGVTdHJpbmc6Omxlbmd0aCk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjpnZXRDYXBh
Y2l0eSk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjppc0JvZ3VzKToKKyAgICAgICAgKFVuaWNv
ZGVTdHJpbmc6OmlzV3JpdGFibGUpOgorICAgICAgICAoVW5pY29kZVN0cmluZzo6aXNCdWZmZXJX
cml0YWJsZSk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjpnZXRCdWZmZXIpOgorICAgICAgICAo
VW5pY29kZVN0cmluZzo6aXNFbXB0eSk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjpzZXRaZXJv
TGVuZ3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OnNldFNob3J0TGVuZ3RoKToKKyAgICAg
ICAgKFVuaWNvZGVTdHJpbmc6OnNldExlbmd0aCk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjpz
ZXRUb0VtcHR5KToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OnJlbW92ZSk6CisgICAgICAgICog
aWN1L3VuaWNvZGUvdXJlbmFtZS5oOgorICAgICAgICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDoK
KyAgICAgICAgKiBpY3UvdW5pY29kZS91c2V0Lmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXN0
cmluZy5oOgorICAgICAgICAqIGljdS91bmljb2RlL3V0ZjguaDoKKyAgICAgICAgKiBpY3UvdW5p
Y29kZS91dHlwZXMuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91dmVybnVtLmg6CisKIDIwMTct
MDQtMjIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gR2V0IHN0YWNrIHBvaW50ZXIgd2l0aG91dCBwdGhyZWFkIGF0dHIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA1NmUxZGUxZmQ0M2VhNTRlMzE5NTMzOTg3OTYzZTljY2ZhZTRiODE5Li5lMDE3NzRkZWE2Mjhh
MGY3Zjg1Mzg2OWZkMWYwNjYyM2E1NWZhMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAK
KzIwMTctMDQtMjQgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4K
KworICAgICAgICBDbGVhbiB1cCBJQ1UgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwOTk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGFsbCBpY3UgaGVhZGVycyB0byA1NS4xCisK
KyAgICAgICAgKiBpY3UvTElDRU5TRTogVXBkYXRlIGNvcHlyaWdodAorICAgICAgICAqIGljdS9S
RUFETUU6IEV4cGxhaW4gSUNVIGhlYWRlcnMgZm9yIE9TIFggYmV0dGVyCisgICAgICAgICogaWN1
L3VuaWNvZGUvbG9jYWxwb2ludGVyLmg6CisgICAgICAgIChMb2NhbFBvaW50ZXI6OkxvY2FsUG9p
bnRlcik6CisgICAgICAgIChMb2NhbFBvaW50ZXI6OmFkb3B0SW5zdGVhZEFuZENoZWNrRXJyb3JD
b2RlKToKKyAgICAgICAgKiBpY3UvdW5pY29kZS9wbGF0Zm9ybS5oOgorICAgICAgICAqIGljdS91
bmljb2RlL3B1dGlsLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvc3RkX3N0cmluZy5oOgorICAg
ICAgICAqIGljdS91bmljb2RlL3VicmsuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91Y2hhci5o
OgorICAgICAgICAqIGljdS91bmljb2RlL3VjbnYuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91
Y29sLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNvbGVpdHIuaDoKKyAgICAgICAgKiBpY3Uv
dW5pY29kZS91Y29uZmlnLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWN1cnIuaDoKKyAgICAg
ICAgKiBpY3UvdW5pY29kZS91aWRuYS5oOgorICAgICAgICAqIGljdS91bmljb2RlL3Vsb2MuaDoK
KyAgICAgICAgKiBpY3UvdW5pY29kZS91bWFjaGluZS5oOgorICAgICAgICAqIGljdS91bmljb2Rl
L3VuaXN0ci5oOgorICAgICAgICAoVW5pY29kZVN0cmluZzo6Z2V0QXJyYXlTdGFydCk6CisgICAg
ICAgIChVbmljb2RlU3RyaW5nOjpVbmljb2RlU3RyaW5nKToKKyAgICAgICAgKFVuaWNvZGVTdHJp
bmc6Omhhc1Nob3J0TGVuZ3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OmdldFNob3J0TGVu
Z3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6Omxlbmd0aCk6CisgICAgICAgIChVbmljb2Rl
U3RyaW5nOjpnZXRDYXBhY2l0eSk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjppc0JvZ3VzKToK
KyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OmlzV3JpdGFibGUpOgorICAgICAgICAoVW5pY29kZVN0
cmluZzo6aXNCdWZmZXJXcml0YWJsZSk6CisgICAgICAgIChVbmljb2RlU3RyaW5nOjpnZXRCdWZm
ZXIpOgorICAgICAgICAoVW5pY29kZVN0cmluZzo6aXNFbXB0eSk6CisgICAgICAgIChVbmljb2Rl
U3RyaW5nOjpzZXRaZXJvTGVuZ3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OnNldFNob3J0
TGVuZ3RoKToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OnNldExlbmd0aCk6CisgICAgICAgIChV
bmljb2RlU3RyaW5nOjpzZXRUb0VtcHR5KToKKyAgICAgICAgKFVuaWNvZGVTdHJpbmc6OnJlbW92
ZSk6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXJlbmFtZS5oOgorICAgICAgICAqIGljdS91bmlj
b2RlL3VzY3JpcHQuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91c2VhcmNoLmg6CisgICAgICAg
ICogaWN1L3VuaWNvZGUvdXNldC5oOgorICAgICAgICAqIGljdS91bmljb2RlL3VzdHJpbmcuaDoK
KyAgICAgICAgKiBpY3UvdW5pY29kZS91dGY4Lmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXR5
cGVzLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXZlcm51bS5oOgorCiAyMDE3LTA0LTIyICBF
cmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0
cmVhbV0gRml4IHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHIyMTU2MjYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBiMjUyNzlhNWVmNzc0ZjVmNTMxOTczMDk0ZWE1NzI2ODFjODYxZDFmLi5mYWVmMGE3NGQ5Nzll
MThjMThhOTc4NzgwMmUwNTQ2Njc3MzYxZGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzAgQEAKKzIwMTctMDQtMjQgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWls
LmNvbT4KKworICAgICAgICBDbGVhbiB1cCBJQ1UgaGVhZGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwOTk3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGFsbCBpY3UgaGVhZGVycyB0byA1
NS4xCisKKyAgICAgICAgKiBpY3UvUkVBRE1FOiBFeHBsYWluIElDVSBoZWFkZXJzIGZvciBPUyBY
IGJldHRlcgorICAgICAgICAqIGljdS91bmljb2RlL2xvY2FscG9pbnRlci5oOgorICAgICAgICAo
TG9jYWxQb2ludGVyOjpMb2NhbFBvaW50ZXIpOgorICAgICAgICAoTG9jYWxQb2ludGVyOjphZG9w
dEluc3RlYWRBbmRDaGVja0Vycm9yQ29kZSk6CisgICAgICAgICogaWN1L3VuaWNvZGUvcGxhdGZv
cm0uaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS9wdXRpbC5oOgorICAgICAgICAqIGljdS91bmlj
b2RlL3VjaGFyLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWNvbmZpZy5oOgorICAgICAgICAq
IGljdS91bmljb2RlL3VjdXJyLmg6CisgICAgICAgICogaWN1L3VuaWNvZGUvdWlkbmEuaDoKKyAg
ICAgICAgKiBpY3UvdW5pY29kZS91bWFjaGluZS5oOgorICAgICAgICAqIGljdS91bmljb2RlL3Vy
ZW5hbWUuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91c2NyaXB0Lmg6CisgICAgICAgICogaWN1
L3VuaWNvZGUvdXN0cmluZy5oOgorICAgICAgICAqIGljdS91bmljb2RlL3V0ZjguaDoKKyAgICAg
ICAgKiBpY3UvdW5pY29kZS91dHlwZXMuaDoKKyAgICAgICAgKiBpY3UvdW5pY29kZS91dmVybnVt
Lmg6CisKIDIwMTctMDQtMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgU3VwcG9ydCB3cml0aW5nIGxpbmsgdGl0bGVzIHRvIHRoZSBwYXN0ZWJvYXJk
IHdoZW4gYmVnaW5uaW5nIGRhdGEgaW50ZXJhY3Rpb24gb24gYSBsaW5rCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L0xJQ0VOU0UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L0xJQ0VOU0UKaW5kZXggMzg1ZDEzMGNkMDYyZTAwOTI1Y2UyYWZmZTIwZDBkZjgxY2U3NWQ5
ZS4uZDZmMGVlYmJjNjU5MDE4ZGQwYzk0ZTRhMjg1Y2U3Y2Y3NjhkOGNjZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9MSUNFTlNFCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pY3UvTElDRU5TRQpAQCAtMSw2ICsxLDYgQEAKIENPUFlSSUdIVCBBTkQgUEVSTUlTU0lP
TiBOT1RJQ0UKIAotQ29weXJpZ2h0IChjKSAxOTk1LTIwMDYgSW50ZXJuYXRpb25hbCBCdXNpbmVz
cyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzCitDb3B5cmlnaHQgKGMpIDE5OTUtMjAx
NSBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMK
IAogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ljdS9SRUFETUUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L1JFQURNRQppbmRleCAz
ODllMmU4MDEzYjljMGJkNjI0ODY5ZDIwMmMxMzg3OTQ1YWQ3NTllLi4zMjZlZmUxNzk4NjQ1MDk1
ZTlhNmM0ZWMzYTI5Y2QyZDQ5MTRiMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L1JFQURNRQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L1JFQURNRQpAQCAt
MSw0ICsxLDEyIEBACi1UaGUgaGVhZGVycyBpbiB0aGlzIGRpcmVjdG9yeSBhcmUgZm9yIGNvbXBp
bGluZyBvbiBNYWMgT1MgWCAxMC40LgotVGhlIE1hYyBPUyBYIDEwLjQgcmVsZWFzZSBpbmNsdWRl
cyB0aGUgSUNVIGJpbmFyeSwgYnV0IG5vdCBJQ1UgaGVhZGVycy4KK1RoZSBoZWFkZXJzIGluIHRo
aXMgZGlyZWN0b3J5IGFyZSBmb3IgY29tcGlsaW5nIG9uIE1hYyBPUyBYIDEwLjQgYW5kIG5ld2Vy
LgorVGhlIE1hYyBPUyBYIDEwLjQgYW5kIHN1YnNlcXVlbnQgcmVsZWFzZXMgaW5jbHVkZSB0aGUg
SUNVIGJpbmFyeSwgYnV0IG5vdCBJQ1UgaGVhZGVycy4KKwogRm9yIG90aGVyIHBsYXRmb3Jtcywg
aW5zdGFsbGVkIElDVSBoZWFkZXJzIHNob3VsZCBiZSB1c2VkIHJhdGhlciB0aGFuIHRoZXNlLgot
VGhleSBhcmUgc3BlY2lmaWMgdG8gTWFjIE9TIFggMTAuNC4KK1RoZXkgYXJlIHNwZWNpZmljIHRv
IHRoZSBNYWMgT1MgWCBwbGF0Zm9ybS4KKworVGhlIGhlYWRlcnMgaGVyZSBhcmUgZnJvbSBJQ1Ug
dmVyc2lvbiA1NS4xIGRvd25sb2FkZWQgZnJvbSB0aGUgSUNVIHByb2plY3QuCitodHRwOi8vc2l0
ZS5pY3UtcHJvamVjdC5vcmcvZG93bmxvYWQvNTUjVE9DLUlDVTRDLURvd25sb2FkCisKK1RoZSBm
b2xsb3dpbmcgY2hhbmdlcyBhcmUgbmVlZGVkIGFnYWluIGlmIHlvdSB1cGRhdGUgdGhlIGZpbGVz
OgordXR5cGVzLmg6NjIgVV9TSE9XX0NQTFVTUExVU19BUEkgMAordWNvbmZpZy5oOjkwIFVfRElT
QUJMRV9SRU5BTUlORyAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3Vu
aWNvZGUvbG9jYWxwb2ludGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUv
bG9jYWxwb2ludGVyLmgKaW5kZXggZTNjY2IyNTgxNTRjYzIxNjA5OGViYzI3MzlmYjdiNjgyMjA1
OWM5OC4uZTNhYWJmNjVjMzgwNzA2ZmEwODg1MzY5NzQ4N2M3MjdhYjlhYmFlYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL2xvY2FscG9pbnRlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS9sb2NhbHBvaW50ZXIuaApAQCAtMSw3
ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChD
KSAyMDA5LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmln
aHQgKEMpIDIwMDktMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENv
cnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgpAQCAtMTkxLDYgKzE5MSwyNiBAQCBwdWJsaWM6CiAgICAgICogQHN0YWJs
ZSBJQ1UgNC40CiAgICAgICovCiAgICAgZXhwbGljaXQgTG9jYWxQb2ludGVyKFQgKnA9TlVMTCkg
OiBMb2NhbFBvaW50ZXJCYXNlPFQ+KHApIHt9CisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAg
ICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvciB0YWtlcyBvd25lcnNoaXAgYW5kIHJlcG9ydHMgYW4g
ZXJyb3IgaWYgTlVMTC4KKyAgICAgKgorICAgICAqIFRoaXMgY29uc3RydWN0b3IgaXMgaW50ZW5k
ZWQgdG8gYmUgdXNlZCB3aXRoIG90aGVyLWNsYXNzIGNvbnN0cnVjdG9ycworICAgICAqIHRoYXQg
bWF5IHJlcG9ydCBhIGZhaWx1cmUgVUVycm9yQ29kZSwKKyAgICAgKiBzbyB0aGF0IGNhbGxlcnMg
bmVlZCB0byBjaGVjayBvbmx5IGZvciBVX0ZBSUxVUkUoZXJyb3JDb2RlKQorICAgICAqIGFuZCBu
b3QgYWxzbyBzZXBhcmF0ZWx5IGZvciBpc051bGwoKS4KKyAgICAgKgorICAgICAqIEBwYXJhbSBw
IHNpbXBsZSBwb2ludGVyIHRvIGFuIG9iamVjdCB0aGF0IGlzIGFkb3B0ZWQKKyAgICAgKiBAcGFy
YW0gZXJyb3JDb2RlIGluL291dCBVRXJyb3JDb2RlLCBzZXQgdG8gVV9NRU1PUllfQUxMT0NBVElP
Tl9FUlJPUgorICAgICAqICAgICBpZiBwPT1OVUxMIGFuZCBubyBvdGhlciBmYWlsdXJlIGNvZGUg
aGFkIGJlZW4gc2V0CisgICAgICogQGRyYWZ0IElDVSA1NQorICAgICAqLworICAgIExvY2FsUG9p
bnRlcihUICpwLCBVRXJyb3JDb2RlICZlcnJvckNvZGUpIDogTG9jYWxQb2ludGVyQmFzZTxUPihw
KSB7CisgICAgICAgIGlmKHA9PU5VTEwgJiYgVV9TVUNDRVNTKGVycm9yQ29kZSkpIHsKKyAgICAg
ICAgICAgIGVycm9yQ29kZT1VX01FTU9SWV9BTExPQ0FUSU9OX0VSUk9SOworICAgICAgICB9Cisg
ICAgfQorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCiAgICAgLyoqCiAgICAgICogRGVz
dHJ1Y3RvciBkZWxldGVzIHRoZSBvYmplY3QgaXQgb3ducy4KICAgICAgKiBAc3RhYmxlIElDVSA0
LjQKQEAgLTIwOCw2ICsyMjgsMzQgQEAgcHVibGljOgogICAgICAgICBkZWxldGUgTG9jYWxQb2lu
dGVyQmFzZTxUPjo6cHRyOwogICAgICAgICBMb2NhbFBvaW50ZXJCYXNlPFQ+OjpwdHI9cDsKICAg
ICB9CisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAvKioKKyAgICAgKiBEZWxldGVzIHRo
ZSBvYmplY3QgaXQgb3ducywKKyAgICAgKiBhbmQgYWRvcHRzICh0YWtlcyBvd25lcnNoaXAgb2Yp
IHRoZSBvbmUgcGFzc2VkIGluLgorICAgICAqCisgICAgICogSWYgVV9GQUlMVVJFKGVycm9yQ29k
ZSksIHRoZW4gdGhlIGN1cnJlbnQgb2JqZWN0IGlzIHJldGFpbmVkIGFuZCB0aGUgbmV3IG9uZSBk
ZWxldGVkLgorICAgICAqCisgICAgICogSWYgVV9TVUNDRVNTKGVycm9yQ29kZSkgYnV0IHRoZSBp
bnB1dCBwb2ludGVyIGlzIE5VTEwsCisgICAgICogdGhlbiBVX01FTU9SWV9BTExPQ0FUSU9OX0VS
Uk9SIGlzIHNldCwKKyAgICAgKiB0aGUgY3VycmVudCBvYmplY3QgaXMgZGVsZXRlZCwgYW5kIE5V
TEwgaXMgc2V0LgorICAgICAqCisgICAgICogQHBhcmFtIHAgc2ltcGxlIHBvaW50ZXIgdG8gYW4g
b2JqZWN0IHRoYXQgaXMgYWRvcHRlZAorICAgICAqIEBwYXJhbSBlcnJvckNvZGUgaW4vb3V0IFVF
cnJvckNvZGUsIHNldCB0byBVX01FTU9SWV9BTExPQ0FUSU9OX0VSUk9SCisgICAgICogICAgIGlm
IHA9PU5VTEwgYW5kIG5vIG90aGVyIGZhaWx1cmUgY29kZSBoYWQgYmVlbiBzZXQKKyAgICAgKiBA
ZHJhZnQgSUNVIDU1CisgICAgICovCisgICAgdm9pZCBhZG9wdEluc3RlYWRBbmRDaGVja0Vycm9y
Q29kZShUICpwLCBVRXJyb3JDb2RlICZlcnJvckNvZGUpIHsKKyAgICAgICAgaWYoVV9TVUNDRVNT
KGVycm9yQ29kZSkpIHsKKyAgICAgICAgICAgIGRlbGV0ZSBMb2NhbFBvaW50ZXJCYXNlPFQ+Ojpw
dHI7CisgICAgICAgICAgICBMb2NhbFBvaW50ZXJCYXNlPFQ+OjpwdHI9cDsKKyAgICAgICAgICAg
IGlmKHA9PU5VTEwpIHsKKyAgICAgICAgICAgICAgICBlcnJvckNvZGU9VV9NRU1PUllfQUxMT0NB
VElPTl9FUlJPUjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGRlbGV0ZSBwOworICAgICAgICB9CisgICAgfQorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJ
ICovCiB9OwogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5p
Y29kZS9wbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3BsYXRm
b3JtLmgKaW5kZXggMWIyYWIzMDZlYTMzNzgyOWZkOTliMmMwZjI4MjcwZDI5YzdiYjJmZi4uNDgy
OTAwMDY5ZDEwY2E4NzI2OTNlYTgxOWM1ZTQzNGVmNGNlZWQyYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ljdS91bmljb2RlL3BsYXRmb3JtLmgKQEAgLTEsNyArMSw3IEBACiAvKgogKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTMsIEludGVy
bmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxNSwg
SW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhl
cnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0x
MjEsMTAgKzEyMSwxNiBAQAogI2RlZmluZSBVX1BGX1FOWCAzNzAwCiAvKiogTGludXggaXMgYSBV
bml4LWxpa2Ugb3BlcmF0aW5nIHN5c3RlbS4gQGludGVybmFsICovCiAjZGVmaW5lIFVfUEZfTElO
VVggNDAwMAorLyoqCisgKiBOYXRpdmUgQ2xpZW50IGlzIHByZXR0eSBjbG9zZSB0byBMaW51eC4K
KyAqIFNlZSBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL25hdGl2ZS1jbGllbnQgYW5kCisg
KiAgaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvbmF0aXZlY2xpZW50CisgKiAgQGludGVybmFsCisg
Ki8KKyNkZWZpbmUgVV9QRl9CUk9XU0VSX05BVElWRV9DTElFTlQgNDAyMAogLyoqIEFuZHJvaWQg
aXMgYmFzZWQgb24gTGludXguIEBpbnRlcm5hbCAqLwogI2RlZmluZSBVX1BGX0FORFJPSUQgNDA1
MAotLyoqICJDbGFzc2ljIiBNYWMgT1MgKDE5ODQtMjAwMSkgQGludGVybmFsICovCi0jZGVmaW5l
IFVfUEZfQ0xBU1NJQ19NQUNPUyA4MDAwCisvKiBNYXhpbXVtIHZhbHVlIGZvciBMaW51eC1iYXNl
ZCBwbGF0Zm9ybSBpcyA0NDk5ICovCiAvKiogei9PUyBpcyB0aGUgc3VjY2Vzc29yIHRvIE9TLzM5
MCB3aGljaCB3YXMgdGhlIHN1Y2Nlc3NvciB0byBNVlMuIEBpbnRlcm5hbCAqLwogI2RlZmluZSBV
X1BGX09TMzkwIDkwMDAKIC8qKiAiSUJNIGkiIGlzIHRoZSBjdXJyZW50IG5hbWUgb2Ygd2hhdCB1
c2VkIHRvIGJlIGk1L09TIGFuZCBlYXJsaWVyIE9TLzQwMC4gQGludGVybmFsICovCkBAIC0xNDIs
NiArMTQ4LDggQEAKICMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0FORFJPSUQKICAgICAvKiBB
bmRyb2lkIHdjaGFyX3Qgc3VwcG9ydCBkZXBlbmRzIG9uIHRoZSBBUEkgbGV2ZWwuICovCiAjICAg
aW5jbHVkZSA8YW5kcm9pZC9hcGktbGV2ZWwuaD4KKyNlbGlmIGRlZmluZWQoX19uYXRpdmVfY2xp
ZW50X18pCisjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9CUk9XU0VSX05BVElWRV9DTElFTlQK
ICNlbGlmIGRlZmluZWQobGludXgpIHx8IGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9f
bGludXgpCiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9MSU5VWAogI2VsaWYgZGVmaW5lZChf
X0FQUExFX18pICYmIGRlZmluZWQoX19NQUNIX18pCkBAIC0xNjksOCArMTc3LDYgQEAKICMgICBk
ZWZpbmUgVV9QTEFURk9STSBVX1BGX0hQVVgKICNlbGlmIGRlZmluZWQoc2dpKSB8fCBkZWZpbmVk
KF9fc2dpKQogIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfSVJJWAotI2VsaWYgZGVmaW5lZCht
YWNpbnRvc2gpCi0jICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9DTEFTU0lDX01BQ09TCiAjZWxp
ZiBkZWZpbmVkKF9fUU5YX18pIHx8IGRlZmluZWQoX19RTlhOVE9fXykKICMgICBkZWZpbmUgVV9Q
TEFURk9STSBVX1BGX1FOWAogI2VsaWYgZGVmaW5lZChfX1RPU19NVlNfXykKQEAgLTIzMCw3ICsy
MzYsNyBAQAogICovCiAjaWZkZWYgVV9QTEFURk9STV9JTVBMRU1FTlRTX1BPU0lYCiAgICAgLyog
VXNlIHRoZSBwcmVkZWZpbmVkIHZhbHVlLiAqLwotI2VsaWYgVV9QTEFURk9STV9VU0VTX09OTFlf
V0lOMzJfQVBJIHx8IFVfUExBVEZPUk0gPT0gVV9QRl9DTEFTU0lDX01BQ09TCisjZWxpZiBVX1BM
QVRGT1JNX1VTRVNfT05MWV9XSU4zMl9BUEkKICMgICBkZWZpbmUgVV9QTEFURk9STV9JTVBMRU1F
TlRTX1BPU0lYIDAKICNlbHNlCiAjICAgZGVmaW5lIFVfUExBVEZPUk1fSU1QTEVNRU5UU19QT1NJ
WCAxCkBAIC0yNDMsNyArMjQ5LDcgQEAKICAqLwogI2lmZGVmIFVfUExBVEZPUk1fSVNfTElOVVhf
QkFTRUQKICAgICAvKiBVc2UgdGhlIHByZWRlZmluZWQgdmFsdWUuICovCi0jZWxpZiBVX1BGX0xJ
TlVYIDw9IFVfUExBVEZPUk0gJiYgVV9QTEFURk9STSA8PSBVX1BGX0FORFJPSUQKKyNlbGlmIFVf
UEZfTElOVVggPD0gVV9QTEFURk9STSAmJiBVX1BMQVRGT1JNIDw9IDQ0OTkKICMgICBkZWZpbmUg
VV9QTEFURk9STV9JU19MSU5VWF9CQVNFRCAxCiAjZWxzZQogIyAgIGRlZmluZSBVX1BMQVRGT1JN
X0lTX0xJTlVYX0JBU0VEIDAKQEAgLTU3OSw3ICs1ODUsNyBAQAogICovCiAjaWZkZWYgVV9TSVpF
T0ZfV0NIQVJfVAogICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1ZS4gKi8KLSNlbGlmIChV
X1BMQVRGT1JNID09IFVfUEZfQU5EUk9JRCAmJiBfX0FORFJPSURfQVBJX18gPCA5KSB8fCBVX1BM
QVRGT1JNID09IFVfUEZfQ0xBU1NJQ19NQUNPUworI2VsaWYgKFVfUExBVEZPUk0gPT0gVV9QRl9B
TkRST0lEICYmIF9fQU5EUk9JRF9BUElfXyA8IDkpCiAgICAgLyoKICAgICAgKiBDbGFzc2ljIE1h
YyBPUyBhbmQgTWFjIE9TIFggYmVmb3JlIDEwLjMgKFBhbnRoZXIpIGRpZCBub3Qgc3VwcG9ydCB3
Y2hhcl90IG9yIHdzdHJpbmcuCiAgICAgICogTmV3ZXIgTWFjIE9TIFggaGFzIHNpemUgNC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS9wdXRpbC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3B1dGlsLmgKaW5kZXggNmZjN2U5Y2Q1YTYy
YTU1OTQ2YWU2ZDc3ODdiZjI1ZDIzNjExMGExYS4uZGYxYjE3YmFkMGY2NTM1MTBmZGYxOGRkNGM3
OGVhZDk0YThhMjI4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmlj
b2RlL3B1dGlsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3B1dGls
LmgKQEAgLTEsNyArMSw3IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29w
eXJpZ2h0IChDKSAxOTk3LTIwMTEsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyog
ICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCkBAIC02Niw2ICs2Niw3IEBACiAgKi8KIFVfU1RBQkxFIGNv
bnN0IGNoYXIqIFVfRVhQT1JUMiB1X2dldERhdGFEaXJlY3Rvcnkodm9pZCk7CiAKKwogLyoqIAog
ICogU2V0IHRoZSBJQ1UgZGF0YSBkaXJlY3RvcnkuIAogICogVGhlIGRhdGEgZGlyZWN0b3J5IGlz
IHdoZXJlIGNvbW1vbiBmb3JtYXQgSUNVIGRhdGEgZmlsZXMgKC5kYXQgZmlsZXMpCkBAIC04Nywy
MCArODgsMzYgQEAgVV9TVEFCTEUgY29uc3QgY2hhciogVV9FWFBPUlQyIHVfZ2V0RGF0YURpcmVj
dG9yeSh2b2lkKTsKICAqLwogVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgdV9zZXREYXRhRGlyZWN0
b3J5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSk7CiAKKyNpZm5kZWYgVV9ISURFX0lOVEVSTkFMX0FQ
SQorLyoqCisgICogUmV0dXJuIHRoZSB0aW1lIHpvbmUgZmlsZXMgb3ZlcnJpZGUgZGlyZWN0b3J5
LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYKKyAgKiBubyBkaXJlY3Rvcnkgd2FzIHNwZWNpZmllZC4g
Q2VydGFpbiB0aW1lIHpvbmUgcmVzb3VyY2VzIHdpbGwgYmUgcHJlZmVycmVudGlhbGx5CisgICog
bG9hZGVkIGZyb20gaW5kaXZpZHVhbCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KKyAgKgorICAq
IEByZXR1cm4gdGhlIHRpbWUgem9uZSBkYXRhIG92ZXJyaWRlIGRpcmVjdG9yeS4KKyAgKiBAaW50
ZXJuYWwKKyAgKi8gCitVX0lOVEVSTkFMIGNvbnN0IGNoYXIgKiBVX0VYUE9SVDIgdV9nZXRUaW1l
Wm9uZUZpbGVzRGlyZWN0b3J5KFVFcnJvckNvZGUgKnN0YXR1cyk7CisKKy8qKgorICAqIFNldCB0
aGUgdGltZSB6b25lIGZpbGVzIG92ZXJyaWRlIGRpcmVjdG9yeS4KKyAgKiBUaGlzIGZ1bmN0aW9u
IGlzIG5vdCB0aHJlYWQgc2FmZTsgaXQgbXVzdCBub3QgYmUgY2FsbGVkIGNvbmN1cnJlbnRseSB3
aXRoCisgICogICB1X2dldFRpbWVab25lRmlsZXNEaXJlY3RvcnkoKSBvciBhbnkgb3RoZXIgdXNl
IG9mIElDVSB0aW1lIHpvbmUgZnVuY3Rpb25zLgorICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9u
bHkgYmUgY2FsbGVkIGJlZm9yZSB1c2luZyBhbnkgSUNVIHNlcnZpY2UgdGhhdAorICAqICAgd2ls
bCBhY2Nlc3MgdGhlIHRpbWUgem9uZSBkYXRhLgorICAqIEBpbnRlcm5hbAorICAqLworVV9JTlRF
Uk5BTCB2b2lkIFVfRVhQT1JUMiB1X3NldFRpbWVab25lRmlsZXNEaXJlY3RvcnkoY29uc3QgY2hh
ciAqcGF0aCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9ISURFX0lOVEVSTkFM
X0FQSSAqLworCisKIC8qKgogICogQHsKICAqIEZpbGVzeXN0ZW0gZmlsZSBhbmQgcGF0aCBzZXBh
cmF0b3IgY2hhcmFjdGVycy4KICAqIEV4YW1wbGU6ICcvJyBhbmQgJzonIG9uIFVuaXgsICdcXCcg
YW5kICc7JyBvbiBXaW5kb3dzLgogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLSNpZiBVX1BMQVRG
T1JNID09IFVfUEZfQ0xBU1NJQ19NQUNPUwotIyAgIGRlZmluZSBVX0ZJTEVfU0VQX0NIQVIgJzon
Ci0jICAgZGVmaW5lIFVfRklMRV9BTFRfU0VQX0NIQVIgJzonCi0jICAgZGVmaW5lIFVfUEFUSF9T
RVBfQ0hBUiAnOycKLSMgICBkZWZpbmUgVV9GSUxFX1NFUF9TVFJJTkcgIjoiCi0jICAgZGVmaW5l
IFVfRklMRV9BTFRfU0VQX1NUUklORyAiOiIKLSMgICBkZWZpbmUgVV9QQVRIX1NFUF9TVFJJTkcg
IjsiCi0jZWxpZiBVX1BMQVRGT1JNX1VTRVNfT05MWV9XSU4zMl9BUEkKKyNpZiBVX1BMQVRGT1JN
X1VTRVNfT05MWV9XSU4zMl9BUEkKICMgICBkZWZpbmUgVV9GSUxFX1NFUF9DSEFSICdcXCcKICMg
ICBkZWZpbmUgVV9GSUxFX0FMVF9TRVBfQ0hBUiAnLycKICMgICBkZWZpbmUgVV9QQVRIX1NFUF9D
SEFSICc7JwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vj
YWwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91Y2FsLmgKaW5kZXggOGYw
Y2NjYzQ1MTMxNTgwYzFjZDc2ZDg5Mjk3MGE0NjZmZWQyNjg2Zi4uMzY4Mjg2MDcwOTlhNzZlMTY5
MzM5OTJhNzk0Y2NlOGE5MDBiYzZlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ljdS91bmljb2RlL3VjYWwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNv
ZGUvdWNhbC5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cyBDb3Jwb3JhdGlvbiBhbmQKKyAqIENvcHlyaWdodCAoQykgMTk5Ni0yMDE1LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZAogICogb3RoZXJzLiBBbGwgUmln
aHRzIFJlc2VydmVkLgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqLwpAQCAtNDIyLDcgKzQy
Miw3IEBAIGVudW0gVUNhbGVuZGFyRGF0ZUZpZWxkcyB7CiAgICAqIGFuIGV4YW1wbGUgb2YgdGhp
cy4KICAgICovCiAgIFVDQUxfSVNfTEVBUF9NT05USCwKLSAgCisKICAgLyoqCiAgICAqIEZpZWxk
IGNvdW50CiAgICAqIEBzdGFibGUgSUNVIDIuNgpAQCAtNzQ1LDcgKzc0NSw2IEBAIHVjYWxfc2V0
VGltZVpvbmUoVUNhbGVuZGFyKiAgICBjYWwsCiAgICAgICAgICAgICAgICAgIGludDMyX3QgICAg
ICAgbGVuLAogICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiAgIHN0YXR1cyk7CiAKLSNpZm5k
ZWYgVV9ISURFX0RSQUZUX0FQSQogLyoqIAogICogR2V0IHRoZSBJRCBvZiB0aGUgVUNhbGVuZGFy
J3MgdGltZSB6b25lLiAKICAqIApAQCAtNzU0LDE0ICs3NTMsMTMgQEAgdWNhbF9zZXRUaW1lWm9u
ZShVQ2FsZW5kYXIqICAgIGNhbCwKICAqIEBwYXJhbSByZXN1bHRMZW5ndGggIFRoZSBtYXhpbXVt
IHNpemUgb2YgcmVzdWx0LiAKICAqIEBwYXJhbSBzdGF0dXMgICAgICAgIFJlY2VpdmVzIHRoZSBz
dGF0dXMuIAogICogQHJldHVybiAgICAgICAgICAgICAgVGhlIHRvdGFsIGJ1ZmZlciBzaXplIG5l
ZWRlZDsgaWYgZ3JlYXRlciB0aGFuIHJlc3VsdExlbmd0aCwgdGhlIG91dHB1dCB3YXMgdHJ1bmNh
dGVkLiAKLSAqIEBkcmFmdCBJQ1UgNTEgCisgKiBAc3RhYmxlIElDVSA1MSAKICAqLyAKLVVfRFJB
RlQgaW50MzJfdCBVX0VYUE9SVDIgCitVX1NUQUJMRSBpbnQzMl90IFVfRVhQT1JUMiAKIHVjYWxf
Z2V0VGltZVpvbmVJRChjb25zdCBVQ2FsZW5kYXIgKmNhbCwKICAgICAgICAgICAgICAgICAgICBV
Q2hhciAqcmVzdWx0LAogICAgICAgICAgICAgICAgICAgIGludDMyX3QgcmVzdWx0TGVuZ3RoLAog
ICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKnN0YXR1cyk7Ci0jZW5kaWYgLyogVV9ISURF
X0RSQUZUX0FQSSAqLwogCiAvKioKICAqIFBvc3NpYmxlIGZvcm1hdHMgZm9yIGEgVUNhbGVuZGFy
J3MgZGlzcGxheSBuYW1lIApAQCAtMTI4OSw3ICsxMjg3LDcgQEAgdWNhbF9nZXRUWkRhdGFWZXJz
aW9uKFVFcnJvckNvZGUqIHN0YXR1cyk7CiAgKiBAcGFyYW0gcmVzdWx0Q2FwYWNpdHkgICAgVGhl
IGNhcGFjaXR5IG9mIHRoZSByZXN1bHQgYnVmZmVyLgogICogQHBhcmFtIGlzU3lzdGVtSUQgICAg
ICAgIFJlY2VpdmVzIGlmIHRoZSBnaXZlbiBJRCBpcyBhIGtub3duIHN5c3RlbQogICAgICAqICAg
ICAgICAgICAgICAgICAgICAgIHRpbWV6b25lIElELgotICogQHBhcmFtIHN0YXR1cyAgICBSZWNl
dmllcyB0aGUgc3RhdHVzLiAgV2hlbiB0aGUgZ2l2ZW4gdGltZXpvbmUgSUQKKyAqIEBwYXJhbSBz
dGF0dXMgICAgUmVjZWl2ZXMgdGhlIHN0YXR1cy4gIFdoZW4gdGhlIGdpdmVuIHRpbWV6b25lIElE
CiAgKiAgICAgICAgICAgICAgICAgIGlzIG5laXRoZXIgYSBrbm93biBzeXN0ZW0gdGltZSB6b25l
IElEIG5vciBhCiAgKiAgICAgICAgICAgICAgICAgIHZhbGlkIGN1c3RvbSB0aW1lem9uZSBJRCwg
VV9JTExFR0FMX0FSR1VNRU5UX0VSUk9SCiAgKiAgICAgICAgICAgICAgICAgIGlzIHNldC4KQEAg
LTE0OTMsMTEgKzE0OTEsMTAgQEAgdHlwZWRlZiBlbnVtIFVUaW1lWm9uZVRyYW5zaXRpb25UeXBl
IFVUaW1lWm9uZVRyYW5zaXRpb25UeXBlOyAvKio8IEBzdGFibGUgSUNVIDUKICogICAgICAgICBv
dGhlcndpc2UuCiAqIEBzdGFibGUgSUNVIDUwCiAqLwotVV9EUkFGVCBVQm9vbCBVX0VYUE9SVDIg
CitVX1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIgCiB1Y2FsX2dldFRpbWVab25lVHJhbnNpdGlvbkRh
dGUoY29uc3QgVUNhbGVuZGFyKiBjYWwsIFVUaW1lWm9uZVRyYW5zaXRpb25UeXBlIHR5cGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVURhdGUqIHRyYW5zaXRpb24sIFVFcnJvckNv
ZGUqIHN0YXR1cyk7CiAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQogLyoqCiAqIENvbnZlcnRz
IGEgc3lzdGVtIHRpbWUgem9uZSBJRCB0byBhbiBlcXVpdmFsZW50IFdpbmRvd3MgdGltZSB6b25l
IElELiBGb3IgZXhhbXBsZSwKICogV2luZG93cyB0aW1lIHpvbmUgSUQgIlBhY2lmaWMgU3RhbmRh
cmQgVGltZSIgaXMgcmV0dXJuZWQgZm9yIGlucHV0ICJBbWVyaWNhL0xvc19BbmdlbGVzIi4KQEAg
LTE1MjAsOSArMTUxNyw5IEBAIHVjYWxfZ2V0VGltZVpvbmVUcmFuc2l0aW9uRGF0ZShjb25zdCBV
Q2FsZW5kYXIqIGNhbCwgVVRpbWVab25lVHJhbnNpdGlvblR5cGUgdHlwCiAqIEByZXR1cm4gICAg
ICAgICAgICAgIFRoZSByZXN1bHQgc3RyaW5nIGxlbmd0aCwgbm90IGluY2x1ZGluZyB0aGUgdGVy
bWluYXRpbmcgbnVsbC4KICogQHNlZSB1Y2FsX2dldFRpbWVab25lSURGb3JXaW5kb3dzSUQKICoK
LSogQGRyYWZ0IElDVSA1MgorKiBAc3RhYmxlIElDVSA1MgogKi8KLVVfRFJBRlQgaW50MzJfdCBV
X0VYUE9SVDIKK1VfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCiB1Y2FsX2dldFdpbmRvd3NUaW1l
Wm9uZUlEKGNvbnN0IFVDaGFyKiBpZCwgaW50MzJfdCBsZW4sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVUNoYXIqIHdpbmlkLCBpbnQzMl90IHdpbmlkQ2FwYWNpdHksIFVFcnJvckNvZGUq
IHN0YXR1cyk7CiAKQEAgLTE1NTIsMTQgKzE1NDksMTIgQEAgdWNhbF9nZXRXaW5kb3dzVGltZVpv
bmVJRChjb25zdCBVQ2hhciogaWQsIGludDMyX3QgbGVuLAogKiBAcmV0dXJuICAgICAgICAgICAg
ICBUaGUgcmVzdWx0IHN0cmluZyBsZW5ndGgsIG5vdCBpbmNsdWRpbmcgdGhlIHRlcm1pbmF0aW5n
IG51bGwuCiAqIEBzZWUgdWNhbF9nZXRXaW5kb3dzVGltZVpvbmVJRAogKgotKiBAZHJhZnQgSUNV
IDUyCisqIEBzdGFibGUgSUNVIDUyCiAqLwotVV9EUkFGVCBpbnQzMl90IFVfRVhQT1JUMgorVV9T
VEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKIHVjYWxfZ2V0VGltZVpvbmVJREZvcldpbmRvd3NJRChj
b25zdCBVQ2hhciogd2luaWQsIGludDMyX3QgbGVuLCBjb25zdCBjaGFyKiByZWdpb24sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDaGFyKiBpZCwgaW50MzJfdCBpZENhcGFjaXR5
LCBVRXJyb3JDb2RlKiBzdGF0dXMpOwogCi0jZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8K
LQogI2VuZGlmIC8qICNpZiAhVUNPTkZJR19OT19GT1JNQVRUSU5HICovCiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VjaGFyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWNoYXIuaAppbmRleCAxYTViNzFiNDYzZTQ4
MzZlZTUxMzUyYmFhYzZiNGU0YzcyNjNmMzFlLi4xZDNhZTBkZDQzZjQzNWZiZjAxZWMyZGVlMGU1
MTYzOTIxZDZlNTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNv
ZGUvdWNoYXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWNoYXIu
aApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAx
OTk3LTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQg
KEMpIDE5OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBv
cmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog
KgpAQCAtMzksNyArMzksNyBAQCBVX0NERUNMX0JFR0lOCiAgKiBAc2VlIHVfZ2V0VW5pY29kZVZl
cnNpb24KICAqIEBzdGFibGUgSUNVIDIuMAogICovCi0jZGVmaW5lIFVfVU5JQ09ERV9WRVJTSU9O
ICI2LjMiCisjZGVmaW5lIFVfVU5JQ09ERV9WRVJTSU9OICI3LjAiCiAKIC8qKgogICogXGZpbGUK
QEAgLTE0NTIsOCArMTQ1Miw3NSBAQCBlbnVtIFVCbG9ja0NvZGUgewogICAgIC8qKiBAc3RhYmxl
IElDVSA0OSAqLwogICAgIFVCTE9DS19UQUtSSSA9IDIyMCwgLypbMTE2ODBdKi8KIAotICAgIC8q
KiBAc3RhYmxlIElDVSAyLjAgKi8KLSAgICBVQkxPQ0tfQ09VTlQgPSAyMjEsCisgICAgLyogTmV3
IGJsb2NrcyBpbiBVbmljb2RlIDcuMCAqLworCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVUJMT0NLX0JBU1NBX1ZBSCA9IDIyMSwgLypbMTZBRDBdKi8KKyAgICAvKiogQHN0YWJsZSBJ
Q1UgNTQgKi8KKyAgICBVQkxPQ0tfQ0FVQ0FTSUFOX0FMQkFOSUFOID0gMjIyLCAvKlsxMDUzMF0q
LworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19DT1BUSUNfRVBBQ1RfTlVN
QkVSUyA9IDIyMywgLypbMTAyRTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBV
QkxPQ0tfQ09NQklOSU5HX0RJQUNSSVRJQ0FMX01BUktTX0VYVEVOREVEID0gMjI0LCAvKlsxQUIw
XSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0RVUExPWUFOID0gMjI1
LCAvKlsxQkMwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19FTEJB
U0FOID0gMjI2LCAvKlsxMDUwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVC
TE9DS19HRU9NRVRSSUNfU0hBUEVTX0VYVEVOREVEID0gMjI3LCAvKlsxRjc4MF0qLworICAgIC8q
KiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19HUkFOVEhBID0gMjI4LCAvKlsxMTMwMF0q
LworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19LSE9KS0kgPSAyMjksIC8q
WzExMjAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0tIVURBV0FE
SSA9IDIzMCwgLypbMTEyQjBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxP
Q0tfTEFUSU5fRVhURU5ERURfRSA9IDIzMSwgLypbQUIzMF0qLworICAgIC8qKiBAc3RhYmxlIElD
VSA1NCAqLworICAgIFVCTE9DS19MSU5FQVJfQSA9IDIzMiwgLypbMTA2MDBdKi8KKyAgICAvKiog
QHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTUFIQUpBTkkgPSAyMzMsIC8qWzExMTUwXSov
CisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX01BTklDSEFFQU4gPSAyMzQs
IC8qWzEwQUMwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX01FTkRF
X0tJS0FLVUkgPSAyMzUsIC8qWzFFODAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVUJMT0NLX01PREkgPSAyMzYsIC8qWzExNjAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX01STyA9IDIzNywgLypbMTZBNDBdKi8KKyAgICAvKiogQHN0YWJsZSBJ
Q1UgNTQgKi8KKyAgICBVQkxPQ0tfTVlBTk1BUl9FWFRFTkRFRF9CID0gMjM4LCAvKltBOUUwXSov
CisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX05BQkFUQUVBTiA9IDIzOSwg
LypbMTA4ODBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfT0xEX05P
UlRIX0FSQUJJQU4gPSAyNDAsIC8qWzEwQTgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICov
CisgICAgVUJMT0NLX09MRF9QRVJNSUMgPSAyNDEsIC8qWzEwMzUwXSovCisgICAgLyoqIEBzdGFi
bGUgSUNVIDU0ICovCisgICAgVUJMT0NLX09STkFNRU5UQUxfRElOR0JBVFMgPSAyNDIsIC8qWzFG
NjUwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1BBSEFXSF9ITU9O
RyA9IDI0MywgLypbMTZCMDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxP
Q0tfUEFMTVlSRU5FID0gMjQ0LCAvKlsxMDg2MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAq
LworICAgIFVCTE9DS19QQVVfQ0lOX0hBVSA9IDI0NSwgLypbMTFBQzBdKi8KKyAgICAvKiogQHN0
YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfUFNBTFRFUl9QQUhMQVZJID0gMjQ2LCAvKlsxMEI4
MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19TSE9SVEhBTkRfRk9S
TUFUX0NPTlRST0xTID0gMjQ3LCAvKlsxQkNBMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAq
LworICAgIFVCTE9DS19TSURESEFNID0gMjQ4LCAvKlsxMTU4MF0qLworICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVCTE9DS19TSU5IQUxBX0FSQ0hBSUNfTlVNQkVSUyA9IDI0OSwgLypb
MTExRTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfU1VQUExFTUVO
VEFMX0FSUk9XU19DID0gMjUwLCAvKlsxRjgwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAq
LworICAgIFVCTE9DS19USVJIVVRBID0gMjUxLCAvKlsxMTQ4MF0qLworICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVCTE9DS19XQVJBTkdfQ0lUSSA9IDI1MiwgLypbMTE4QTBdKi8KKwor
ICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8KKyAgICBVQkxPQ0tfQ09VTlQgPSAyNTMsCiAKICAg
ICAvKiogQHN0YWJsZSBJQ1UgMi4wICovCiAgICAgVUJMT0NLX0lOVkFMSURfQ09ERT0tMQpAQCAt
MTY2Miw2ICsxNzI5LDM0IEBAIHR5cGVkZWYgZW51bSBVSm9pbmluZ0dyb3VwIHsKICAgICBVX0pH
X0ZBUlNJX1lFSCwgLyoqPCBAc3RhYmxlIElDVSA0LjQgKi8KICAgICBVX0pHX05ZQSwgICAgICAg
LyoqPCBAc3RhYmxlIElDVSA0LjQgKi8KICAgICBVX0pHX1JPSElOR1lBX1lFSCwgIC8qKjwgQHN0
YWJsZSBJQ1UgNDkgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fQUxFUEgsICAvKio8IEBzdGFibGUg
SUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0FZSU4sICAvKio8IEBzdGFibGUgSUNVIDU0
ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0JFVEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVV9KR19NQU5JQ0hBRUFOX0RBTEVUSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBV
X0pHX01BTklDSEFFQU5fREhBTUVESCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pH
X01BTklDSEFFQU5fRklWRSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fR0lNRUwsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFO
X0hFVEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0hVTkRS
RUQsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0tBUEgsICAv
Kio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0xBTUVESCwgIC8qKjwg
QHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fTUVNLCAgLyoqPCBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9OVU4sICAvKio8IEBzdGFibGUgSUNVIDU0
ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX09ORSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAg
ICBVX0pHX01BTklDSEFFQU5fUEUsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19N
QU5JQ0hBRUFOX1FPUEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hB
RUFOX1JFU0gsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1NB
REhFLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9TQU1FS0gs
ICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RBVywgIC8qKjwg
QHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fVEVOLCAgLyoqPCBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9URVRILCAgLyoqPCBAc3RhYmxlIElDVSA1
NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9USEFNRURILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAq
LworICAgIFVfSkdfTUFOSUNIQUVBTl9UV0VOVFksICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVV9KR19NQU5JQ0hBRUFOX1dBVywgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pH
X01BTklDSEFFQU5fWU9ESCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fWkFZSU4sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19TVFJBSUdIVF9X
QVcsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCiAgICAgVV9KR19DT1VOVAogfSBVSm9pbmluZ0dy
b3VwOwogCkBAIC0yNzQwLDcgKzI4MzUsNyBAQCB1X2NoYXJOYW1lKFVDaGFyMzIgY29kZSwgVUNo
YXJOYW1lQ2hvaWNlIG5hbWVDaG9pY2UsCiAgKgogICogQGRlcHJlY2F0ZWQgSUNVIDQ5CiAgKi8K
LVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBVX0VYUE9S
VDIKIHVfZ2V0SVNPQ29tbWVudChVQ2hhcjMyIGMsCiAgICAgICAgICAgICAgICAgY2hhciAqZGVz
dCwgaW50MzJfdCBkZXN0Q2FwYWNpdHksCiAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqcEVy
cm9yQ29kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUv
dWNudi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VjbnYuaAppbmRleCBj
NWZjMmRjNzg1NmExNmUyMWZkMzA3OTE3YjczODAyN2Y1NjYwNTlkLi41NjQ2NTZjMjg0ZjhlMDI3
MGIyYzk1NjI1NDMyMmI0NDQzYjMwMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L3VuaWNvZGUvdWNudi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5p
Y29kZS91Y252LmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHly
aWdodCAoQykgMTk5OS0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAg
Q29weXJpZ2h0IChDKSAxOTk5LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
ICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKICAqICB1Y252Lmg6CkBAIC0xOCw3ICsxOCw3IEBACiAKIC8qKgogICogXGZpbGUK
LSAqIFxicmllZiBDIEFQSTogQ2hhcmFjdGVyIGNvbnZlcnNpb24gCisgKiBcYnJpZWYgQyBBUEk6
IENoYXJhY3RlciBjb252ZXJzaW9uCiAgKgogICogPGgyPkNoYXJhY3RlciBDb252ZXJzaW9uIEMg
QVBJPC9oMj4KICAqCkBAIC0zOSw3ICszOSw3IEBACiAgKiBvciB7QGxpbmsgdWNudl9zZXRUb1VD
YWxsQmFjaygpIH0gb24gdGhlIGNvbnZlcnRlci4gVGhlIGhlYWRlciB1Y252X2Vyci5oIGRlZmlu
ZXMKICAqIG1hbnkgb3RoZXIgY2FsbGJhY2sgYWN0aW9ucyB0aGF0IGNhbiBiZSB1c2VkIGluc3Rl
YWQgb2YgYSBjaGFyYWN0ZXIgc3Vic3RpdHV0aW9uLjwvcD4KICAqCi0gKiA8cD5Nb3JlIGluZm9y
bWF0aW9uIGFib3V0IHRoaXMgQVBJIGNhbiBiZSBmb3VuZCBpbiBvdXIgCisgKiA8cD5Nb3JlIGlu
Zm9ybWF0aW9uIGFib3V0IHRoaXMgQVBJIGNhbiBiZSBmb3VuZCBpbiBvdXIKICAqIDxhIGhyZWY9
Imh0dHA6Ly9pY3UtcHJvamVjdC5vcmcvdXNlcmd1aWRlL2NvbnZlcnNpb24uaHRtbCI+VXNlcidz
CiAgKiBHdWlkZTwvYT4uPC9wPgogICovCkBAIC0xMTYsNyArMTE2LDcgQEAgdHlwZWRlZiBlbnVt
IHsKICAgICAvKiogQHN0YWJsZSBJQ1UgMi4wICovCiAgICAgVUNOVl9MTUJDU18xID0gMTEsCiAg
ICAgLyoqIEBzdGFibGUgSUNVIDIuMCAqLwotICAgIFVDTlZfTE1CQ1NfMiwgCisgICAgVUNOVl9M
TUJDU18yLAogICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8KICAgICBVQ05WX0xNQkNTXzMsCiAg
ICAgLyoqIEBzdGFibGUgSUNVIDIuMCAqLwpAQCAtMjM3LDcgKzIzNyw3IEBAIFVfQ0RFQ0xfRU5E
CiAjZGVmaW5lIFVDTlZfT1BUSU9OX1NFUF9DSEFSICcsJwogCiAvKioKLSAqIFN0cmluZyB2ZXJz
aW9uIG9mIFVDTlZfT1BUSU9OX1NFUF9DSEFSLiAKKyAqIFN0cmluZyB2ZXJzaW9uIG9mIFVDTlZf
T1BUSU9OX1NFUF9DSEFSLgogICogQHNlZSB1Y252X29wZW4KICAqIEBzdGFibGUgSUNVIDIuMAog
ICovCkBAIC0yNTEsNyArMjUxLDcgQEAgVV9DREVDTF9FTkQKICNkZWZpbmUgVUNOVl9WQUxVRV9T
RVBfQ0hBUiAnPScKIAogLyoqCi0gKiBTdHJpbmcgdmVyc2lvbiBvZiBVQ05WX1ZBTFVFX1NFUF9D
SEFSLiAKKyAqIFN0cmluZyB2ZXJzaW9uIG9mIFVDTlZfVkFMVUVfU0VQX0NIQVIuCiAgKiBAc2Vl
IHVjbnZfb3BlbgogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KQEAgLTI2OSw3ICsyNjksNyBAQCBV
X0NERUNMX0VORAogCiAvKioKICAqIENvbnZlcnRlciBvcHRpb24gZm9yIHNwZWNpZnlpbmcgYSB2
ZXJzaW9uIHNlbGVjdG9yICgwLi45KSBmb3Igc29tZSBjb252ZXJ0ZXJzLgotICogRm9yIGV4YW1w
bGUsIAorICogRm9yIGV4YW1wbGUsCiAgKiBcY29kZQogICogICB1Y252X29wZW4oIlVURi03LHZl
cnNpb249MSIsICZlcnJvckNvZGUpOwogICogXGVuZGNvZGUKQEAgLTM2MSwyOSArMzYxLDI5IEBA
IHVjbnZfY29tcGFyZU5hbWVzKGNvbnN0IGNoYXIgKm5hbWUxLCBjb25zdCBjaGFyICpuYW1lMik7
CiAgKiBAc2VlIHVjbnZfY29tcGFyZU5hbWVzCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9T
VEFCTEUgVUNvbnZlcnRlciogVV9FWFBPUlQyIAorVV9TVEFCTEUgVUNvbnZlcnRlciogVV9FWFBP
UlQyCiB1Y252X29wZW4oY29uc3QgY2hhciAqY29udmVydGVyTmFtZSwgVUVycm9yQ29kZSAqZXJy
KTsKIAogCiAvKioKLSAqIENyZWF0ZXMgYSBVbmljb2RlIGNvbnZlcnRlciB3aXRoIHRoZSBuYW1l
cyBzcGVjaWZpZWQgYXMgdW5pY29kZSBzdHJpbmcuIAorICogQ3JlYXRlcyBhIFVuaWNvZGUgY29u
dmVydGVyIHdpdGggdGhlIG5hbWVzIHNwZWNpZmllZCBhcyB1bmljb2RlIHN0cmluZy4KICAqIFRo
ZSBuYW1lIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZSBBU0NJSS03IGFscGhhbnVtZXJpY3MgcmFu
Z2UuCiAgKiBUaGUgYWN0dWFsIG5hbWUgd2lsbCBiZSByZXNvbHZlZCB3aXRoIHRoZSBhbGlhcyBm
aWxlCiAgKiB1c2luZyBhIGNhc2UtaW5zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmlzb24gdGhhdCBp
Z25vcmVzCiAgKiBsZWFkaW5nIHplcm9lcyBhbmQgYWxsIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFj
dGVycy4KICAqIEUuZy4sIHRoZSBuYW1lcyAiVVRGOCIsICJ1dGYtOCIsICJ1KlRAZjA4IiBhbmQg
IlV0ZiA4IiBhcmUgYWxsIGVxdWl2YWxlbnQuCiAgKiAoU2VlIGFsc28gdWNudl9jb21wYXJlTmFt
ZXMoKS4pCi0gKiBJZiA8VFQ+TlVMTDwvVFQ+IGlzIHBhc3NlZCBmb3IgdGhlIGNvbnZlcnRlciBu
YW1lLCBpdCB3aWxsIGNyZWF0ZSAKKyAqIElmIDxUVD5OVUxMPC9UVD4gaXMgcGFzc2VkIGZvciB0
aGUgY29udmVydGVyIG5hbWUsIGl0IHdpbGwgY3JlYXRlCiAgKiBvbmUgd2l0aCB0aGUgdWNudl9n
ZXREZWZhdWx0TmFtZSgpIHJldHVybiB2YWx1ZS4KICAqIElmIHRoZSBhbGlhcyBpcyBhbWJpZ3Vv
dXMsIHRoZW4gdGhlIHByZWZlcnJlZCBjb252ZXJ0ZXIgaXMgdXNlZAogICogYW5kIHRoZSBzdGF0
dXMgaXMgc2V0IHRvIFVfQU1CSUdVT1VTX0FMSUFTX1dBUk5JTkcuCiAgKgogICogPHA+U2VlIHVj
bnZfb3BlbiBmb3IgdGhlIGNvbXBsZXRlIGRldGFpbHM8L3A+Ci0gKiBAcGFyYW0gbmFtZSBOYW1l
IG9mIHRoZSBVQ29udmVydGVyIHRhYmxlIGluIGEgemVybyB0ZXJtaW5hdGVkIAorICogQHBhcmFt
IG5hbWUgTmFtZSBvZiB0aGUgVUNvbnZlcnRlciB0YWJsZSBpbiBhIHplcm8gdGVybWluYXRlZAog
ICogICAgICAgIFVuaWNvZGUgc3RyaW5nCi0gKiBAcGFyYW0gZXJyIG91dGdvaW5nIGVycm9yIHN0
YXR1cyA8VFQ+VV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUiwgCisgKiBAcGFyYW0gZXJyIG91dGdv
aW5nIGVycm9yIHN0YXR1cyA8VFQ+VV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUiwKICAqICAgICAg
ICBVX0ZJTEVfQUNDRVNTX0VSUk9SPC9UVD4KLSAqIEByZXR1cm4gdGhlIGNyZWF0ZWQgVW5pY29k
ZSBjb252ZXJ0ZXIgb2JqZWN0LCBvciA8VFQ+TlVMTDwvVFQ+IGlmIGFuIAorICogQHJldHVybiB0
aGUgY3JlYXRlZCBVbmljb2RlIGNvbnZlcnRlciBvYmplY3QsIG9yIDxUVD5OVUxMPC9UVD4gaWYg
YW4KICAqICAgICAgICBlcnJvciBvY2N1cmVkCiAgKiBAc2VlIHVjbnZfb3BlbgogICogQHNlZSB1
Y252X29wZW5DQ1NJRApAQCAtMzkxLDcgKzM5MSw3IEBAIHVjbnZfb3Blbihjb25zdCBjaGFyICpj
b252ZXJ0ZXJOYW1lLCBVRXJyb3JDb2RlICplcnIpOwogICogQHNlZSB1Y252X2NvbXBhcmVOYW1l
cwogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIFVDb252ZXJ0ZXIqIFVfRVhQT1JU
MiAKK1VfU1RBQkxFIFVDb252ZXJ0ZXIqIFVfRVhQT1JUMgogdWNudl9vcGVuVShjb25zdCBVQ2hh
ciAqbmFtZSwKICAgICAgICAgICAgVUVycm9yQ29kZSAqZXJyKTsKIApAQCAtNDY2LDIwICs0NjYs
MjAgQEAgdWNudl9vcGVuQ0NTSUQoaW50MzJfdCBjb2RlcGFnZSwKIAogLyoqCiAgKiA8cD5DcmVh
dGVzIGEgVUNvbnZlcnRlciBvYmplY3Qgc3BlY2lmaWVkIGZyb20gYSBwYWNrYWdlTmFtZSBhbmQg
YSBjb252ZXJ0ZXJOYW1lLjwvcD4KLSAqIAorICoKICAqIDxwPlRoZSBwYWNrYWdlTmFtZSBhbmQg
Y29udmVydGVyTmFtZSBtdXN0IHBvaW50IHRvIGFuIElDVSB1ZGF0YSBvYmplY3QsIGFzIGRlZmlu
ZWQgYnkKICAqICAgPGNvZGU+IHVkYXRhX29wZW4oIHBhY2thZ2VOYW1lLCAiY252IiwgY29udmVy
dGVyTmFtZSwgZXJyKSA8L2NvZGU+IG9yIGVxdWl2YWxlbnQuCiAgKiBUeXBpY2FsbHksIHBhY2th
Z2VOYW1lIHdpbGwgcmVmZXIgdG8gYSAoLmRhdCkgZmlsZSwgb3IgdG8gYSBwYWNrYWdlIHJlZ2lz
dGVyZWQgd2l0aAogICogdWRhdGFfc2V0QXBwRGF0YSgpLiBVc2luZyBhIGZ1bGwgZmlsZSBvciBk
aXJlY3RvcnkgcGF0aG5hbWUgZm9yIHBhY2thZ2VOYW1lIGlzIGRlcHJlY2F0ZWQuPC9wPgotICog
CisgKgogICogPHA+VGhlIG5hbWUgd2lsbCBOT1QgYmUgbG9va2VkIHVwIGluIHRoZSBhbGlhcyBt
ZWNoYW5pc20sIG5vciB3aWxsIHRoZSBjb252ZXJ0ZXIgYmUKICAqIHN0b3JlZCBpbiB0aGUgY29u
dmVydGVyIGNhY2hlIG9yIHRoZSBhbGlhcyB0YWJsZS4gVGhlIG9ubHkgd2F5IHRvIG9wZW4gZnVy
dGhlciBjb252ZXJ0ZXJzCi0gKiBpcyBjYWxsIHRoaXMgZnVuY3Rpb24gbXVsdGlwbGUgdGltZXMs
IG9yIHVzZSB0aGUgdWNudl9zYWZlQ2xvbmUoKSBmdW5jdGlvbiB0byBjbG9uZSBhIAorICogaXMg
Y2FsbCB0aGlzIGZ1bmN0aW9uIG11bHRpcGxlIHRpbWVzLCBvciB1c2UgdGhlIHVjbnZfc2FmZUNs
b25lKCkgZnVuY3Rpb24gdG8gY2xvbmUgYQogICogJ21hc3RlcicgY29udmVydGVyLjwvcD4KICAq
CiAgKiA8cD5BIGZ1dHVyZSB2ZXJzaW9uIG9mIElDVSBtYXkgYWRkIGFsaWFzIHRhYmxlIGxvb2t1
cHMgYW5kL29yIGNhY2hpbmcKICAqIHRvIHRoaXMgZnVuY3Rpb24uPC9wPgotICogCisgKgogICog
PHA+RXhhbXBsZSBVc2U6CiAgKiAgICAgIDxjb2RlPmNudiA9IHVjbnZfb3BlblBhY2thZ2UoIm15
YXBwIiwgIm15Y29udmVydGVyIiwgJmVycik7PC9jb2RlPgogICogPC9wPgpAQCAtNDk0LDcgKzQ5
NCw3IEBAIHVjbnZfb3BlbkNDU0lEKGludDMyX3QgY29kZXBhZ2UsCiAgKiBAc2VlIHVjbnZfY2xv
c2UKICAqIEBzdGFibGUgSUNVIDIuMgogICovCi1VX1NUQUJMRSBVQ29udmVydGVyKiBVX0VYUE9S
VDIgCitVX1NUQUJMRSBVQ29udmVydGVyKiBVX0VYUE9SVDIKIHVjbnZfb3BlblBhY2thZ2UoY29u
c3QgY2hhciAqcGFja2FnZU5hbWUsIGNvbnN0IGNoYXIgKmNvbnZlcnRlck5hbWUsIFVFcnJvckNv
ZGUgKmVycik7CiAKIC8qKgpAQCAtNTIyLDcgKzUyMiw3IEBAIHVjbnZfb3BlblBhY2thZ2UoY29u
c3QgY2hhciAqcGFja2FnZU5hbWUsIGNvbnN0IGNoYXIgKmNvbnZlcnRlck5hbWUsIFVFcnJvckNv
ZGUKICAqCiAgKiBAcGFyYW0gY252IGNvbnZlcnRlciB0byBiZSBjbG9uZWQKICAqIEBwYXJhbSBz
dGFja0J1ZmZlciA8ZW0+RGVwcmVjYXRlZCBmdW5jdGlvbmFsaXR5IGFzIG9mIElDVSA1MiwgdXNl
IE5VTEwuPC9lbT48YnI+Ci0gKiAgdXNlciBhbGxvY2F0ZWQgc3BhY2UgZm9yIHRoZSBuZXcgY2xv
bmUuIElmIE5VTEwgbmV3IG1lbW9yeSB3aWxsIGJlIGFsbG9jYXRlZC4gCisgKiAgdXNlciBhbGxv
Y2F0ZWQgc3BhY2UgZm9yIHRoZSBuZXcgY2xvbmUuIElmIE5VTEwgbmV3IG1lbW9yeSB3aWxsIGJl
IGFsbG9jYXRlZC4KICAqICBJZiBidWZmZXIgaXMgbm90IGxhcmdlIGVub3VnaCwgbmV3IG1lbW9y
eSB3aWxsIGJlIGFsbG9jYXRlZC4KICAqICBDbGllbnRzIGNhbiB1c2UgdGhlIFVfQ05WX1NBRkVD
TE9ORV9CVUZGRVJTSVpFLiBUaGlzIHdpbGwgcHJvYmFibHkgYmUgZW5vdWdoIHRvIGF2b2lkIG1l
bW9yeSBhbGxvY2F0aW9ucy4KICAqIEBwYXJhbSBwQnVmZmVyU2l6ZSA8ZW0+RGVwcmVjYXRlZCBm
dW5jdGlvbmFsaXR5IGFzIG9mIElDVSA1MiwgdXNlIE5VTEwgb3IgMS48L2VtPjxicj4KQEAgLTUz
NiwxMCArNTM2LDEwIEBAIHVjbnZfb3BlblBhY2thZ2UoY29uc3QgY2hhciAqcGFja2FnZU5hbWUs
IGNvbnN0IGNoYXIgKmNvbnZlcnRlck5hbWUsIFVFcnJvckNvZGUKICAqIEByZXR1cm4gcG9pbnRl
ciB0byB0aGUgbmV3IGNsb25lCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9TVEFCTEUgVUNv
bnZlcnRlciAqIFVfRVhQT1JUMiAKLXVjbnZfc2FmZUNsb25lKGNvbnN0IFVDb252ZXJ0ZXIgKmNu
diwgCitVX1NUQUJMRSBVQ29udmVydGVyICogVV9FWFBPUlQyCit1Y252X3NhZmVDbG9uZShjb25z
dCBVQ29udmVydGVyICpjbnYsCiAgICAgICAgICAgICAgICB2b2lkICAgICAgICAgICAgICpzdGFj
a0J1ZmZlciwKLSAgICAgICAgICAgICAgIGludDMyX3QgICAgICAgICAgKnBCdWZmZXJTaXplLCAK
KyAgICAgICAgICAgICAgIGludDMyX3QgICAgICAgICAgKnBCdWZmZXJTaXplLAogICAgICAgICAg
ICAgICAgVUVycm9yQ29kZSAgICAgICAqc3RhdHVzKTsKIAogI2lmbmRlZiBVX0hJREVfREVQUkVD
QVRFRF9BUEkKQEAgLTU5NSw3ICs1OTUsNyBAQCBVX05BTUVTUEFDRV9FTkQKICAqCiAgKiBAcGFy
YW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNvbnZlcnRlcgogICogQHBhcmFtIHN1YkNoYXJzIHRo
ZSBzdWJzaXR1dGlvbiBjaGFyYWN0ZXJzCi0gKiBAcGFyYW0gbGVuIG9uIGlucHV0IHRoZSBjYXBh
Y2l0eSBvZiBzdWJDaGFycywgb24gb3V0cHV0IHRoZSBudW1iZXIgCisgKiBAcGFyYW0gbGVuIG9u
IGlucHV0IHRoZSBjYXBhY2l0eSBvZiBzdWJDaGFycywgb24gb3V0cHV0IHRoZSBudW1iZXIKICAq
IG9mIGJ5dGVzIGNvcGllZCB0byBpdAogICogQHBhcmFtICBlcnIgdGhlIG91dGdvaW5nIGVycm9y
IHN0YXR1cyBjb2RlLgogICogSWYgdGhlIHN1YnN0aXR1dGlvbiBjaGFyYWN0ZXIgYXJyYXkgaXMg
dG9vIHNtYWxsLCBhbgpAQCAtNjkzLDcgKzY5Myw3IEBAIHVjbnZfZ2V0SW52YWxpZENoYXJzKGNv
bnN0IFVDb252ZXJ0ZXIgKmNvbnZlcnRlciwKICAqCiAgKiBAcGFyYW0gY29udmVydGVyIHRoZSBV
bmljb2RlIGNvbnZlcnRlcgogICogQHBhcmFtIGVyclVDaGFycyB0aGUgVUNoYXJzIHdoaWNoIHdl
cmUgaW4gZXJyb3IKLSAqIEBwYXJhbSBsZW4gb24gaW5wdXQgdGhlIGNhcGFjaXR5IG9mIGVyclVD
aGFycywgb24gb3V0cHV0IHRoZSBudW1iZXIgb2YgCisgKiBAcGFyYW0gbGVuIG9uIGlucHV0IHRo
ZSBjYXBhY2l0eSBvZiBlcnJVQ2hhcnMsIG9uIG91dHB1dCB0aGUgbnVtYmVyIG9mCiAgKiAgVUNo
YXJzIHdoaWNoIHdlcmUgY29waWVkIHRvIGl0CiAgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0
dXMgY29kZS4KICAqIElmIHRoZSBzdWJzdGl0dXRpb24gY2hhcmFjdGVyIGFycmF5IGlzIHRvbyBz
bWFsbCwgYW4KQEAgLTcyNCw3ICs3MjQsNyBAQCB1Y252X3Jlc2V0KFVDb252ZXJ0ZXIgKmNvbnZl
cnRlcik7CiAgKiBAcGFyYW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNvbnZlcnRlcgogICogQHN0
YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAorVV9TVEFCTEUgdm9p
ZCBVX0VYUE9SVDIKIHVjbnZfcmVzZXRUb1VuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyKTsK
IAogLyoqCkBAIC03MzUsNyArNzM1LDcgQEAgdWNudl9yZXNldFRvVW5pY29kZShVQ29udmVydGVy
ICpjb252ZXJ0ZXIpOwogICogQHBhcmFtIGNvbnZlcnRlciB0aGUgVW5pY29kZSBjb252ZXJ0ZXIK
ICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSB2b2lkIFVfRVhQT1JUMiAKK1VfU1RB
QkxFIHZvaWQgVV9FWFBPUlQyCiB1Y252X3Jlc2V0RnJvbVVuaWNvZGUoVUNvbnZlcnRlciAqY29u
dmVydGVyKTsKIAogLyoqCkBAIC03NzksOCArNzc5LDEwIEBAIHVjbnZfcmVzZXRGcm9tVW5pY29k
ZShVQ29udmVydGVyICpjb252ZXJ0ZXIpOwogICogLSBJU08tMjAyMi1DTjogOCAoNC1ieXRlIGRl
c2lnbmF0b3Igc2VxdWVuY2VzICsgMi1ieXRlIFNTMi9TUzMgKyBEQkNTKQogICoKICAqIEBwYXJh
bSBjb252ZXJ0ZXIgVGhlIFVuaWNvZGUgY29udmVydGVyLgotICogQHJldHVybiBUaGUgbWF4aW11
bSBudW1iZXIgb2YgYnl0ZXMgcGVyIFVDaGFyIHRoYXQgYXJlIG91dHB1dCBieSB1Y252X2Zyb21V
bmljb2RlKCksCi0gKiAgICAgICAgIHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBVQ05WX0dFVF9N
QVhfQllURVNfRk9SX1NUUklORyBmb3IgYnVmZmVyIGFsbG9jYXRpb24uCisgKiBAcmV0dXJuIFRo
ZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBwZXIgVUNoYXIgKDE2IGJpdCBjb2RlIHVuaXQpCisg
KiAgICB0aGF0IGFyZSBvdXRwdXQgYnkgdWNudl9mcm9tVW5pY29kZSgpLAorICogICAgdG8gYmUg
dXNlZCB0b2dldGhlciB3aXRoIFVDTlZfR0VUX01BWF9CWVRFU19GT1JfU1RSSU5HCisgKiAgICBm
b3IgYnVmZmVyIGFsbG9jYXRpb24uCiAgKgogICogQHNlZSBVQ05WX0dFVF9NQVhfQllURVNfRk9S
X1NUUklORwogICogQHNlZSB1Y252X2dldE1pbkNoYXJTaXplCkBAIC04MTIsMTAgKzgxNCwxMCBA
QCB1Y252X2dldE1heENoYXJTaXplKGNvbnN0IFVDb252ZXJ0ZXIgKmNvbnZlcnRlcik7CiAgICAg
ICgoKGludDMyX3QpKGxlbmd0aCkrMTApKihpbnQzMl90KShtYXhDaGFyU2l6ZSkpCiAKIC8qKgot
ICogUmV0dXJucyB0aGUgbWluaW11bSBieXRlIGxlbmd0aCBmb3IgY2hhcmFjdGVycyBpbiB0aGlz
IGNvZGVwYWdlLiAKKyAqIFJldHVybnMgdGhlIG1pbmltdW0gYnl0ZSBsZW5ndGggKHBlciBjb2Rl
cG9pbnQpIGZvciBjaGFyYWN0ZXJzIGluIHRoaXMgY29kZXBhZ2UuCiAgKiBUaGlzIGlzIHVzdWFs
bHkgZWl0aGVyIDEgb3IgMi4KICAqIEBwYXJhbSBjb252ZXJ0ZXIgdGhlIFVuaWNvZGUgY29udmVy
dGVyCi0gKiBAcmV0dXJuIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcyBhbGxvd2VkIGJ5IHRo
aXMgcGFydGljdWxhciBjb252ZXJ0ZXIKKyAqIEByZXR1cm4gdGhlIG1pbmltdW0gbnVtYmVyIG9m
IGJ5dGVzIHBlciBjb2RlcG9pbnQgYWxsb3dlZCBieSB0aGlzIHBhcnRpY3VsYXIgY29udmVydGVy
CiAgKiBAc2VlIHVjbnZfZ2V0TWF4Q2hhclNpemUKICAqIEBzdGFibGUgSUNVIDIuMAogICovCkBA
IC04MjMsNyArODI1LDcgQEAgVV9TVEFCTEUgaW50OF90IFVfRVhQT1JUMgogdWNudl9nZXRNaW5D
aGFyU2l6ZShjb25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIpOwogCiAvKioKLSAqIFJldHVybnMg
dGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgY29udmVydGVyIHBhc3NlZCBpbiBiYXNlZCBvbiB0aGUg
TG9jYWxlIAorICogUmV0dXJucyB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBjb252ZXJ0ZXIgcGFz
c2VkIGluIGJhc2VkIG9uIHRoZSBMb2NhbGUKICAqIHBhc3NlZCBpbi4gSWYgdGhlIGxvY2FsZSBj
b250YWlucyBubyBkaXNwbGF5IG5hbWUsIHRoZSBpbnRlcm5hbCBBU0NJSQogICogbmFtZSB3aWxs
IGJlIGZpbGxlZCBpbi4KICAqCkBAIC04NDUsNyArODQ3LDcgQEAgdWNudl9nZXREaXNwbGF5TmFt
ZShjb25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIsCiAKIC8qKgogICogR2V0cyB0aGUgaW50ZXJu
YWwsIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBjb252ZXJ0ZXIgKHplcm8tdGVybWluYXRlZCkuCi0g
KiBUaGUgbGlmZXRpbWUgb2YgdGhlIHJldHVybmVkIHN0cmluZyB3aWxsIGJlIHRoYXQgb2YgdGhl
IGNvbnZlcnRlciAKKyAqIFRoZSBsaWZldGltZSBvZiB0aGUgcmV0dXJuZWQgc3RyaW5nIHdpbGwg
YmUgdGhhdCBvZiB0aGUgY29udmVydGVyCiAgKiBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbi4KICAq
IEBwYXJhbSBjb252ZXJ0ZXIgdGhlIFVuaWNvZGUgY29udmVydGVyCiAgKiBAcGFyYW0gZXJyIFVF
cnJvckNvZGUgc3RhdHVzCkBAIC04NTMsNyArODU1LDcgQEAgdWNudl9nZXREaXNwbGF5TmFtZShj
b25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIsCiAgKiBAc2VlIHVjbnZfZ2V0RGlzcGxheU5hbWUK
ICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSBjb25zdCBjaGFyICogVV9FWFBPUlQy
IAorVV9TVEFCTEUgY29uc3QgY2hhciAqIFVfRVhQT1JUMgogdWNudl9nZXROYW1lKGNvbnN0IFVD
b252ZXJ0ZXIgKmNvbnZlcnRlciwgVUVycm9yQ29kZSAqZXJyKTsKIAogLyoqCkBAIC04ODQsMTAg
Kzg4NiwxMCBAQCB1Y252X2dldENDU0lEKGNvbnN0IFVDb252ZXJ0ZXIgKmNvbnZlcnRlciwKICAg
ICAgICAgICAgICAgVUVycm9yQ29kZSAqZXJyKTsKIAogLyoqCi0gKiBHZXRzIGEgY29kZXBhZ2Ug
cGxhdGZvcm0gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb252ZXJ0ZXIuIEN1cnJlbnRseSwgCisgKiBH
ZXRzIGEgY29kZXBhZ2UgcGxhdGZvcm0gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb252ZXJ0ZXIuIEN1
cnJlbnRseSwKICAqIG9ubHkgPFRUPlVDTlZfSUJNPC9UVD4gd2lsbCBiZSByZXR1cm5lZC4KLSAq
IERvZXMgbm90IHRlc3QgaWYgdGhlIGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+IG9yIGlmIGNv
bnZlcnRlcidzIGRhdGEgCi0gKiB0YWJsZSBpcyA8VFQ+TlVMTDwvVFQ+LiAKKyAqIERvZXMgbm90
IHRlc3QgaWYgdGhlIGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+IG9yIGlmIGNvbnZlcnRlcidz
IGRhdGEKKyAqIHRhYmxlIGlzIDxUVD5OVUxMPC9UVD4uCiAgKiBAcGFyYW0gY29udmVydGVyIHRo
ZSBVbmljb2RlIGNvbnZlcnRlcgogICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUu
CiAgKiBAcmV0dXJuIFRoZSBjb2RlcGFnZSBwbGF0Zm9ybQpAQCAtODk5LDcgKzkwMSw3IEBAIHVj
bnZfZ2V0UGxhdGZvcm0oY29uc3QgVUNvbnZlcnRlciAqY29udmVydGVyLAogCiAvKioKICAqIEdl
dHMgdGhlIHR5cGUgb2YgdGhlIGNvbnZlcnRlcgotICogZS5nLiBTQkNTLCBNQkNTLCBEQkNTLCBV
VEY4LCBVVEYxNl9CRSwgVVRGMTZfTEUsIElTT18yMDIyLCAKKyAqIGUuZy4gU0JDUywgTUJDUywg
REJDUywgVVRGOCwgVVRGMTZfQkUsIFVURjE2X0xFLCBJU09fMjAyMiwKICAqIEVCQ0RJQ19TVEFU
RUZVTCwgTEFUSU5fMQogICogQHBhcmFtIGNvbnZlcnRlciBhIHZhbGlkLCBvcGVuZWQgY29udmVy
dGVyCiAgKiBAcmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBjb252ZXJ0ZXIKQEAgLTkxMSwyMCArOTEz
LDIwIEBAIHVjbnZfZ2V0VHlwZShjb25zdCBVQ29udmVydGVyICogY29udmVydGVyKTsKIC8qKgog
ICogR2V0cyB0aGUgInN0YXJ0ZXIiIChsZWFkKSBieXRlcyBmb3IgY29udmVydGVycyBvZiB0eXBl
IE1CQ1MuCiAgKiBXaWxsIGZpbGwgaW4gYW4gPFRUPlVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUjwv
VFQ+IGlmIGNvbnZlcnRlciBwYXNzZWQgaW4KLSAqIGlzIG5vdCBNQkNTLiBGaWxscyBpbiBhbiBh
cnJheSBvZiB0eXBlIFVCb29sLCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgYnl0ZSAKKyAqIGlzIG5v
dCBNQkNTLiBGaWxscyBpbiBhbiBhcnJheSBvZiB0eXBlIFVCb29sLCB3aXRoIHRoZSB2YWx1ZSBv
ZiB0aGUgYnl0ZQogICogYXMgb2Zmc2V0IHRvIHRoZSBhcnJheS4gRm9yIGV4YW1wbGUsIGlmIChz
dGFydGVyc1sweDIwXSA9PSBUUlVFKSBhdCByZXR1cm4sCiAgKiBpdCBtZWFucyB0aGF0IHRoZSBi
eXRlIDB4MjAgaXMgYSBzdGFydGVyIGJ5dGUgaW4gdGhpcyBjb252ZXJ0ZXIuCiAgKiBDb250ZXh0
IHBvaW50ZXJzIGFyZSBhbHdheXMgb3duZWQgYnkgdGhlIGNhbGxlci4KLSAqIAorICoKICAqIEBw
YXJhbSBjb252ZXJ0ZXIgYSB2YWxpZCwgb3BlbmVkIGNvbnZlcnRlciBvZiB0eXBlIE1CQ1MKICAq
IEBwYXJhbSBzdGFydGVycyBhbiBhcnJheSBvZiBzaXplIDI1NiB0byBiZSBmaWxsZWQgaW4KLSAq
IEBwYXJhbSBlcnIgZXJyb3Igc3RhdHVzLCA8VFQ+VV9JTExFR0FMX0FSR1VNRU5UX0VSUk9SPC9U
VD4gaWYgdGhlIAorICogQHBhcmFtIGVyciBlcnJvciBzdGF0dXMsIDxUVD5VX0lMTEVHQUxfQVJH
VU1FTlRfRVJST1I8L1RUPiBpZiB0aGUKICAqIGNvbnZlcnRlciBpcyBub3QgYSB0eXBlIHdoaWNo
IGNhbiByZXR1cm4gc3RhcnRlcnMuCiAgKiBAc2VlIHVjbnZfZ2V0VHlwZQogICogQHN0YWJsZSBJ
Q1UgMi4wCiAgKi8KIFVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCi11Y252X2dldFN0YXJ0ZXJzKGNv
bnN0IFVDb252ZXJ0ZXIqIGNvbnZlcnRlciwgCit1Y252X2dldFN0YXJ0ZXJzKGNvbnN0IFVDb252
ZXJ0ZXIqIGNvbnZlcnRlciwKICAgICAgICAgICAgICAgICAgVUJvb2wgc3RhcnRlcnNbMjU2XSwK
ICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSogZXJyKTsKIApAQCAtOTk3LDcgKzk5OSw3IEBA
IHVjbnZfZ2V0VW5pY29kZVNldChjb25zdCBVQ29udmVydGVyICpjbnYsCiAKIC8qKgogICogR2V0
cyB0aGUgY3VycmVudCBjYWxiYWNrIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIGNvbnZlcnRlciB3aGVu
IGFuIGlsbGVnYWwKLSAqICBvciBpbnZhbGlkIGNvZGVwYWdlIHNlcXVlbmNlIGlzIGZvdW5kLiAK
KyAqICBvciBpbnZhbGlkIGNvZGVwYWdlIHNlcXVlbmNlIGlzIGZvdW5kLgogICogQ29udGV4dCBw
b2ludGVycyBhcmUgYWx3YXlzIG93bmVkIGJ5IHRoZSBjYWxsZXIuCiAgKgogICogQHBhcmFtIGNv
bnZlcnRlciB0aGUgdW5pY29kZSBjb252ZXJ0ZXIKQEAgLTEwMTIsNyArMTAxNCw3IEBAIHVjbnZf
Z2V0VG9VQ2FsbEJhY2sgKGNvbnN0IFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB2b2lkICoqY29udGV4dCk7CiAKIC8qKgotICogR2V0cyB0aGUgY3Vy
cmVudCBjYWxsYmFjayBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBjb252ZXJ0ZXIgd2hlbiBpbGxlZ2Fs
IAorICogR2V0cyB0aGUgY3VycmVudCBjYWxsYmFjayBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBjb252
ZXJ0ZXIgd2hlbiBpbGxlZ2FsCiAgKiBvciBpbnZhbGlkIFVuaWNvZGUgc2VxdWVuY2UgaXMgZm91
bmQuCiAgKiBDb250ZXh0IHBvaW50ZXJzIGFyZSBhbHdheXMgb3duZWQgYnkgdGhlIGNhbGxlci4K
ICAqCkBAIC0xMDc4LDI2ICsxMDgwLDI2IEBAIHVjbnZfc2V0RnJvbVVDYWxsQmFjayAoVUNvbnZl
cnRlciAqIGNvbnZlcnRlciwKICAqIGNoYXJhY3RlcnMuIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW1p
emVkIGZvciBjb252ZXJ0aW5nIGEgY29udGludW91cwogICogc3RyZWFtIG9mIGRhdGEgaW4gYnVm
ZmVyLXNpemVkIGNodW5rcywgd2hlcmUgdGhlIGVudGlyZSBzb3VyY2UgYW5kCiAgKiB0YXJnZXQg
ZG9lcyBub3QgZml0IGluIGF2YWlsYWJsZSBidWZmZXJzLgotICogCi0gKiBUaGUgc291cmNlIHBv
aW50ZXIgaXMgYW4gaW4vb3V0IHBhcmFtZXRlci4gSXQgc3RhcnRzIG91dCBwb2ludGluZyB3aGVy
ZSB0aGUgCi0gKiBjb252ZXJzaW9uIGlzIHRvIGJlZ2luLCBhbmQgZW5kcyB1cCBwb2ludGluZyBh
ZnRlciB0aGUgbGFzdCBVQ2hhciBjb25zdW1lZC4gCi0gKiAKKyAqCisgKiBUaGUgc291cmNlIHBv
aW50ZXIgaXMgYW4gaW4vb3V0IHBhcmFtZXRlci4gSXQgc3RhcnRzIG91dCBwb2ludGluZyB3aGVy
ZSB0aGUKKyAqIGNvbnZlcnNpb24gaXMgdG8gYmVnaW4sIGFuZCBlbmRzIHVwIHBvaW50aW5nIGFm
dGVyIHRoZSBsYXN0IFVDaGFyIGNvbnN1bWVkLgorICoKICAqIFRhcmdldCBzaW1pbGFybHkgc3Rh
cnRzIG91dCBwb2ludGVyIGF0IHRoZSBmaXJzdCBhdmFpbGFibGUgYnl0ZSBpbiB0aGUgb3V0cHV0
CiAgKiBidWZmZXIsIGFuZCBlbmRzIHVwIHBvaW50aW5nIGFmdGVyIHRoZSBsYXN0IGJ5dGUgd3Jp
dHRlbiB0byB0aGUgb3V0cHV0LgotICogCi0gKiBUaGUgY29udmVydGVyIGFsd2F5cyBhdHRlbXB0
cyB0byBjb25zdW1lIHRoZSBlbnRpcmUgc291cmNlIGJ1ZmZlciwgdW5sZXNzIAorICoKKyAqIFRo
ZSBjb252ZXJ0ZXIgYWx3YXlzIGF0dGVtcHRzIHRvIGNvbnN1bWUgdGhlIGVudGlyZSBzb3VyY2Ug
YnVmZmVyLCB1bmxlc3MKICAqICgxLikgdGhlIHRhcmdldCBidWZmZXIgaXMgZnVsbCwgb3IgKDIu
KSBhIGZhaWxpbmcgZXJyb3IgaXMgcmV0dXJuZWQgZnJvbSB0aGUKICAqIGN1cnJlbnQgY2FsbGJh
Y2sgZnVuY3Rpb24uICBXaGVuIGEgc3VjY2Vzc2Z1bCBlcnJvciBzdGF0dXMgaGFzIGJlZW4KICAq
IHJldHVybmVkLCBpdCBtZWFucyB0aGF0IGFsbCBvZiB0aGUgc291cmNlIGJ1ZmZlciBoYXMgYmVl
bgogICogIGNvbnN1bWVkLiBBdCB0aGF0IHBvaW50LCB0aGUgY2FsbGVyIHNob3VsZCByZXNldCB0
aGUgc291cmNlIGFuZAogICogIHNvdXJjZUxpbWl0IHBvaW50ZXJzIHRvIHBvaW50IHRvIHRoZSBu
ZXh0IGNodW5rLgotICogCisgKgogICogQXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIChmbHVzaD09
VFJVRSksIHRoZSBpbnB1dCBpcyBjb21wbGV0ZWx5IGNvbnN1bWVkCiAgKiB3aGVuICpzb3VyY2U9
PXNvdXJjZUxpbWl0IGFuZCBubyBlcnJvciBjb2RlIGlzIHNldC4KICAqIFRoZSBjb252ZXJ0ZXIg
b2JqZWN0IGlzIHRoZW4gYXV0b21hdGljYWxseSByZXNldCBieSB0aGlzIGZ1bmN0aW9uLgogICog
KFRoaXMgbWVhbnMgdGhhdCBhIGNvbnZlcnRlciBuZWVkIG5vdCBiZSByZXNldCBleHBsaWNpdGx5
IGJldHdlZW4gZGF0YQogICogc3RyZWFtcyBpZiBpdCBmaW5pc2hlcyB0aGUgcHJldmlvdXMgc3Ry
ZWFtIHdpdGhvdXQgZXJyb3JzLikKLSAqIAorICoKICAqIFRoaXMgaXMgYSA8ST5zdGF0ZWZ1bDwv
ST4gY29udmVyc2lvbi4gQWRkaXRpb25hbGx5LCBldmVuIHdoZW4gYWxsIHNvdXJjZSBkYXRhIGhh
cwogICogYmVlbiBjb25zdW1lZCwgc29tZSBkYXRhIG1heSBiZSBpbiB0aGUgY29udmVydGVycycg
aW50ZXJuYWwgc3RhdGUuCiAgKiBDYWxsIHRoaXMgZnVuY3Rpb24gcmVwZWF0ZWRseSwgdXBkYXRp
bmcgdGhlIHRhcmdldCBwb2ludGVycyB3aXRoCkBAIC0xMTEwLDIwICsxMTEyLDIwIEBAIHVjbnZf
c2V0RnJvbVVDYWxsQmFjayAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqICBjb2RlcGFnZSBj
aGFyYWN0ZXJzIHRvLiBPdXRwdXQgOiBwb2ludHMgdG8gYWZ0ZXIgdGhlIGxhc3QgY29kZXBhZ2Ug
Y2hhcmFjdGVyIGNvcGllZAogICogIHRvIDxUVD50YXJnZXQ8L1RUPi4KICAqIEBwYXJhbSB0YXJn
ZXRMaW1pdCB0aGUgcG9pbnRlciBqdXN0IGFmdGVyIGxhc3Qgb2YgdGhlIDxUVD50YXJnZXQ8L1RU
PiBidWZmZXIKLSAqIEBwYXJhbSBzb3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRlciB0byBwb2lu
dGVyIHRvIHRoZSBzb3VyY2UgVW5pY29kZSBjaGFyYWN0ZXIgYnVmZmVyLiAKKyAqIEBwYXJhbSBz
b3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVyIHRvIHRoZSBzb3VyY2UgVW5p
Y29kZSBjaGFyYWN0ZXIgYnVmZmVyLgogICogQHBhcmFtIHNvdXJjZUxpbWl0IHRoZSBwb2ludGVy
IGp1c3QgYWZ0ZXIgdGhlIGxhc3Qgb2YgdGhlIHNvdXJjZSBidWZmZXIKICAqIEBwYXJhbSBvZmZz
ZXRzIGlmIE5VTEwgaXMgcGFzc2VkLCBub3RoaW5nIHdpbGwgaGFwcGVuIHRvIGl0LCBvdGhlcndp
c2UgaXQgbmVlZHMgdG8gaGF2ZSB0aGUgc2FtZSBudW1iZXIKICAqIG9mIGFsbG9jYXRlZCBjZWxs
cyBhcyA8VFQ+dGFyZ2V0PC9UVD4uIFdpbGwgZmlsbCBpbiBvZmZzZXRzIGZyb20gdGFyZ2V0IHRv
IHNvdXJjZSBwb2ludGVyCiAgKiBlLmc6IDxUVD5vZmZzZXRzWzNdPC9UVD4gaXMgZXF1YWwgdG8g
NiwgaXQgbWVhbnMgdGhhdCB0aGUgPFRUPnRhcmdldFszXTwvVFQ+IHdhcyBhIHJlc3VsdCBvZiB0
cmFuc2NvZGluZyA8VFQ+c291cmNlWzZdPC9UVD4KICAqIEZvciBvdXRwdXQgZGF0YSBjYXJyaWVk
IGFjcm9zcyBjYWxscywgYW5kIG90aGVyIGRhdGEgd2l0aG91dCBhIHNwZWNpZmljIHNvdXJjZSBj
aGFyYWN0ZXIKLSAqIChzdWNoIGFzIGZyb20gZXNjYXBlIHNlcXVlbmNlcyBvciBjYWxsYmFja3Mp
ICAtMSB3aWxsIGJlIHBsYWNlZCBmb3Igb2Zmc2V0cy4gCisgKiAoc3VjaCBhcyBmcm9tIGVzY2Fw
ZSBzZXF1ZW5jZXMgb3IgY2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9mZnNldHMu
CiAgKiBAcGFyYW0gZmx1c2ggc2V0IHRvIDxUVD5UUlVFPC9UVD4gaWYgdGhlIGN1cnJlbnQgc291
cmNlIGJ1ZmZlciBpcyB0aGUgbGFzdCBhdmFpbGFibGUKICAqIGNodW5rIG9mIHRoZSBzb3VyY2Us
IDxUVD5GQUxTRTwvVFQ+IG90aGVyd2lzZS4gTm90ZSB0aGF0IGlmIGEgZmFpbGluZyBzdGF0dXMg
aXMgcmV0dXJuZWQsCiAgKiB0aGlzIGZ1bmN0aW9uIG1heSBoYXZlIHRvIGJlIGNhbGxlZCBtdWx0
aXBsZSB0aW1lcyB3aXRoIGZsdXNoIHNldCB0byA8VFQ+VFJVRTwvVFQ+IHVudGlsCiAgKiB0aGUg
c291cmNlIGJ1ZmZlciBpcyBjb25zdW1lZC4KICAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0YXR1
cy4gIDxUVD5VX0lMTEVHQUxfQVJHVU1FTlRfRVJST1I8L1RUPiB3aWxsIGJlIHNldCBpZiB0aGUK
ICAqIGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+LgotICogPGNvZGU+VV9CVUZGRVJfT1ZFUkZM
T1dfRVJST1I8L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBhbmQgdGhl
cmUgaXMgCisgKiA8Y29kZT5VX0JVRkZFUl9PVkVSRkxPV19FUlJPUjwvY29kZT4gd2lsbCBiZSBz
ZXQgaWYgdGhlIHRhcmdldCBpcyBmdWxsIGFuZCB0aGVyZSBpcwogICogc3RpbGwgZGF0YSB0byBi
ZSB3cml0dGVuIHRvIHRoZSB0YXJnZXQuCiAgKiBAc2VlIHVjbnZfZnJvbVVDaGFycwogICogQHNl
ZSB1Y252X2NvbnZlcnQKQEAgLTExMzEsNyArMTEzMyw3IEBAIHVjbnZfc2V0RnJvbVVDYWxsQmFj
ayAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqIEBzZWUgdWNudl9zZXRUb1VDYWxsQmFjawog
ICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAorVV9TVEFC
TEUgdm9pZCBVX0VYUE9SVDIKIHVjbnZfZnJvbVVuaWNvZGUgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0
ZXIsCiAgICAgICAgICAgICAgICAgICBjaGFyICoqdGFyZ2V0LAogICAgICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqdGFyZ2V0TGltaXQsCkBAIC0xMTQ2LDE1ICsxMTQ4LDE1IEBAIHVjbnZfZnJv
bVVuaWNvZGUgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiBjaGFyYWN0ZXJzLiBUaGlzIGZ1
bmN0aW9uIGlzIG9wdGltaXplZCBmb3IgY29udmVydGluZyBhIGNvbnRpbnVvdXMKICAqIHN0cmVh
bSBvZiBkYXRhIGluIGJ1ZmZlci1zaXplZCBjaHVua3MsIHdoZXJlIHRoZSBlbnRpcmUgc291cmNl
IGFuZAogICogdGFyZ2V0IGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUgYnVmZmVycy4KLSAqIAot
ICogVGhlIHNvdXJjZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0ZXIuIEl0IHN0YXJ0cyBv
dXQgcG9pbnRpbmcgd2hlcmUgdGhlIAotICogY29udmVyc2lvbiBpcyB0byBiZWdpbiwgYW5kIGVu
ZHMgdXAgcG9pbnRpbmcgYWZ0ZXIgdGhlIGxhc3QgYnl0ZSBvZiBzb3VyY2UgY29uc3VtZWQuIAot
ICogCisgKgorICogVGhlIHNvdXJjZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0ZXIuIEl0
IHN0YXJ0cyBvdXQgcG9pbnRpbmcgd2hlcmUgdGhlCisgKiBjb252ZXJzaW9uIGlzIHRvIGJlZ2lu
LCBhbmQgZW5kcyB1cCBwb2ludGluZyBhZnRlciB0aGUgbGFzdCBieXRlIG9mIHNvdXJjZSBjb25z
dW1lZC4KKyAqCiAgKiBUYXJnZXQgc2ltaWxhcmx5IHN0YXJ0cyBvdXQgcG9pbnRlciBhdCB0aGUg
Zmlyc3QgYXZhaWxhYmxlIFVDaGFyIGluIHRoZSBvdXRwdXQKLSAqIGJ1ZmZlciwgYW5kIGVuZHMg
dXAgcG9pbnRpbmcgYWZ0ZXIgdGhlIGxhc3QgVUNoYXIgd3JpdHRlbiB0byB0aGUgb3V0cHV0LiAK
KyAqIGJ1ZmZlciwgYW5kIGVuZHMgdXAgcG9pbnRpbmcgYWZ0ZXIgdGhlIGxhc3QgVUNoYXIgd3Jp
dHRlbiB0byB0aGUgb3V0cHV0LgogICogSXQgZG9lcyBOT1QgbmVjZXNzYXJpbHkga2VlcCBVQ2hh
ciBzZXF1ZW5jZXMgdG9nZXRoZXIuCi0gKiAKLSAqIFRoZSBjb252ZXJ0ZXIgYWx3YXlzIGF0dGVt
cHRzIHRvIGNvbnN1bWUgdGhlIGVudGlyZSBzb3VyY2UgYnVmZmVyLCB1bmxlc3MgCisgKgorICog
VGhlIGNvbnZlcnRlciBhbHdheXMgYXR0ZW1wdHMgdG8gY29uc3VtZSB0aGUgZW50aXJlIHNvdXJj
ZSBidWZmZXIsIHVubGVzcwogICogKDEuKSB0aGUgdGFyZ2V0IGJ1ZmZlciBpcyBmdWxsLCBvciAo
Mi4pIGEgZmFpbGluZyBlcnJvciBpcyByZXR1cm5lZCBmcm9tIHRoZQogICogY3VycmVudCBjYWxs
YmFjayBmdW5jdGlvbi4gIFdoZW4gYSBzdWNjZXNzZnVsIGVycm9yIHN0YXR1cyBoYXMgYmVlbgog
ICogcmV0dXJuZWQsIGl0IG1lYW5zIHRoYXQgYWxsIG9mIHRoZSBzb3VyY2UgYnVmZmVyIGhhcyBi
ZWVuCkBAIC0xMTY2LDcgKzExNjgsNyBAQCB1Y252X2Zyb21Vbmljb2RlIChVQ29udmVydGVyICog
Y29udmVydGVyLAogICogVGhlIGNvbnZlcnRlciBvYmplY3QgaXMgdGhlbiBhdXRvbWF0aWNhbGx5
IHJlc2V0IGJ5IHRoaXMgZnVuY3Rpb24uCiAgKiAoVGhpcyBtZWFucyB0aGF0IGEgY29udmVydGVy
IG5lZWQgbm90IGJlIHJlc2V0IGV4cGxpY2l0bHkgYmV0d2VlbiBkYXRhCiAgKiBzdHJlYW1zIGlm
IGl0IGZpbmlzaGVzIHRoZSBwcmV2aW91cyBzdHJlYW0gd2l0aG91dCBlcnJvcnMuKQotICogCisg
KgogICogVGhpcyBpcyBhIDxJPnN0YXRlZnVsPC9JPiBjb252ZXJzaW9uLiBBZGRpdGlvbmFsbHks
IGV2ZW4gd2hlbiBhbGwgc291cmNlIGRhdGEgaGFzCiAgKiBiZWVuIGNvbnN1bWVkLCBzb21lIGRh
dGEgbWF5IGJlIGluIHRoZSBjb252ZXJ0ZXJzJyBpbnRlcm5hbCBzdGF0ZS4KICAqIENhbGwgdGhp
cyBmdW5jdGlvbiByZXBlYXRlZGx5LCB1cGRhdGluZyB0aGUgdGFyZ2V0IHBvaW50ZXJzIHdpdGgK
QEAgLTExNzgsMjEgKzExODAsMjEgQEAgdWNudl9mcm9tVW5pY29kZSAoVUNvbnZlcnRlciAqIGNv
bnZlcnRlciwKICAqIEBwYXJhbSB0YXJnZXQgSS9PIHBhcmFtZXRlci4gSW5wdXQgOiBQb2ludHMg
dG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyIHRvIGNvcHkKICAqICBVQ2hhcnMgaW50by4g
T3V0cHV0IDogcG9pbnRzIHRvIGFmdGVyIHRoZSBsYXN0IFVDaGFyIGNvcGllZC4KICAqIEBwYXJh
bSB0YXJnZXRMaW1pdCB0aGUgcG9pbnRlciBqdXN0IGFmdGVyIHRoZSBlbmQgb2YgdGhlIDxUVD50
YXJnZXQ8L1RUPiBidWZmZXIKLSAqIEBwYXJhbSBzb3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRl
ciB0byBwb2ludGVyIHRvIHRoZSBzb3VyY2UgY29kZXBhZ2UgYnVmZmVyLiAKKyAqIEBwYXJhbSBz
b3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVyIHRvIHRoZSBzb3VyY2UgY29k
ZXBhZ2UgYnVmZmVyLgogICogQHBhcmFtIHNvdXJjZUxpbWl0IHRoZSBwb2ludGVyIHRvIHRoZSBi
eXRlIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHNvdXJjZSBidWZmZXIKICAqIEBwYXJhbSBvZmZzZXRz
IGlmIE5VTEwgaXMgcGFzc2VkLCBub3RoaW5nIHdpbGwgaGFwcGVuIHRvIGl0LCBvdGhlcndpc2Ug
aXQgbmVlZHMgdG8gaGF2ZSB0aGUgc2FtZSBudW1iZXIKICAqIG9mIGFsbG9jYXRlZCBjZWxscyBh
cyA8VFQ+dGFyZ2V0PC9UVD4uIFdpbGwgZmlsbCBpbiBvZmZzZXRzIGZyb20gdGFyZ2V0IHRvIHNv
dXJjZSBwb2ludGVyCiAgKiBlLmc6IDxUVD5vZmZzZXRzWzNdPC9UVD4gaXMgZXF1YWwgdG8gNiwg
aXQgbWVhbnMgdGhhdCB0aGUgPFRUPnRhcmdldFszXTwvVFQ+IHdhcyBhIHJlc3VsdCBvZiB0cmFu
c2NvZGluZyA8VFQ+c291cmNlWzZdPC9UVD4KICAqIEZvciBvdXRwdXQgZGF0YSBjYXJyaWVkIGFj
cm9zcyBjYWxscywgYW5kIG90aGVyIGRhdGEgd2l0aG91dCBhIHNwZWNpZmljIHNvdXJjZSBjaGFy
YWN0ZXIKLSAqIChzdWNoIGFzIGZyb20gZXNjYXBlIHNlcXVlbmNlcyBvciBjYWxsYmFja3MpICAt
MSB3aWxsIGJlIHBsYWNlZCBmb3Igb2Zmc2V0cy4gCisgKiAoc3VjaCBhcyBmcm9tIGVzY2FwZSBz
ZXF1ZW5jZXMgb3IgY2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9mZnNldHMuCiAg
KiBAcGFyYW0gZmx1c2ggc2V0IHRvIDxUVD5UUlVFPC9UVD4gaWYgdGhlIGN1cnJlbnQgc291cmNl
IGJ1ZmZlciBpcyB0aGUgbGFzdCBhdmFpbGFibGUKICAqIGNodW5rIG9mIHRoZSBzb3VyY2UsIDxU
VD5GQUxTRTwvVFQ+IG90aGVyd2lzZS4gTm90ZSB0aGF0IGlmIGEgZmFpbGluZyBzdGF0dXMgaXMg
cmV0dXJuZWQsCiAgKiB0aGlzIGZ1bmN0aW9uIG1heSBoYXZlIHRvIGJlIGNhbGxlZCBtdWx0aXBs
ZSB0aW1lcyB3aXRoIGZsdXNoIHNldCB0byA8VFQ+VFJVRTwvVFQ+IHVudGlsCiAgKiB0aGUgc291
cmNlIGJ1ZmZlciBpcyBjb25zdW1lZC4KICAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0YXR1cy4g
IDxUVD5VX0lMTEVHQUxfQVJHVU1FTlRfRVJST1I8L1RUPiB3aWxsIGJlIHNldCBpZiB0aGUKICAq
IGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+LgotICogPGNvZGU+VV9CVUZGRVJfT1ZFUkZMT1df
RVJST1I8L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBhbmQgdGhlcmUg
aXMgCi0gKiBzdGlsbCBkYXRhIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIHRhcmdldC4gCisgKiA8Y29k
ZT5VX0JVRkZFUl9PVkVSRkxPV19FUlJPUjwvY29kZT4gd2lsbCBiZSBzZXQgaWYgdGhlIHRhcmdl
dCBpcyBmdWxsIGFuZCB0aGVyZSBpcworICogc3RpbGwgZGF0YSB0byBiZSB3cml0dGVuIHRvIHRo
ZSB0YXJnZXQuCiAgKiBAc2VlIHVjbnZfZnJvbVVDaGFycwogICogQHNlZSB1Y252X2NvbnZlcnQK
ICAqIEBzZWUgdWNudl9nZXRNaW5DaGFyU2l6ZQpAQCAtMTIwMCw3ICsxMjAyLDcgQEAgdWNudl9m
cm9tVW5pY29kZSAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqIEBzZWUgdWNudl9nZXROZXh0
VUNoYXIKICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSB2b2lkIFVfRVhQT1JUMiAK
K1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCiB1Y252X3RvVW5pY29kZShVQ29udmVydGVyICpjb252
ZXJ0ZXIsCiAgICAgICAgICAgICAgICBVQ2hhciAqKnRhcmdldCwKICAgICAgICAgICAgICAgIGNv
bnN0IFVDaGFyICp0YXJnZXRMaW1pdCwKQEAgLTEzMzEsOCArMTMzMyw4IEBAIHVjbnZfdG9VQ2hh
cnMoVUNvbnZlcnRlciAqY252LAogICogIHVwZGF0ZWQgdG8gcG9pbnQgYWZ0ZXIgdGhlIGJ5dGVz
IGNvbnN1bWVkIGluIHRoZSBjb252ZXJzaW9uIGNhbGwuCiAgKiBAcGFyYW0gc291cmNlTGltaXQg
cG9pbnRzIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0IGJ1ZmZlcgogICogQHBhcmFtIGVyciBmaWxs
cyBpbiBlcnJvciBzdGF0dXMgKHNlZSB1Y252X3RvVW5pY29kZSkKLSAqIDxjb2RlPlVfSU5ERVhf
T1VUT0ZCT1VORFNfRVJST1I8L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSBpbnB1dCAKLSAqIGlz
IGVtcHR5IG9yIGRvZXMgbm90IGNvbnZlcnQgdG8gYW55IG91dHB1dCAoZS5nLjogcHVyZSBzdGF0
ZS1jaGFuZ2UgCisgKiA8Y29kZT5VX0lOREVYX09VVE9GQk9VTkRTX0VSUk9SPC9jb2RlPiB3aWxs
IGJlIHNldCBpZiB0aGUgaW5wdXQKKyAqIGlzIGVtcHR5IG9yIGRvZXMgbm90IGNvbnZlcnQgdG8g
YW55IG91dHB1dCAoZS5nLjogcHVyZSBzdGF0ZS1jaGFuZ2UKICAqIGNvZGVzIFNJL1NPLCBlc2Nh
cGUgc2VxdWVuY2VzIGZvciBJU08gMjAyMiwKICAqIG9yIGlmIHRoZSBjYWxsYmFjayBkaWQgbm90
IG91dHB1dCBhbnl0aGluZywgLi4uKS4KICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBub3Qgc2V0IGEg
PGNvZGU+VV9CVUZGRVJfT1ZFUkZMT1dfRVJST1I8L2NvZGU+IGJlY2F1c2UKQEAgLTE0MzYsNyAr
MTQzOCw3IEBAIHVjbnZfZ2V0TmV4dFVDaGFyKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiAg
ICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKICAqICAgICAgICAgICAg
ICAgICAgICBUUlVFLCBUUlVFLAogICogICAgICAgICAgICAgICAgICAgIHBFcnJvckNvZGUpOwot
ICogCisgKgogICogICAgIG15UmVsZWFzZUNhY2hlZFVURjhDb252ZXJ0ZXIodXRmOENudik7CiAg
KgogICogICAgIC8vIHJldHVybiB0aGUgb3V0cHV0IHN0cmluZyBsZW5ndGgsIGJ1dCB3aXRob3V0
IHByZWZsaWdodGluZwpAQCAtMTcyNCw3ICsxNzI2LDcgQEAgdWNudl9vcGVuQWxsTmFtZXMoVUVy
cm9yQ29kZSAqcEVycm9yQ29kZSk7CiAgKiBAcmV0dXJuIG51bWJlciBvZiBuYW1lcyBvbiBhbGlh
cyBsaXN0IGZvciBnaXZlbiBhbGlhcwogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxF
IHVpbnQxNl90IFVfRVhQT1JUMiAKK1VfU1RBQkxFIHVpbnQxNl90IFVfRVhQT1JUMgogdWNudl9j
b3VudEFsaWFzZXMoY29uc3QgY2hhciAqYWxpYXMsIFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwog
CiAvKioKQEAgLTE3MzksNyArMTc0MSw3IEBAIHVjbnZfY291bnRBbGlhc2VzKGNvbnN0IGNoYXIg
KmFsaWFzLCBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKICAqIEBzZWUgdWNudl9jb3VudEFsaWFz
ZXMKICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSBjb25zdCBjaGFyICogVV9FWFBP
UlQyIAorVV9TVEFCTEUgY29uc3QgY2hhciAqIFVfRVhQT1JUMgogdWNudl9nZXRBbGlhcyhjb25z
dCBjaGFyICphbGlhcywgdWludDE2X3QgbiwgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAKIC8q
KgpAQCAtMTc1NSw3ICsxNzU3LDcgQEAgdWNudl9nZXRBbGlhcyhjb25zdCBjaGFyICphbGlhcywg
dWludDE2X3QgbiwgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAgKiBAcGFyYW0gcEVycm9yQ29k
ZSByZXN1bHQgb2Ygb3BlcmF0aW9uCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9TVEFCTEUg
dm9pZCBVX0VYUE9SVDIgCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgogdWNudl9nZXRBbGlhc2Vz
KGNvbnN0IGNoYXIgKmFsaWFzLCBjb25zdCBjaGFyICoqYWxpYXNlcywgVUVycm9yQ29kZSAqcEVy
cm9yQ29kZSk7CiAKIC8qKgpAQCAtMTg4Nyw5ICsxODg5LDkgQEAgdWNudl9zZXREZWZhdWx0TmFt
ZShjb25zdCBjaGFyICpuYW1lKTsKICNlbmRpZiAgLyogVV9ISURFX1NZU1RFTV9BUEkgKi8KIAog
LyoqCi0gKiBGaXhlcyB0aGUgYmFja3NsYXNoIGNoYXJhY3RlciBtaXNtYXBwaW5nLiAgRm9yIGV4
YW1wbGUsIGluIFNKSVMsIHRoZSBiYWNrc2xhc2ggCi0gKiBjaGFyYWN0ZXIgaW4gdGhlIEFTQ0lJ
IHBvcnRpb24gaXMgYWxzbyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgeWVuIGN1cnJlbmN5IHNpZ24u
ICAKLSAqIFdoZW4gbWFwcGluZyBmcm9tIFVuaWNvZGUgY2hhcmFjdGVyIDB4MDA1QywgaXQncyB1
bmNsZWFyIHdoZXRoZXIgdG8gbWFwIHRoZSAKKyAqIEZpeGVzIHRoZSBiYWNrc2xhc2ggY2hhcmFj
dGVyIG1pc21hcHBpbmcuICBGb3IgZXhhbXBsZSwgaW4gU0pJUywgdGhlIGJhY2tzbGFzaAorICog
Y2hhcmFjdGVyIGluIHRoZSBBU0NJSSBwb3J0aW9uIGlzIGFsc28gdXNlZCB0byByZXByZXNlbnQg
dGhlIHllbiBjdXJyZW5jeSBzaWduLgorICogV2hlbiBtYXBwaW5nIGZyb20gVW5pY29kZSBjaGFy
YWN0ZXIgMHgwMDVDLCBpdCdzIHVuY2xlYXIgd2hldGhlciB0byBtYXAgdGhlCiAgKiBjaGFyYWN0
ZXIgYmFjayB0byB5ZW4gb3IgYmFja3NsYXNoIGluIFNKSVMuICBUaGlzIGZ1bmN0aW9uIHdpbGwg
dGFrZSB0aGUgaW5wdXQKICAqIGJ1ZmZlciBhbmQgcmVwbGFjZSBhbGwgdGhlIHllbiBzaWduIGNo
YXJhY3RlcnMgd2l0aCBiYWNrc2xhc2guICBUaGlzIGlzIG5lY2Vzc2FyeQogICogd2hlbiB0aGUg
dXNlciB0cmllcyB0byBvcGVuIGEgZmlsZSB3aXRoIHRoZSBpbnB1dCBidWZmZXIgb24gV2luZG93
cy4KQEAgLTE5MTAsNyArMTkxMiw3IEBAIHVjbnZfZml4RmlsZVNlcGFyYXRvcihjb25zdCBVQ29u
dmVydGVyICpjbnYsIFVDaGFyICpzb3VyY2UsIGludDMyX3Qgc291cmNlTGVuKTsKICAqIERldGVy
bWluZXMgaWYgdGhlIGNvbnZlcnRlciBjb250YWlucyBhbWJpZ3VvdXMgbWFwcGluZ3Mgb2YgdGhl
IHNhbWUKICAqIGNoYXJhY3RlciBvciBub3QuCiAgKiBAcGFyYW0gY252IHRoZSBjb252ZXJ0ZXIg
dG8gYmUgdGVzdGVkCi0gKiBAcmV0dXJuIFRSVUUgaWYgdGhlIGNvbnZlcnRlciBjb250YWlucyBh
bWJpZ3VvdXMgbWFwcGluZyBvZiB0aGUgc2FtZSAKKyAqIEByZXR1cm4gVFJVRSBpZiB0aGUgY29u
dmVydGVyIGNvbnRhaW5zIGFtYmlndW91cyBtYXBwaW5nIG9mIHRoZSBzYW1lCiAgKiBjaGFyYWN0
ZXIsIEZBTFNFIG90aGVyd2lzZS4KICAqIEBzdGFibGUgSUNVIDIuMAogICovCkBAIC0xOTI3LDEy
ICsxOTI5LDEyIEBAIHVjbnZfaXNBbWJpZ3VvdXMoY29uc3QgVUNvbnZlcnRlciAqY252KTsKICAq
IGh0dHA6Ly93d3cuaWN1LXByb2plY3Qub3JnL3VzZXJndWlkZS9jb252ZXJzaW9uLWRhdGEuaHRt
bCN1Y21mb3JtYXQKICAqCiAgKiBAcGFyYW0gY252IFRoZSBjb252ZXJ0ZXIgdG8gc2V0IHRoZSBm
YWxsYmFjayBtYXBwaW5nIHVzYWdlIG9uLgotICogQHBhcmFtIHVzZXNGYWxsYmFjayBUUlVFIGlm
IHRoZSB1c2VyIHdhbnRzIHRoZSBjb252ZXJ0ZXIgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZh
bGxiYWNrIAorICogQHBhcmFtIHVzZXNGYWxsYmFjayBUUlVFIGlmIHRoZSB1c2VyIHdhbnRzIHRo
ZSBjb252ZXJ0ZXIgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhbGxiYWNrCiAgKiBtYXBwaW5n
LCBGQUxTRSBvdGhlcndpc2UuCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqIEBzZWUgdWNudl91c2Vz
RmFsbGJhY2sKICAqLwotVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgCitVX1NUQUJMRSB2b2lkIFVf
RVhQT1JUMgogdWNudl9zZXRGYWxsYmFjayhVQ29udmVydGVyICpjbnYsIFVCb29sIHVzZXNGYWxs
YmFjayk7CiAKIC8qKgpAQCAtMTk0NCw3ICsxOTQ2LDcgQEAgdWNudl9zZXRGYWxsYmFjayhVQ29u
dmVydGVyICpjbnYsIFVCb29sIHVzZXNGYWxsYmFjayk7CiAgKiBAc3RhYmxlIElDVSAyLjAKICAq
IEBzZWUgdWNudl9zZXRGYWxsYmFjawogICovCi1VX1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIgCitV
X1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIKIHVjbnZfdXNlc0ZhbGxiYWNrKGNvbnN0IFVDb252ZXJ0
ZXIgKmNudik7CiAKIC8qKgpAQCAtMTk2OCwxMiArMTk3MCwxMiBAQCB1Y252X3VzZXNGYWxsYmFj
ayhjb25zdCBVQ29udmVydGVyICpjbnYpOwogICoKICAqIEBwYXJhbSBzb3VyY2UgICAgICAgICAg
ICBUaGUgc291cmNlIHN0cmluZyBpbiB3aGljaCB0aGUgc2lnbmF0dXJlIHNob3VsZCBiZSBkZXRl
Y3RlZC4KICAqIEBwYXJhbSBzb3VyY2VMZW5ndGggICAgICBMZW5ndGggb2YgdGhlIGlucHV0IHN0
cmluZywgb3IgLTEgaWYgdGVybWluYXRlZCB3aXRoIGEgTlVMIGJ5dGUuCi0gKiBAcGFyYW0gc2ln
bmF0dXJlTGVuZ3RoICAgQSBwb2ludGVyIHRvIGludDMyX3QgdG8gcmVjZWl2ZSB0aGUgbnVtYmVy
IG9mIGJ5dGVzIHRoYXQgbWFrZSB1cCB0aGUgc2lnbmF0dXJlIAorICogQHBhcmFtIHNpZ25hdHVy
ZUxlbmd0aCAgIEEgcG9pbnRlciB0byBpbnQzMl90IHRvIHJlY2VpdmUgdGhlIG51bWJlciBvZiBi
eXRlcyB0aGF0IG1ha2UgdXAgdGhlIHNpZ25hdHVyZQogICogICAgICAgICAgICAgICAgICAgICAg
ICAgIG9mIHRoZSBkZXRlY3RlZCBVVEYuIDAgaWYgbm90IGRldGVjdGVkLgogICogICAgICAgICAg
ICAgICAgICAgICAgICAgIENhbiBiZSBhIE5VTEwgcG9pbnRlci4KICAqIEBwYXJhbSBwRXJyb3JD
b2RlICAgICAgICBJQ1UgZXJyb3IgY29kZSBpbi9vdXQgcGFyYW1ldGVyLgogICogICAgICAgICAg
ICAgICAgICAgICAgICAgIE11c3QgZnVsZmlsbCBVX1NVQ0NFU1MgYmVmb3JlIHRoZSBmdW5jdGlv
biBjYWxsLgotICogQHJldHVybiBUaGUgbmFtZSBvZiB0aGUgZW5jb2RpbmcgZGV0ZWN0ZWQuIE5V
TEwgaWYgZW5jb2RpbmcgaXMgbm90IGRldGVjdGVkLiAKKyAqIEByZXR1cm4gVGhlIG5hbWUgb2Yg
dGhlIGVuY29kaW5nIGRldGVjdGVkLiBOVUxMIGlmIGVuY29kaW5nIGlzIG5vdCBkZXRlY3RlZC4K
ICAqIEBzdGFibGUgSUNVIDIuNAogICovCiBVX1NUQUJMRSBjb25zdCBjaGFyKiBVX0VYUE9SVDIK
QEAgLTE5ODMsOCArMTk4NSw4IEBAIHVjbnZfZGV0ZWN0VW5pY29kZVNpZ25hdHVyZShjb25zdCBj
aGFyKiBzb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqcEVy
cm9yQ29kZSk7CiAKIC8qKgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIFVDaGFycyBoZWxkIGlu
IHRoZSBjb252ZXJ0ZXIncyBpbnRlcm5hbCBzdGF0ZSAKLSAqIGJlY2F1c2UgbW9yZSBpbnB1dCBp
cyBuZWVkZWQgZm9yIGNvbXBsZXRpbmcgdGhlIGNvbnZlcnNpb24uIFRoaXMgZnVuY3Rpb24gaXMg
CisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgVUNoYXJzIGhlbGQgaW4gdGhlIGNvbnZlcnRlcidz
IGludGVybmFsIHN0YXRlCisgKiBiZWNhdXNlIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGZvciBjb21w
bGV0aW5nIHRoZSBjb252ZXJzaW9uLiBUaGlzIGZ1bmN0aW9uIGlzCiAgKiB1c2VmdWwgZm9yIG1h
cHBpbmcgc2VtYW50aWNzIG9mIElDVSdzIGNvbnZlcnRlciBpbnRlcmZhY2UgdG8gdGhvc2Ugb2Yg
aWNvbnYsCiAgKiBhbmQgdGhpcyBpbmZvcm1hdGlvbiBpcyBub3QgbmVlZGVkIGZvciBub3JtYWwg
Y29udmVyc2lvbi4KICAqIEBwYXJhbSBjbnYgICAgICAgVGhlIGNvbnZlcnRlciBpbiB3aGljaCB0
aGUgaW5wdXQgaXMgaGVsZApAQCAtMTk5OCw3ICsyMDAwLDcgQEAgdWNudl9mcm9tVUNvdW50UGVu
ZGluZyhjb25zdCBVQ29udmVydGVyKiBjbnYsIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKIC8qKgog
ICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJzIGhlbGQgaW4gdGhlIGNvbnZlcnRlcidzIGlu
dGVybmFsIHN0YXRlCi0gKiBiZWNhdXNlIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGZvciBjb21wbGV0
aW5nIHRoZSBjb252ZXJzaW9uLiBUaGlzIGZ1bmN0aW9uIGlzIAorICogYmVjYXVzZSBtb3JlIGlu
cHV0IGlzIG5lZWRlZCBmb3IgY29tcGxldGluZyB0aGUgY29udmVyc2lvbi4gVGhpcyBmdW5jdGlv
biBpcwogICogdXNlZnVsIGZvciBtYXBwaW5nIHNlbWFudGljcyBvZiBJQ1UncyBjb252ZXJ0ZXIg
aW50ZXJmYWNlIHRvIHRob3NlIG9mIGljb252LAogICogYW5kIHRoaXMgaW5mb3JtYXRpb24gaXMg
bm90IG5lZWRlZCBmb3Igbm9ybWFsIGNvbnZlcnNpb24uCiAgKiBAcGFyYW0gY252ICAgICAgIFRo
ZSBjb252ZXJ0ZXIgaW4gd2hpY2ggdGhlIGlucHV0IGlzIGhlbGQgYXMgaW50ZXJuYWwgc3RhdGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91Y29sLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWNvbC5oCmluZGV4IDVhNDU5YjUyYWY0
YTlmZDc2ODQwMDVjNzg5YWMzNTQzZTkyOGQ5MzkuLjUxMGRkYzhjNmJkZGNlYWY0OTVjM2M3ZTFh
NzFkNTU4ZWM2NDMwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5p
Y29kZS91Y29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vjb2wu
aApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qIENvcHlyaWdo
dCAoYykgMTk5Ni0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0
aW9uIGFuZCBvdGhlcnMuCisqIENvcHlyaWdodCAoYykgMTk5Ni0yMDE1LCBJbnRlcm5hdGlvbmFs
IEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCBSaWdodHMg
UmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpAQCAtMjgsMjMgKzI4LDE3IEBA
CiAgKiBUaGUgQyBBUEkgZm9yIENvbGxhdG9yIHBlcmZvcm1zIGxvY2FsZS1zZW5zaXRpdmUKICAq
IHN0cmluZyBjb21wYXJpc29uLiBZb3UgdXNlIHRoaXMgc2VydmljZSB0byBidWlsZAogICogc2Vh
cmNoaW5nIGFuZCBzb3J0aW5nIHJvdXRpbmVzIGZvciBuYXR1cmFsIGxhbmd1YWdlIHRleHQuCi0g
KiA8ZW0+SW1wb3J0YW50OiA8L2VtPlRoZSBJQ1UgY29sbGF0aW9uIHNlcnZpY2UgaGFzIGJlZW4g
cmVpbXBsZW1lbnRlZCAKLSAqIGluIG9yZGVyIHRvIGFjaGlldmUgYmV0dGVyIHBlcmZvcm1hbmNl
IGFuZCBVQ0EgY29tcGxpYW5jZS4gCi0gKiBGb3IgZGV0YWlscywgc2VlIHRoZSAKLSAqIDxhIGhy
ZWY9Imh0dHA6Ly9zb3VyY2UuaWN1LXByb2plY3Qub3JnL3JlcG9zL2ljdS9pY3VodG1sL3RydW5r
L2Rlc2lnbi9jb2xsYXRpb24vSUNVX2NvbGxhdGlvbl9kZXNpZ24uaHRtIj4KLSAqIGNvbGxhdGlv
biBkZXNpZ24gZG9jdW1lbnQ8L2E+LgogICogPHA+CiAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBh
Ym91dCB0aGUgY29sbGF0aW9uIHNlcnZpY2Ugc2VlIAotICogPGEgaHJlZj0iaHR0cDovL2ljdS1w
cm9qZWN0Lm9yZy91c2VyZ3VpZGUvQ29sbGF0ZV9JbnRyby5odG1sIj50aGUgdXNlcnMgZ3VpZGU8
L2E+LgorICogPGEgaHJlZj0iaHR0cDovL3VzZXJndWlkZS5pY3UtcHJvamVjdC5vcmcvY29sbGF0
aW9uIj50aGUgVXNlciBHdWlkZTwvYT4uCiAgKiA8cD4KICAqIENvbGxhdGlvbiBzZXJ2aWNlIHBy
b3ZpZGVzIGNvcnJlY3Qgc29ydGluZyBvcmRlcnMgZm9yIG1vc3QgbG9jYWxlcyBzdXBwb3J0ZWQg
aW4gSUNVLiAKICAqIElmIHNwZWNpZmljIGRhdGEgZm9yIGEgbG9jYWxlIGlzIG5vdCBhdmFpbGFi
bGUsIHRoZSBvcmRlcnMgZXZlbnR1YWxseSBmYWxscyBiYWNrCi0gKiB0byB0aGUgPGEgaHJlZj0i
aHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxMC8iPlVDQSBzb3J0IG9y
ZGVyPC9hPi4gCisgKiB0byB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBv
cnRzL3RyMzUvdHIzNS1jb2xsYXRpb24uaHRtbCNSb290X0NvbGxhdGlvbiI+Q0xEUiByb290IHNv
cnQgb3JkZXI8L2E+LiAKICAqIDxwPgogICogU29ydCBvcmRlcmluZyBtYXkgYmUgY3VzdG9taXpl
ZCBieSBwcm92aWRpbmcgeW91ciBvd24gc2V0IG9mIHJ1bGVzLiBGb3IgbW9yZSBvbgotICogdGhp
cyBzdWJqZWN0IHNlZSB0aGUgCi0gKiA8YSBocmVmPSJodHRwOi8vaWN1LXByb2plY3Qub3JnL3Vz
ZXJndWlkZS9Db2xsYXRlX0N1c3RvbWl6YXRpb24uaHRtbCI+Ci0gKiBDb2xsYXRpb24gY3VzdG9t
aXphdGlvbjwvYT4gc2VjdGlvbiBvZiB0aGUgdXNlcnMgZ3VpZGUuCisgKiB0aGlzIHN1YmplY3Qg
c2VlIHRoZSA8YSBocmVmPSJodHRwOi8vdXNlcmd1aWRlLmljdS1wcm9qZWN0Lm9yZy9jb2xsYXRp
b24vY3VzdG9taXphdGlvbiI+CisgKiBDb2xsYXRpb24gQ3VzdG9taXphdGlvbjwvYT4gc2VjdGlv
biBvZiB0aGUgVXNlciBHdWlkZS4KICAqIDxwPgogICogQHNlZSAgICAgICAgIFVDb2xsYXRpb25S
ZXN1bHQKICAqIEBzZWUgICAgICAgICBVTm9ybWFsaXphdGlvbk1vZGUKQEAgLTI5MSwxMyArMjg1
LDE3IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgIFVDT0xfREVDT01QT1NJVElPTl9NT0RFID0gVUNP
TF9OT1JNQUxJWkFUSU9OX01PREUsCiAgICAgIC8qKiBUaGUgc3RyZW5ndGggYXR0cmlidXRlLiBD
YW4gYmUgZWl0aGVyIFVDT0xfUFJJTUFSWSwgVUNPTF9TRUNPTkRBUlksCiAgICAgICAqIFVDT0xf
VEVSVElBUlksIFVDT0xfUVVBVEVSTkFSWSBvciBVQ09MX0lERU5USUNBTC4gVGhlIHVzdWFsIHN0
cmVuZ3RoCi0gICAgICAqIGZvciBtb3N0IGxvY2FsZXMgKGV4Y2VwdCBKYXBhbmVzZSkgaXMgdGVy
dGlhcnkuIFF1YXRlcm5hcnkgc3RyZW5ndGggCisgICAgICAqIGZvciBtb3N0IGxvY2FsZXMgKGV4
Y2VwdCBKYXBhbmVzZSkgaXMgdGVydGlhcnkuCisgICAgICAqCisgICAgICAqIFF1YXRlcm5hcnkg
c3RyZW5ndGggCiAgICAgICAqIGlzIHVzZWZ1bCB3aGVuIGNvbWJpbmVkIHdpdGggc2hpZnRlZCBz
ZXR0aW5nIGZvciBhbHRlcm5hdGUgaGFuZGxpbmcKLSAgICAgICogYXR0cmlidXRlIGFuZCBmb3Ig
SklTIHggNDA2MSBjb2xsYXRpb24sIHdoZW4gaXQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaAotICAg
ICAgKiBiZXR3ZWVuIEthdGFrYW5hICBhbmQgSGlyYWdhbmEgKHRoaXMgaXMgYWNoaWV2ZWQgYnkg
c2V0dGluZyB0aGUgCi0gICAgICAqIFVDT0xfSElSQUdBTkFfUVVBVEVSTkFSWSBtb2RlIHRvIG9u
LiBPdGhlcndpc2UsIHF1YXRlcm5hcnkgbGV2ZWwKLSAgICAgICogaXMgYWZmZWN0ZWQgb25seSBi
eSB0aGUgbnVtYmVyIG9mIG5vbiBpZ25vcmFibGUgY29kZSBwb2ludHMgaW4KLSAgICAgICogdGhl
IHN0cmluZy4gSWRlbnRpY2FsIHN0cmVuZ3RoIGlzIHJhcmVseSB1c2VmdWwsIGFzIGl0IGFtb3Vu
dHMgCisgICAgICAqIGF0dHJpYnV0ZSBhbmQgZm9yIEpJUyBYIDQwNjEgY29sbGF0aW9uLCB3aGVu
IGl0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2gKKyAgICAgICogYmV0d2VlbiBLYXRha2FuYSBhbmQg
SGlyYWdhbmEuCisgICAgICAqIE90aGVyd2lzZSwgcXVhdGVybmFyeSBsZXZlbAorICAgICAgKiBp
cyBhZmZlY3RlZCBvbmx5IGJ5IHRoZSBudW1iZXIgb2Ygbm9uLWlnbm9yYWJsZSBjb2RlIHBvaW50
cyBpbgorICAgICAgKiB0aGUgc3RyaW5nLgorICAgICAgKgorICAgICAgKiBJZGVudGljYWwgc3Ry
ZW5ndGggaXMgcmFyZWx5IHVzZWZ1bCwgYXMgaXQgYW1vdW50cyAKICAgICAgICogdG8gY29kZXBv
aW50cyBvZiB0aGUgTkZEIGZvcm0gb2YgdGhlIHN0cmluZy4KICAgICAgICogQHN0YWJsZSBJQ1Ug
Mi4wCiAgICAgICAqLwpAQCAtMzA3LDIxICszMDUsMzEgQEAgdHlwZWRlZiBlbnVtIHsKICAgICAg
ICogbm9uLWlnbm9yYWJsZXMgb24gcXVhdGVybmFyeSBsZXZlbCBUaGlzIGlzIGEgc25lYWt5IHdh
eSB0byBwcm9kdWNlIEpJUwogICAgICAgKiBzb3J0IG9yZGVyLgogICAgICAgKgotICAgICAgKiBU
aGlzIGF0dHJpYnV0ZSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgb2YgdGhlIENMRFIgSmFw
YW5lc2UgdGFpbG9yaW5nLgotICAgICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWlnaHQgY2hhbmdl
IHRvIHVzZSBhIGRpZmZlcmVudCBtZWNoYW5pc20KLSAgICAgICogdG8gYWNoaWV2ZSB0aGUgc2Ft
ZSBKYXBhbmVzZSBzb3J0IG9yZGVyLgorICAgICAgKiBUaGlzIGF0dHJpYnV0ZSB3YXMgYW4gaW1w
bGVtZW50YXRpb24gZGV0YWlsIG9mIHRoZSBDTERSIEphcGFuZXNlIHRhaWxvcmluZy4KICAgICAg
ICogU2luY2UgSUNVIDUwLCB0aGlzIGF0dHJpYnV0ZSBpcyBub3Qgc2V0dGFibGUgYW55IG1vcmUg
dmlhIEFQSSBmdW5jdGlvbnMuCi0gICAgICAqIEBkZXByZWNhdGVkIElDVSA1MCBJbXBsZW1lbnRh
dGlvbiBkZXRhaWwsIGNhbm5vdCBiZSBzZXQgdmlhIEFQSSwgbWlnaHQgYmUgcmVtb3ZlZCBmcm9t
IGltcGxlbWVudGF0aW9uLgorICAgICAgKiBTaW5jZSBDTERSIDI1L0lDVSA1MywgZXhwbGljaXQg
cXVhdGVybmFyeSByZWxhdGlvbnMgYXJlIHVzZWQKKyAgICAgICogdG8gYWNoaWV2ZSB0aGUgc2Ft
ZSBKYXBhbmVzZSBzb3J0IG9yZGVyLgorICAgICAgKgorICAgICAgKiBAZGVwcmVjYXRlZCBJQ1Ug
NTAgSW1wbGVtZW50YXRpb24gZGV0YWlsLCBjYW5ub3QgYmUgc2V0IHZpYSBBUEksIHdhcyByZW1v
dmVkIGZyb20gaW1wbGVtZW50YXRpb24uCiAgICAgICAqLwogICAgICBVQ09MX0hJUkFHQU5BX1FV
QVRFUk5BUllfTU9ERSA9IFVDT0xfU1RSRU5HVEggKyAxLAogI2VuZGlmICAvKiBVX0hJREVfREVQ
UkVDQVRFRF9BUEkgKi8KLSAgICAgLyoqIFdoZW4gdHVybmVkIG9uLCB0aGlzIGF0dHJpYnV0ZSBn
ZW5lcmF0ZXMgYSBjb2xsYXRpb24ga2V5Ci0gICAgICAqIGZvciB0aGUgbnVtZXJpYyB2YWx1ZSBv
ZiBzdWJzdHJpbmdzIG9mIGRpZ2l0cy4KKyAgICAgLyoqCisgICAgICAqIFdoZW4gdHVybmVkIG9u
LCB0aGlzIGF0dHJpYnV0ZSBtYWtlcworICAgICAgKiBzdWJzdHJpbmdzIG9mIGRpZ2l0cyBzb3J0
IGFjY29yZGluZyB0byB0aGVpciBudW1lcmljIHZhbHVlcy4KKyAgICAgICoKICAgICAgICogVGhp
cyBpcyBhIHdheSB0byBnZXQgJzEwMCcgdG8gc29ydCBBRlRFUiAnMicuIE5vdGUgdGhhdCB0aGUg
bG9uZ2VzdAotICAgICAgKiBkaWdpdCBzdWJzdHJpbmcgdGhhdCBjYW4gYmUgdHJlYXRlZCBhcyBh
IHNpbmdsZSBjb2xsYXRpb24gZWxlbWVudCBpcworICAgICAgKiBkaWdpdCBzdWJzdHJpbmcgdGhh
dCBjYW4gYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSB1bml0IGlzCiAgICAgICAqIDI1NCBkaWdpdHMg
KG5vdCBjb3VudGluZyBsZWFkaW5nIHplcm9zKS4gSWYgYSBkaWdpdCBzdWJzdHJpbmcgaXMKICAg
ICAgICogbG9uZ2VyIHRoYW4gdGhhdCwgdGhlIGRpZ2l0cyBiZXlvbmQgdGhlIGxpbWl0IHdpbGwg
YmUgdHJlYXRlZCBhcyBhCi0gICAgICAqIHNlcGFyYXRlIGRpZ2l0IHN1YnN0cmluZyBhc3NvY2lh
dGVkIHdpdGggYSBzZXBhcmF0ZSBjb2xsYXRpb24gZWxlbWVudC4KKyAgICAgICogc2VwYXJhdGUg
ZGlnaXQgc3Vic3RyaW5nLgorICAgICAgKgorICAgICAgKiBBICJkaWdpdCIgaW4gdGhpcyBzZW5z
ZSBpcyBhIGNvZGUgcG9pbnQgd2l0aCBHZW5lcmFsX0NhdGVnb3J5PU5kLAorICAgICAgKiB3aGlj
aCBkb2VzIG5vdCBpbmNsdWRlIGNpcmNsZWQgbnVtYmVycywgcm9tYW4gbnVtZXJhbHMsIGV0Yy4K
KyAgICAgICogT25seSBhIGNvbnRpZ3VvdXMgZGlnaXQgc3Vic3RyaW5nIGlzIGNvbnNpZGVyZWQs
IHRoYXQgaXMsCisgICAgICAqIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyB3aXRob3V0IHNlcGFyYXRv
cnMuCisgICAgICAqIFRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIHBsdXMvbWludXMgc2lnbnMsIGRl
Y2ltYWxzLCBleHBvbmVudHMsIGV0Yy4KKyAgICAgICoKICAgICAgICogQHN0YWJsZSBJQ1UgMi44
CiAgICAgICAqLwogICAgICBVQ09MX05VTUVSSUNfQ09MTEFUSU9OID0gVUNPTF9TVFJFTkdUSCAr
IDIsIApAQCAtMzU0LDYgKzM2MiwxNCBAQCB0eXBlZGVmIGVudW0gewogCiAvKioKICAqIE9wZW4g
YSBVQ29sbGF0b3IgZm9yIGNvbXBhcmluZyBzdHJpbmdzLgorICoKKyAqIEZvciBzb21lIGxhbmd1
YWdlcywgbXVsdGlwbGUgY29sbGF0aW9uIHR5cGVzIGFyZSBhdmFpbGFibGU7CisgKiBmb3IgZXhh
bXBsZSwgImRlQGNvbGxhdGlvbj1waG9uZWJvb2siLgorICogU3RhcnRpbmcgd2l0aCBJQ1UgNTQs
IGNvbGxhdGlvbiBhdHRyaWJ1dGVzIGNhbiBiZSBzcGVjaWZpZWQgdmlhIGxvY2FsZSBrZXl3b3Jk
cyBhcyB3ZWxsLAorICogaW4gdGhlIG9sZCBsb2NhbGUgZXh0ZW5zaW9uIHN5bnRheCAoImVsQGNv
bENhc2VGaXJzdD11cHBlciIpCisgKiBvciBpbiBsYW5ndWFnZSB0YWcgc3ludGF4ICgiZWwtdS1r
Zi11cHBlciIpLgorICogU2VlIDxhIGhyZWY9Imh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2plY3Qu
b3JnL2NvbGxhdGlvbi9hcGkiPlVzZXIgR3VpZGU6IENvbGxhdGlvbiBBUEk8L2E+LgorICoKICAq
IFRoZSBVQ29sbGF0b3IgcG9pbnRlciBpcyB1c2VkIGluIGFsbCB0aGUgY2FsbHMgdG8gdGhlIENv
bGxhdGlvbiAKICAqIHNlcnZpY2UuIEFmdGVyIGZpbmlzaGVkLCBjb2xsYXRvciBtdXN0IGJlIGRp
c3Bvc2VkIG9mIGJ5IGNhbGxpbmcKICAqIHtAbGluayAjdWNvbF9jbG9zZSB9LgpAQCAtMzYxLDgg
KzM3Nyw4IEBAIHR5cGVkZWYgZW51bSB7CiAgKiAgICAgICAgICAgIFNwZWNpYWwgdmFsdWVzIGZv
ciBsb2NhbGVzIGNhbiBiZSBwYXNzZWQgaW4gLSAKICAqICAgICAgICAgICAgaWYgTlVMTCBpcyBw
YXNzZWQgZm9yIHRoZSBsb2NhbGUsIHRoZSBkZWZhdWx0IGxvY2FsZQogICogICAgICAgICAgICBj
b2xsYXRpb24gcnVsZXMgd2lsbCBiZSB1c2VkLiBJZiBlbXB0eSBzdHJpbmcgKCIiKSBvcgotICog
ICAgICAgICAgICAicm9vdCIgYXJlIHBhc3NlZCwgVUNBIHJ1bGVzIHdpbGwgYmUgdXNlZC4KLSAq
IEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFuIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkg
ZXJyb3JzCisgKiAgICAgICAgICAgICJyb290IiBhcmUgcGFzc2VkLCB0aGUgcm9vdCBjb2xsYXRv
ciB3aWxsIGJlIHJldHVybmVkLgorICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYSBVRXJy
b3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycwogICogQHJldHVybiBBIHBvaW50ZXIgdG8gYSBV
Q29sbGF0b3IsIG9yIDAgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCiAgKiBAc2VlIHVjb2xfb3BlblJ1
bGVzCiAgKiBAc2VlIHVjb2xfc2FmZUNsb25lCkBAIC0zNzMsNyArMzg5LDcgQEAgVV9TVEFCTEUg
VUNvbGxhdG9yKiBVX0VYUE9SVDIKIHVjb2xfb3Blbihjb25zdCBjaGFyICpsb2MsIFVFcnJvckNv
ZGUgKnN0YXR1cyk7CiAKIC8qKgotICogUHJvZHVjZSBhbiBVQ29sbGF0b3IgaW5zdGFuY2UgYWNj
b3JkaW5nIHRvIHRoZSBydWxlcyBzdXBwbGllZC4KKyAqIFByb2R1Y2UgYSBVQ29sbGF0b3IgaW5z
dGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBzdXBwbGllZC4KICAqIFRoZSBydWxlcyBhcmUg
dXNlZCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQgb3JkZXJpbmcsIGRlZmluZWQgaW4gdGhlCiAgKiBV
Q0EgaW4gYSBwcm9jZXNzIGNhbGxlZCB0YWlsb3JpbmcuIFRoZSByZXN1bHRpbmcgVUNvbGxhdG9y
IHBvaW50ZXIKICAqIGNhbiBiZSB1c2VkIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgb25lIG9idGFp
bmVkIGJ5IHtAbGluayAjdWNvbF9zdHJjb2xsIH0uCkBAIC0zODksNyArNDA1LDcgQEAgdWNvbF9v
cGVuKGNvbnN0IGNoYXIgKmxvYywgVUVycm9yQ29kZSAqc3RhdHVzKTsKICAqIEBwYXJhbSBwYXJz
ZUVycm9yICBBIHBvaW50ZXIgdG8gVVBhcnNlRXJyb3IgdG8gcmVjaWV2ZSBpbmZvcm1hdGlvbiBh
Ym91dCBlcnJvcnMKICAqICAgICAgICAgICAgICAgICAgICBvY2N1cnJlZCBkdXJpbmcgcGFyc2lu
Zy4gVGhpcyBhcmd1bWVudCBjYW4gY3VycmVudGx5IGJlIHNldAogICogICAgICAgICAgICAgICAg
ICAgIHRvIE5VTEwsIGJ1dCBhdCB1c2VycyBvd24gcmlzay4gUGxlYXNlIHByb3ZpZGUgYSByZWFs
IHN0cnVjdHVyZS4KLSAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFuIFVFcnJvckNvZGUg
dG8gcmVjZWl2ZSBhbnkgZXJyb3JzCisgKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhIFVF
cnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzCiAgKiBAcmV0dXJuIEEgcG9pbnRlciB0byBh
IFVDb2xsYXRvci4gSXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdCBOVUxMIGJlIHJldHVybmVkIGlu
IGNhc2UKICAqICAgICAgICAgb2YgZXJyb3IgLSBwbGVhc2UgdXNlIHN0YXR1cyBhcmd1bWVudCB0
byBjaGVjayBmb3IgZXJyb3JzLgogICogQHNlZSB1Y29sX29wZW4KQEAgLTQwNSwxMSArNDIxLDEy
IEBAIHVjb2xfb3BlblJ1bGVzKCBjb25zdCBVQ2hhciAgICAgICAgKnJ1bGVzLAogICAgICAgICAg
ICAgICAgIFVQYXJzZUVycm9yICAgICAgICAqcGFyc2VFcnJvciwKICAgICAgICAgICAgICAgICBV
RXJyb3JDb2RlICAgICAgICAgKnN0YXR1cyk7CiAKKyNpZm5kZWYgVV9ISURFX0RFUFJFQ0FURURf
QVBJCiAvKiogCiAgKiBPcGVuIGEgY29sbGF0b3IgZGVmaW5lZCBieSBhIHNob3J0IGZvcm0gc3Ry
aW5nLgogICogVGhlIHN0cnVjdHVyZSBhbmQgdGhlIHN5bnRheCBvZiB0aGUgc3RyaW5nIGlzIGRl
ZmluZWQgaW4gdGhlICJOYW1pbmcgY29sbGF0b3JzIgogICogc2VjdGlvbiBvZiB0aGUgdXNlcnMg
Z3VpZGU6IAotICogaHR0cDovL2ljdS1wcm9qZWN0Lm9yZy91c2VyZ3VpZGUvQ29sbGF0ZV9Db25j
ZXB0cy5odG1sI05hbWluZ19Db2xsYXRvcnMKKyAqIGh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2pl
Y3Qub3JnL2NvbGxhdGlvbi9jb25jZXB0cyNUT0MtQ29sbGF0b3ItbmFtaW5nLXNjaGVtZQogICog
QXR0cmlidXRlcyBhcmUgb3ZlcnJpZGVuIGJ5IHRoZSBzdWJzZXF1ZW50IGF0dHJpYnV0ZXMuIFNv
LCBmb3IgIlMyX1MzIiwgZmluYWwKICAqIHN0cmVuZ3RoIHdpbGwgYmUgMy4gMzA2NmJpcyBsb2Nh
bGUgb3ZlcnJpZGVzIGluZGl2aWR1YWwgbG9jYWxlIHBhcnRzLgogICogVGhlIGNhbGwgdG8gdGhp
cyBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGEgY2FsbCB0byB1Y29sX29wZW4sIGZvbGxvd2Vk
IGJ5IGEgCkBAIC00MzYsMjEgKzQ1MywyMSBAQCB1Y29sX29wZW5SdWxlcyggY29uc3QgVUNoYXIg
ICAgICAgICpydWxlcywKICAqIEBzZWUgdWNvbF9zZXRWYXJpYWJsZVRvcAogICogQHNlZSB1Y29s
X2dldFNob3J0RGVmaW5pdGlvblN0cmluZwogICogQHNlZSB1Y29sX25vcm1hbGl6ZVNob3J0RGVm
aW5pdGlvblN0cmluZwotICogQHN0YWJsZSBJQ1UgMy4wCi0gKgorICogQGRlcHJlY2F0ZWQgSUNV
IDU0IFVzZSB1Y29sX29wZW4oKSB3aXRoIGxhbmd1YWdlIHRhZyBjb2xsYXRpb24ga2V5d29yZHMg
aW5zdGVhZC4KICAqLwotVV9TVEFCTEUgVUNvbGxhdG9yKiBVX0VYUE9SVDIKK1VfREVQUkVDQVRF
RCBVQ29sbGF0b3IqIFVfRVhQT1JUMgogdWNvbF9vcGVuRnJvbVNob3J0U3RyaW5nKCBjb25zdCBj
aGFyICpkZWZpbml0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICBVQm9vbCBmb3JjZURl
ZmF1bHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICBVUGFyc2VFcnJvciAqcGFyc2VFcnJv
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRp
ZiAgLyogVV9ISURFX0RFUFJFQ0FURURfQVBJICovCiAKICNpZm5kZWYgVV9ISURFX0RFUFJFQ0FU
RURfQVBJCiAvKioKICAqIEdldCBhIHNldCBjb250YWluaW5nIHRoZSBjb250cmFjdGlvbnMgZGVm
aW5lZCBieSB0aGUgY29sbGF0b3IuIFRoZSBzZXQgaW5jbHVkZXMKLSAqIGJvdGggdGhlIFVDQSBj
b250cmFjdGlvbnMgYW5kIHRoZSBjb250cmFjdGlvbnMgZGVmaW5lZCBieSB0aGUgY29sbGF0b3Iu
IFRoaXMgc2V0CisgKiBib3RoIHRoZSByb290IGNvbGxhdG9yJ3MgY29udHJhY3Rpb25zIGFuZCB0
aGUgY29udHJhY3Rpb25zIGRlZmluZWQgYnkgdGhlIGNvbGxhdG9yLiBUaGlzIHNldAogICogd2ls
bCBjb250YWluIG9ubHkgc3RyaW5ncy4gSWYgYSB0YWlsb3JpbmcgZXhwbGljaXRseSBzdXBwcmVz
c2VzIGNvbnRyYWN0aW9ucyBmcm9tIAotICogdGhlIFVDQSAobGlrZSBSdXNzaWFuKSwgcmVtb3Zl
ZCBjb250cmFjdGlvbnMgd2lsbCBub3QgYmUgaW4gdGhlIHJlc3VsdGluZyBzZXQuCisgKiB0aGUg
cm9vdCBjb2xsYXRvciAobGlrZSBSdXNzaWFuKSwgcmVtb3ZlZCBjb250cmFjdGlvbnMgd2lsbCBu
b3QgYmUgaW4gdGhlIHJlc3VsdGluZyBzZXQuCiAgKiBAcGFyYW0gY29sbCBjb2xsYXRvciAKICAq
IEBwYXJhbSBjb250cyB0aGUgc2V0IHRvIGhvbGQgdGhlIHJlc3VsdC4gSXQgZ2V0cyBlbXB0aWVk
IGJlZm9yZQogICogICAgICAgICAgICAgIGNvbnRyYWN0aW9ucyBhcmUgYWRkZWQuIApAQCAtNDY3
LDcgKzQ4NCw3IEBAIHVjb2xfZ2V0Q29udHJhY3Rpb25zKCBjb25zdCBVQ29sbGF0b3IgKmNvbGws
CiAKIC8qKgogICogR2V0IGEgc2V0IGNvbnRhaW5pbmcgdGhlIGV4cGFuc2lvbnMgZGVmaW5lZCBi
eSB0aGUgY29sbGF0b3IuIFRoZSBzZXQgaW5jbHVkZXMKLSAqIGJvdGggdGhlIFVDQSBleHBhbnNp
b25zIGFuZCB0aGUgZXhwYW5zaW9ucyBkZWZpbmVkIGJ5IHRoZSB0YWlsb3JpbmcKKyAqIGJvdGgg
dGhlIHJvb3QgY29sbGF0b3IncyBleHBhbnNpb25zIGFuZCB0aGUgZXhwYW5zaW9ucyBkZWZpbmVk
IGJ5IHRoZSB0YWlsb3JpbmcKICAqIEBwYXJhbSBjb2xsIGNvbGxhdG9yCiAgKiBAcGFyYW0gY29u
dHJhY3Rpb25zIGlmIG5vdCBOVUxMLCB0aGUgc2V0IHRvIGhvbGQgdGhlIGNvbnRyYWN0aW9ucwog
ICogQHBhcmFtIGV4cGFuc2lvbnMgaWYgbm90IE5VTEwsIHRoZSBzZXQgdG8gaG9sZCB0aGUgZXhw
YW5zaW9ucwpAQCAtNTQ1LDcgKzU2Miw3IEBAIHVjb2xfc3RyY29sbCggICAgY29uc3QgICAgVUNv
bGxhdG9yICAgICpjb2xsLAogKiBAcGFyYW0gc291cmNlTGVuZ3RoIFRoZSBsZW5ndGggb2Ygc291
cmNlLCBvciAtMSBpZiBudWxsLXRlcm1pbmF0ZWQuIAogKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJn
ZXQgVVRGLTggc3RyaW5nLiAKICogQHBhcmFtIHRhcmdldExlbmd0aCBUaGUgbGVuZ3RoIG9mIHRh
cmdldCwgb3IgLTEgaWYgbnVsbC10ZXJtaW5hdGVkLiAKLSogQHBhcmFtIHN0YXR1cyBBIHBvaW50
ZXIgdG8gYW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMgCisqIEBwYXJhbSBzdGF0
dXMgQSBwb2ludGVyIHRvIGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMgCiAqIEBy
ZXR1cm4gVGhlIHJlc3VsdCBvZiBjb21wYXJpbmcgdGhlIHN0cmluZ3M7IG9uZSBvZiBVQ09MX0VR
VUFMLCAKICogVUNPTF9HUkVBVEVSLCBVQ09MX0xFU1MgCiAqIEBzZWUgdWNvbF9ncmVhdGVyIApA
QCAtNjI3LDcgKzY0NCw3IEBAIHVjb2xfZXF1YWwoY29uc3QgVUNvbGxhdG9yICpjb2xsLAogICog
QHBhcmFtIHRJdGVyIFRoZSB0YXJnZXQgc3RyaW5nIGl0ZXJhdG9yLgogICogQHJldHVybiBUaGUg
cmVzdWx0IG9mIGNvbXBhcmluZyB0aGUgc3RyaW5nczsgb25lIG9mIFVDT0xfRVFVQUwsCiAgKiBV
Q09MX0dSRUFURVIsIFVDT0xfTEVTUwotICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYW4g
VUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKKyAqIEBwYXJhbSBzdGF0dXMgQSBwb2lu
dGVyIHRvIGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKICAqIEBzZWUgdWNvbF9z
dHJjb2xsCiAgKiBAc3RhYmxlIElDVSAyLjYKICAqLwpAQCAtNjY4LDcgKzY4NSw3IEBAIHVjb2xf
c2V0U3RyZW5ndGgoVUNvbGxhdG9yICpjb2xsLAogICogQHBhcmFtIGNvbGwgVGhlIFVDb2xsYXRv
ciB0byBxdWVyeS4KICAqIEBwYXJhbSBkZXN0IFRoZSBhcnJheSB0byBmaWxsIHdpdGggdGhlIHNj
cmlwdCBvcmRlcmluZy4KICAqIEBwYXJhbSBkZXN0Q2FwYWNpdHkgVGhlIGxlbmd0aCBvZiBkZXN0
LiBJZiBpdCBpcyAwLCB0aGVuIGRlc3QgbWF5IGJlIE5VTEwgYW5kIHRoZSBmdW5jdGlvbiAKLSAq
IHdpbGwgb25seSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IHdpdGhvdXQgd3JpdGlu
ZyBhbnkgb2YgdGhlIHJlc3VsdCBzdHJpbmcgKHByZS1mbGlnaHRpbmcpLgorICogd2lsbCBvbmx5
IHJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgd2l0aG91dCB3cml0aW5nIGFueSBjb2Rl
cyAocHJlLWZsaWdodGluZykuCiAgKiBAcGFyYW0gcEVycm9yQ29kZSBNdXN0IGJlIGEgdmFsaWQg
cG9pbnRlciB0byBhbiBlcnJvciBjb2RlIHZhbHVlLCB3aGljaCBtdXN0IG5vdCBpbmRpY2F0ZSBh
IAogICogZmFpbHVyZSBiZWZvcmUgdGhlIGZ1bmN0aW9uIGNhbGwuCiAgKiBAcmV0dXJuIFRoZSBu
dW1iZXIgb2YgcmVvcmRlcmluZyBjb2RlcyB3cml0dGVuIHRvIHRoZSBkZXN0IGFycmF5LgpAQCAt
Njg1LDI3ICs3MDIsMzIgQEAgdWNvbF9nZXRSZW9yZGVyQ29kZXMoY29uc3QgVUNvbGxhdG9yKiBj
b2xsLAogICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKIC8qKiAK
ICAqIFNldHMgdGhlIHJlb3JkZXJpbmcgY29kZXMgZm9yIHRoaXMgY29sbGF0b3IuCi0gKiBDb2xs
YXRpb24gcmVvcmRlcmluZyBhbGxvd3Mgc2NyaXB0cyBhbmQgc29tZSBvdGhlciBkZWZpbmVkIGJs
b2NrcyBvZiBjaGFyYWN0ZXJzIAotICogdG8gYmUgbW92ZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhl
ciBhcyBhIGJsb2NrLiBUaGlzIHJlb3JkZXJpbmcgaXMgZG9uZSBvbiB0b3Agb2YgCisgKiBDb2xs
YXRpb24gcmVvcmRlcmluZyBhbGxvd3Mgc2NyaXB0cyBhbmQgc29tZSBvdGhlciBncm91cHMgb2Yg
Y2hhcmFjdGVycworICogdG8gYmUgbW92ZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlci4gVGhpcyBy
ZW9yZGVyaW5nIGlzIGRvbmUgb24gdG9wIG9mCiAgKiB0aGUgRFVDRVQvQ0xEUiBzdGFuZGFyZCBj
b2xsYXRpb24gb3JkZXIuIFJlb3JkZXJpbmcgY2FuIHNwZWNpZnkgZ3JvdXBzIHRvIGJlIHBsYWNl
ZCAKICAqIGF0IHRoZSBzdGFydCBhbmQvb3IgdGhlIGVuZCBvZiB0aGUgY29sbGF0aW9uIG9yZGVy
LiBUaGVzZSBncm91cHMgYXJlIHNwZWNpZmllZCB1c2luZwogICogVVNjcmlwdCBjb2RlcyBhbmQg
VUNvbFJlb3JkZXJDb2RlIGVudHJpZXMuCisgKgogICogPHA+QnkgZGVmYXVsdCwgcmVvcmRlcmlu
ZyBjb2RlcyBzcGVjaWZpZWQgZm9yIHRoZSBzdGFydCBvZiB0aGUgb3JkZXIgYXJlIHBsYWNlZCBp
biB0aGUgCi0gKiBvcmRlciBnaXZlbiBhZnRlciBhIGdyb3VwIG9mICJzcGVjaWFsIiBub24tc2Ny
aXB0IGJsb2Nrcy4gVGhlc2Ugc3BlY2lhbCBncm91cHMgb2YgY2hhcmFjdGVycyAKKyAqIG9yZGVy
IGdpdmVuIGFmdGVyIHNldmVyYWwgc3BlY2lhbCBub24tc2NyaXB0IGJsb2Nrcy4gVGhlc2Ugc3Bl
Y2lhbCBncm91cHMgb2YgY2hhcmFjdGVycwogICogYXJlIHNwYWNlLCBwdW5jdHVhdGlvbiwgc3lt
Ym9sLCBjdXJyZW5jeSwgYW5kIGRpZ2l0LiBUaGVzZSBzcGVjaWFsIGdyb3VwcyBhcmUgcmVwcmVz
ZW50ZWQgd2l0aAogICogVUNvbFJlb3JkZXJDb2RlIGVudHJpZXMuIFNjcmlwdCBncm91cHMgY2Fu
IGJlIGludGVybWluZ2xlZCB3aXRoIAotICogdGhlc2Ugc3BlY2lhbCBub24tc2NyaXB0IGJsb2Nr
cyBpZiB0aG9zZSBzcGVjaWFsIGJsb2NrcyBhcmUgZXhwbGljaXRseSBzcGVjaWZpZWQgaW4gdGhl
IHJlb3JkZXJpbmcuCisgKiB0aGVzZSBzcGVjaWFsIG5vbi1zY3JpcHQgZ3JvdXBzIGlmIHRob3Nl
IHNwZWNpYWwgZ3JvdXBzIGFyZSBleHBsaWNpdGx5IHNwZWNpZmllZCBpbiB0aGUgcmVvcmRlcmlu
Zy4KKyAqCiAgKiA8cD5UaGUgc3BlY2lhbCBjb2RlIE9USEVSUyBzdGFuZHMgZm9yIGFueSBzY3Jp
cHQgdGhhdCBpcyBub3QgZXhwbGljaXRseSAKICAqIG1lbnRpb25lZCBpbiB0aGUgbGlzdCBvZiBy
ZW9yZGVyaW5nIGNvZGVzIGdpdmVuLiBBbnl0aGluZyB0aGF0IGlzIGFmdGVyIE9USEVSUwogICog
d2lsbCBnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHJlb3JkZXJpbmcgaW4gdGhlIG9yZGVyIGdp
dmVuLgorICoKICAqIDxwPlRoZSBzcGVjaWFsIHJlb3JkZXIgY29kZSBERUZBVUxUIHdpbGwgcmVz
ZXQgdGhlIHJlb3JkZXJpbmcgZm9yIHRoaXMgY29sbGF0b3IKICAqIHRvIHRoZSBkZWZhdWx0IGZv
ciB0aGlzIGNvbGxhdG9yLiBUaGUgZGVmYXVsdCByZW9yZGVyaW5nIG1heSBiZSB0aGUgRFVDRVQv
Q0xEUiBvcmRlciBvciBtYXkgYmUgYSByZW9yZGVyaW5nIHRoYXQKICAqIHdhcyBzcGVjaWZpZWQg
d2hlbiB0aGlzIGNvbGxhdG9yIHdhcyBjcmVhdGVkIGZyb20gcmVzb3VyY2UgZGF0YSBvciBmcm9t
IHJ1bGVzLiBUaGUgCi0gKiBERUZBVUxUIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUgY29k
ZSBzdXBwbGllZCB3aGVuIGl0IHVzZWQuIElmIG5vdAotICogdGhhdCB3aWxsIHJlc3VsdCBpbiBh
biBVX0lMTEVHQUxfQVJHVU1FTlRfRVJST1IgYmVpbmcgc2V0LgorICogREVGQVVMVCBjb2RlIDxi
Pm11c3Q8L2I+IGJlIHRoZSBzb2xlIGNvZGUgc3VwcGxpZWQgd2hlbiBpdCBpcyB1c2VkLgorICog
SWYgbm90LCB0aGVuIFVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUiB3aWxsIGJlIHNldC4KKyAqCiAg
KiA8cD5UaGUgc3BlY2lhbCByZW9yZGVyIGNvZGUgTk9ORSB3aWxsIHJlbW92ZSBhbnkgcmVvcmRl
cmluZyBmb3IgdGhpcyBjb2xsYXRvci4KICAqIFRoZSByZXN1bHQgb2Ygc2V0dGluZyBubyByZW9y
ZGVyaW5nIHdpbGwgYmUgdG8gaGF2ZSB0aGUgRFVDRVQvQ0xEUiBvcmRlcmluZyB1c2VkLiBUaGUg
Ci0gKiBOT05FIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUgY29kZSBzdXBwbGllZCB3aGVu
IGl0IHVzZWQuCisgKiBOT05FIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUgY29kZSBzdXBw
bGllZCB3aGVuIGl0IGlzIHVzZWQuCisgKgogICogQHBhcmFtIGNvbGwgVGhlIFVDb2xsYXRvciB0
byBzZXQuCiAgKiBAcGFyYW0gcmVvcmRlckNvZGVzIEFuIGFycmF5IG9mIHNjcmlwdCBjb2RlcyBp
biB0aGUgbmV3IG9yZGVyLiBUaGlzIGNhbiBiZSBOVUxMIGlmIHRoZSAKICAqIGxlbmd0aCBpcyBh
bHNvIHNldCB0byAwLiBBbiBlbXB0eSBhcnJheSB3aWxsIGNsZWFyIGFueSByZW9yZGVyaW5nIGNv
ZGVzIG9uIHRoZSBjb2xsYXRvci4KQEAgLTcyNywxMCArNzQ5LDEzIEBAIHVjb2xfc2V0UmVvcmRl
ckNvZGVzKFVDb2xsYXRvciogY29sbCwKIC8qKgogICogUmV0cmlldmVzIHRoZSByZW9yZGVyIGNv
ZGVzIHRoYXQgYXJlIGdyb3VwZWQgd2l0aCB0aGUgZ2l2ZW4gcmVvcmRlciBjb2RlLiBTb21lIHJl
b3JkZXIKICAqIGNvZGVzIHdpbGwgYmUgZ3JvdXBlZCBhbmQgbXVzdCByZW9yZGVyIHRvZ2V0aGVy
LgorICogQmVnaW5uaW5nIHdpdGggSUNVIDU1LCBzY3JpcHRzIG9ubHkgcmVvcmRlciB0b2dldGhl
ciBpZiB0aGV5IGFyZSBwcmltYXJ5LWVxdWFsLAorICogZm9yIGV4YW1wbGUgSGlyYWdhbmEgYW5k
IEthdGFrYW5hLgorICoKICAqIEBwYXJhbSByZW9yZGVyQ29kZSBUaGUgcmVvcmRlciBjb2RlIHRv
IGRldGVybWluZSBlcXVpdmFsZW5jZSBmb3IuCiAgKiBAcGFyYW0gZGVzdCBUaGUgYXJyYXkgdG8g
ZmlsbCB3aXRoIHRoZSBzY3JpcHQgb3JkZXJpbmcuCiAgKiBAcGFyYW0gZGVzdENhcGFjaXR5IFRo
ZSBsZW5ndGggb2YgZGVzdC4gSWYgaXQgaXMgMCwgdGhlbiBkZXN0IG1heSBiZSBOVUxMIGFuZCB0
aGUgZnVuY3Rpb24KLSAqIHdpbGwgb25seSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0
IHdpdGhvdXQgd3JpdGluZyBhbnkgb2YgdGhlIHJlc3VsdCBzdHJpbmcgKHByZS1mbGlnaHRpbmcp
LgorICogd2lsbCBvbmx5IHJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgd2l0aG91dCB3
cml0aW5nIGFueSBjb2RlcyAocHJlLWZsaWdodGluZykuCiAgKiBAcGFyYW0gcEVycm9yQ29kZSBN
dXN0IGJlIGEgdmFsaWQgcG9pbnRlciB0byBhbiBlcnJvciBjb2RlIHZhbHVlLCB3aGljaCBtdXN0
IG5vdCBpbmRpY2F0ZSAKICAqIGEgZmFpbHVyZSBiZWZvcmUgdGhlIGZ1bmN0aW9uIGNhbGwuCiAg
KiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgcmVvcmRlcmluZyBjb2RlcyB3cml0dGVuIHRvIHRoZSBk
ZXN0IGFycmF5LgpAQCAtNzUzLDcgKzc3OCw3IEBAIHVjb2xfZ2V0RXF1aXZhbGVudFJlb3JkZXJD
b2RlcyhpbnQzMl90IHJlb3JkZXJDb2RlLAogICogQHBhcmFtIGRpc3BMb2MgVGhlIGxvY2FsZSBm
b3IgZGlzcGxheS4KICAqIEBwYXJhbSByZXN1bHQgQSBwb2ludGVyIHRvIGEgYnVmZmVyIHRvIHJl
Y2VpdmUgdGhlIGF0dHJpYnV0ZS4KICAqIEBwYXJhbSByZXN1bHRMZW5ndGggVGhlIG1heGltdW0g
c2l6ZSBvZiByZXN1bHQuCi0gKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhbiBVRXJyb3JD
b2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycworICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8g
YSBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycwogICogQHJldHVybiBUaGUgdG90YWwg
YnVmZmVyIHNpemUgbmVlZGVkOyBpZiBncmVhdGVyIHRoYW4gcmVzdWx0TGVuZ3RoLAogICogdGhl
IG91dHB1dCB3YXMgdHJ1bmNhdGVkLgogICogQHN0YWJsZSBJQ1UgMi4wCkBAIC04NTAsMzEgKzg3
NSwzMiBAQCB1Y29sX2dldEtleXdvcmRWYWx1ZXNGb3JMb2NhbGUoY29uc3QgY2hhcioga2V5LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKIC8q
KgotICogUmV0dXJuIHRoZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCBsb2NhbGUgZm9yIHRoZSBn
aXZlbgotICogcmVxdWVzdGVkIGxvY2FsZSwgd2l0aCByZXNwZWN0IHRvIGdpdmVuIGtleXdvcmQs
IGZvciB0aGUKLSAqIGNvbGxhdGlvbiBzZXJ2aWNlLiAgSWYgdHdvIGxvY2FsZXMgcmV0dXJuIHRo
ZSBzYW1lIHJlc3VsdCwgdGhlbgotICogY29sbGF0b3JzIGluc3RhbnRpYXRlZCBmb3IgdGhlc2Ug
bG9jYWxlcyB3aWxsIGJlaGF2ZQotICogZXF1aXZhbGVudGx5LiAgVGhlIGNvbnZlcnNlIGlzIG5v
dCBhbHdheXMgdHJ1ZTsgdHdvIGNvbGxhdG9ycworICogUmV0dXJuIHRoZSBmdW5jdGlvbmFsbHkg
ZXF1aXZhbGVudCBsb2NhbGUgZm9yIHRoZSBzcGVjaWZpZWQKKyAqIGlucHV0IGxvY2FsZSwgd2l0
aCByZXNwZWN0IHRvIGdpdmVuIGtleXdvcmQsIGZvciB0aGUKKyAqIGNvbGxhdGlvbiBzZXJ2aWNl
LiBJZiB0d28gZGlmZmVyZW50IGlucHV0IGxvY2FsZSArIGtleXdvcmQKKyAqIGNvbWJpbmF0aW9u
cyBwcm9kdWNlIHRoZSBzYW1lIHJlc3VsdCBsb2NhbGUsIHRoZW4gY29sbGF0b3JzCisgKiBpbnN0
YW50aWF0ZWQgZm9yIHRoZXNlIHR3byBkaWZmZXJlbnQgaW5wdXQgbG9jYWxlcyB3aWxsIGJlaGF2
ZQorICogZXF1aXZhbGVudGx5LiBUaGUgY29udmVyc2UgaXMgbm90IGFsd2F5cyB0cnVlOyB0d28g
Y29sbGF0b3JzCiAgKiBtYXkgaW4gZmFjdCBiZSBlcXVpdmFsZW50LCBidXQgcmV0dXJuIGRpZmZl
cmVudCByZXN1bHRzLCBkdWUgdG8KLSAqIGludGVybmFsIGRldGFpbHMuICBUaGUgcmV0dXJuIHJl
c3VsdCBoYXMgbm8gb3RoZXIgbWVhbmluZyB0aGFuCisgKiBpbnRlcm5hbCBkZXRhaWxzLiBUaGUg
cmV0dXJuIHJlc3VsdCBoYXMgbm8gb3RoZXIgbWVhbmluZyB0aGFuCiAgKiB0aGF0IHN0YXRlZCBh
Ym92ZSwgYW5kIGltcGxpZXMgbm90aGluZyBhcyB0byB0aGUgcmVsYXRpb25zaGlwCi0gKiBiZXR3
ZWVuIHRoZSB0d28gbG9jYWxlcy4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieQorICogYmV0
d2VlbiB0aGUgdHdvIGxvY2FsZXMuIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieQogICogYXBw
bGljYXRpb25zIHdobyB3aXNoIHRvIGNhY2hlIGNvbGxhdG9ycywgb3Igb3RoZXJ3aXNlIHJldXNl
Ci0gKiBjb2xsYXRvcnMgd2hlbiBwb3NzaWJsZS4gIFRoZSBmdW5jdGlvbmFsIGVxdWl2YWxlbnQg
bWF5IGNoYW5nZQotICogb3ZlciB0aW1lLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSBz
ZWUgdGhlIDxhCi0gKiBocmVmPSJodHRwOi8vaWN1LXByb2plY3Qub3JnL3VzZXJndWlkZS9sb2Nh
bGUuaHRtbCNzZXJ2aWNlcyI+CisgKiBjb2xsYXRvcnMgd2hlbiBwb3NzaWJsZS4gVGhlIGZ1bmN0
aW9uYWwgZXF1aXZhbGVudCBtYXkgY2hhbmdlCisgKiBvdmVyIHRpbWUuIEZvciBtb3JlIGluZm9y
bWF0aW9uLCBwbGVhc2Ugc2VlIHRoZSA8YQorICogaHJlZj0iaHR0cDovL3VzZXJndWlkZS5pY3Ut
cHJvamVjdC5vcmcvbG9jYWxlI1RPQy1Mb2NhbGVzLWFuZC1TZXJ2aWNlcyI+CiAgKiBMb2NhbGVz
IGFuZCBTZXJ2aWNlczwvYT4gc2VjdGlvbiBvZiB0aGUgSUNVIFVzZXIgR3VpZGUuCi0gKiBAcGFy
YW0gcmVzdWx0IGZpbGxpbiBmb3IgdGhlIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IGxvY2FsZQor
ICogQHBhcmFtIHJlc3VsdCBmaWxsaW4gZm9yIHRoZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCBy
ZXN1bHQgbG9jYWxlCiAgKiBAcGFyYW0gcmVzdWx0Q2FwYWNpdHkgY2FwYWNpdHkgb2YgdGhlIGZp
bGxpbiBidWZmZXIKICAqIEBwYXJhbSBrZXl3b3JkIGEgcGFydGljdWxhciBrZXl3b3JkIGFzIGVu
dW1lcmF0ZWQgYnkKICAqIHVjb2xfZ2V0S2V5d29yZHMuCi0gKiBAcGFyYW0gbG9jYWxlIHRoZSBy
ZXF1ZXN0ZWQgbG9jYWxlCisgKiBAcGFyYW0gbG9jYWxlIHRoZSBzcGVjaWZpZWQgaW5wdXQgbG9j
YWxlCiAgKiBAcGFyYW0gaXNBdmFpbGFibGUgaWYgbm9uLU5VTEwsIHBvaW50ZXIgdG8gYSBmaWxs
aW4gcGFyYW1ldGVyIHRoYXQKLSAqIGluZGljYXRlcyB3aGV0aGVyIHRoZSByZXF1ZXN0ZWQgbG9j
YWxlIHdhcyAnYXZhaWxhYmxlJyB0byB0aGUKLSAqIGNvbGxhdGlvbiBzZXJ2aWNlLiBBIGxvY2Fs
ZSBpcyBkZWZpbmVkIGFzICdhdmFpbGFibGUnIGlmIGl0CisgKiBvbiByZXR1cm4gaW5kaWNhdGVz
IHdoZXRoZXIgdGhlIHNwZWNpZmllZCBpbnB1dCBsb2NhbGUgd2FzICdhdmFpbGFibGUnCisgKiB0
byB0aGUgY29sbGF0aW9uIHNlcnZpY2UuIEEgbG9jYWxlIGlzIGRlZmluZWQgYXMgJ2F2YWlsYWJs
ZScgaWYgaXQKICAqIHBoeXNpY2FsbHkgZXhpc3RzIHdpdGhpbiB0aGUgY29sbGF0aW9uIGxvY2Fs
ZSBkYXRhLgogICogQHBhcmFtIHN0YXR1cyBwb2ludGVyIHRvIGlucHV0LW91dHB1dCBlcnJvciBj
b2RlCi0gKiBAcmV0dXJuIHRoZSBhY3R1YWwgYnVmZmVyIHNpemUgbmVlZGVkIGZvciB0aGUgbG9j
YWxlLiAgSWYgZ3JlYXRlcgorICogQHJldHVybiB0aGUgYWN0dWFsIGJ1ZmZlciBzaXplIG5lZWRl
ZCBmb3IgdGhlIGxvY2FsZS4gSWYgZ3JlYXRlcgogICogdGhhbiByZXN1bHRDYXBhY2l0eSwgdGhl
IHJldHVybmVkIGZ1bGwgbmFtZSB3aWxsIGJlIHRydW5jYXRlZCBhbmQKICAqIGFuIGVycm9yIGNv
ZGUgd2lsbCBiZSByZXR1cm5lZC4KICAqIEBzdGFibGUgSUNVIDMuMApAQCAtODk2LDEzICs5MjIs
MTQgQEAgVV9TVEFCTEUgY29uc3QgVUNoYXIqIFVfRVhQT1JUMgogdWNvbF9nZXRSdWxlcyggICAg
Y29uc3QgICAgVUNvbGxhdG9yICAgICpjb2xsLCAKICAgICAgICAgaW50MzJfdCAgICAgICAgICAg
ICpsZW5ndGgpOwogCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQogLyoqIEdldCB0aGUg
c2hvcnQgZGVmaW5pdGlvbiBzdHJpbmcgZm9yIGEgY29sbGF0b3IuIFRoaXMgQVBJIGhhcnZlc3Rz
IHRoZSBjb2xsYXRvcidzCiAgKiAgbG9jYWxlIGFuZCB0aGUgYXR0cmlidXRlIHNldCBhbmQgcHJv
ZHVjZXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3BlbmluZyAKLSAqICBhIGNvbGxh
dG9yIHdpdGggdGhlIHNhbWUgcHJvcGVydGllcyB1c2luZyB0aGUgdWNvbF9vcGVuRnJvbVNob3J0
U3RyaW5nIEFQSS4KKyAqICBhIGNvbGxhdG9yIHdpdGggdGhlIHNhbWUgYXR0cmlidXRlcyB1c2lu
ZyB0aGUgdWNvbF9vcGVuRnJvbVNob3J0U3RyaW5nIEFQSS4KICAqICBUaGlzIHN0cmluZyB3aWxs
IGJlIG5vcm1hbGl6ZWQuCiAgKiAgVGhlIHN0cnVjdHVyZSBhbmQgdGhlIHN5bnRheCBvZiB0aGUg
c3RyaW5nIGlzIGRlZmluZWQgaW4gdGhlICJOYW1pbmcgY29sbGF0b3JzIgogICogIHNlY3Rpb24g
b2YgdGhlIHVzZXJzIGd1aWRlOiAKLSAqICBodHRwOi8vaWN1LXByb2plY3Qub3JnL3VzZXJndWlk
ZS9Db2xsYXRlX0NvbmNlcHRzLmh0bWwjTmFtaW5nX0NvbGxhdG9ycworICogIGh0dHA6Ly91c2Vy
Z3VpZGUuaWN1LXByb2plY3Qub3JnL2NvbGxhdGlvbi9jb25jZXB0cyNUT0MtQ29sbGF0b3ItbmFt
aW5nLXNjaGVtZQogICogIFRoaXMgQVBJIHN1cHBvcnRzIHByZWZsaWdodGluZy4KICAqICBAcGFy
YW0gY29sbCBhIGNvbGxhdG9yCiAgKiAgQHBhcmFtIGxvY2FsZSBhIGxvY2FsZSB0aGF0IHdpbGwg
YXBwZWFyIGFzIGEgY29sbGF0b3JzIGxvY2FsZSBpbiB0aGUgcmVzdWx0aW5nCkBAIC05MTQsOSAr
OTQxLDkgQEAgdWNvbF9nZXRSdWxlcyggICAgY29uc3QgICAgVUNvbGxhdG9yICAgICpjb2xsLAog
ICogIEByZXR1cm4gbGVuZ3RoIG9mIHRoZSByZXN1bHRpbmcgc3RyaW5nCiAgKiAgQHNlZSB1Y29s
X29wZW5Gcm9tU2hvcnRTdHJpbmcKICAqICBAc2VlIHVjb2xfbm9ybWFsaXplU2hvcnREZWZpbml0
aW9uU3RyaW5nCi0gKiAgQHN0YWJsZSBJQ1UgMy4wCisgKiAgQGRlcHJlY2F0ZWQgSUNVIDU0CiAg
Ki8KLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBVX0VY
UE9SVDIKIHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3RyaW5nKGNvbnN0IFVDb2xsYXRvciAqY29s
bCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmxvY2FsZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwKQEAgLTk0MCwyMSArOTY3
LDI1IEBAIHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3RyaW5nKGNvbnN0IFVDb2xsYXRvciAqY29s
bCwKICAqICBAc2VlIHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZwogICogIEBzZWUgdWNvbF9nZXRT
aG9ydERlZmluaXRpb25TdHJpbmcKICAqIAotICogIEBzdGFibGUgSUNVIDMuMAorICogIEBkZXBy
ZWNhdGVkIElDVSA1NAogICovCiAKLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJF
Q0FURUQgaW50MzJfdCBVX0VYUE9SVDIKIHVjb2xfbm9ybWFsaXplU2hvcnREZWZpbml0aW9uU3Ry
aW5nKGNvbnN0IGNoYXIgKnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNoYXIgKmRlc3RpbmF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBjYXBhY2l0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFVQYXJzZUVycm9yICpwYXJzZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9ISURFX0RFUFJFQ0FURURf
QVBJICovCiAKIAogLyoqCiAgKiBHZXQgYSBzb3J0IGtleSBmb3IgYSBzdHJpbmcgZnJvbSBhIFVD
b2xsYXRvci4KICAqIFNvcnQga2V5cyBtYXkgYmUgY29tcGFyZWQgdXNpbmcgPFRUPnN0cmNtcDwv
VFQ+LgogICoKKyAqIE5vdGUgdGhhdCBzb3J0IGtleXMgYXJlIG9mdGVuIGxlc3MgZWZmaWNpZW50
IHRoYW4gc2ltcGx5IGRvaW5nIGNvbXBhcmlzb24uICAKKyAqIEZvciBtb3JlIGRldGFpbHMsIHNl
ZSB0aGUgSUNVIFVzZXIgR3VpZGUuCisgKgogICogTGlrZSBJQ1UgZnVuY3Rpb25zIHRoYXQgd3Jp
dGUgdG8gYW4gb3V0cHV0IGJ1ZmZlciwgdGhlIGJ1ZmZlciBjb250ZW50cwogICogaXMgdW5kZWZp
bmVkIGlmIHRoZSBidWZmZXIgY2FwYWNpdHkgKHJlc3VsdExlbmd0aCBwYXJhbWV0ZXIpIGlzIHRv
byBzbWFsbC4KICAqIFVubGlrZSBJQ1UgZnVuY3Rpb25zIHRoYXQgd3JpdGUgYSBzdHJpbmcgdG8g
YW4gb3V0cHV0IGJ1ZmZlciwKQEAgLTEwOTYsNiArMTEyNywxNyBAQCB1Y29sX2dldFVDQVZlcnNp
b24oY29uc3QgVUNvbGxhdG9yKiBjb2xsLCBVVmVyc2lvbkluZm8gaW5mbyk7CiAgKgogICogVGhp
cyBpcyB1c2VmdWwsIGZvciBleGFtcGxlLCBmb3IgY29tYmluaW5nIHNvcnQga2V5cyBmcm9tIGZp
cnN0IGFuZCBsYXN0IG5hbWVzCiAgKiB0byBzb3J0IHN1Y2ggcGFpcnMuCisgKiBTZWUgaHR0cDov
L3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMTAvI01lcmdpbmdfU29ydF9LZXlzCisgKgorICog
VGhlIHJlY29tbWVuZGVkIHdheSB0byBhY2hpZXZlICJtZXJnZWQiIHNvcnRpbmcgaXMgYnkKKyAq
IGNvbmNhdGVuYXRpbmcgc3RyaW5ncyB3aXRoIFUrRkZGRSBiZXR3ZWVuIHRoZW0uCisgKiBUaGUg
Y29uY2F0ZW5hdGlvbiBoYXMgdGhlIHNhbWUgc29ydCBvcmRlciBhcyB0aGUgbWVyZ2VkIHNvcnQg
a2V5cywKKyAqIGJ1dCBtZXJnZShnZXRTb3J0S2V5KHN0cjEpLCBnZXRTb3J0S2V5KHN0cjIpKSBt
YXkgZGlmZmVyIGZyb20gZ2V0U29ydEtleShzdHIxICsgJ1x1RkZGRScgKyBzdHIyKS4KKyAqIFVz
aW5nIHN0cmluZ3Mgd2l0aCBVK0ZGRkUgbWF5IHlpZWxkIHNob3J0ZXIgc29ydCBrZXlzLgorICoK
KyAqIEZvciBkZXRhaWxzIGFib3V0IFNvcnQgS2V5IEZlYXR1cmVzIHNlZQorICogaHR0cDovL3Vz
ZXJndWlkZS5pY3UtcHJvamVjdC5vcmcvY29sbGF0aW9uL2FwaSNUT0MtU29ydC1LZXktRmVhdHVy
ZXMKKyAqCiAgKiBJdCBpcyBwb3NzaWJsZSB0byBtZXJnZSBtdWx0aXBsZSBzb3J0IGtleXMgYnkg
Y29uc2VjdXRpdmVseSBtZXJnaW5nCiAgKiBhbm90aGVyIG9uZSB3aXRoIHRoZSBpbnRlcm1lZGlh
dGUgcmVzdWx0LgogICoKQEAgLTExNTgsNTUgKzEyMDAsODkgQEAgdWNvbF9zZXRBdHRyaWJ1dGUo
VUNvbGxhdG9yICpjb2xsLCBVQ29sQXR0cmlidXRlIGF0dHIsIFVDb2xBdHRyaWJ1dGVWYWx1ZSB2
YWx1ZSwKIFVfU1RBQkxFIFVDb2xBdHRyaWJ1dGVWYWx1ZSAgVV9FWFBPUlQyIAogdWNvbF9nZXRB
dHRyaWJ1dGUoY29uc3QgVUNvbGxhdG9yICpjb2xsLCBVQ29sQXR0cmlidXRlIGF0dHIsIFVFcnJv
ckNvZGUgKnN0YXR1cyk7CiAKLS8qKiBWYXJpYWJsZSB0b3AKLSAqIGlzIGEgdHdvIGJ5dGUgcHJp
bWFyeSB2YWx1ZSB3aGljaCBjYXVzZXMgYWxsIHRoZSBjb2RlcG9pbnRzIHdpdGggcHJpbWFyeSB2
YWx1ZXMgdGhhdAotICogYXJlIGxlc3Mgb3IgZXF1YWwgdGhhbiB0aGUgdmFyaWFibGUgdG9wIHRv
IGJlIHNoaWZ0ZWQgd2hlbiBhbHRlcm5hdGUgaGFuZGxpbmcgaXMgc2V0Ci0gKiB0byBVQ09MX1NI
SUZURUQuCi0gKiBTZXRzIHRoZSB2YXJpYWJsZSB0b3AgdG8gYSBjb2xsYXRpb24gZWxlbWVudCB2
YWx1ZSBvZiBhIHN0cmluZyBzdXBwbGllZC4gCi0gKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3aGlj
aCB2YXJpYWJsZSB0b3AgbmVlZHMgdG8gYmUgY2hhbmdlZAorLyoqCisgKiBTZXRzIHRoZSB2YXJp
YWJsZSB0b3AgdG8gdGhlIHRvcCBvZiB0aGUgc3BlY2lmaWVkIHJlb3JkZXJpbmcgZ3JvdXAuCisg
KiBUaGUgdmFyaWFibGUgdG9wIGRldGVybWluZXMgdGhlIGhpZ2hlc3Qtc29ydGluZyBjaGFyYWN0
ZXIKKyAqIHdoaWNoIGlzIGFmZmVjdGVkIGJ5IFVDT0xfQUxURVJOQVRFX0hBTkRMSU5HLgorICog
SWYgdGhhdCBhdHRyaWJ1dGUgaXMgc2V0IHRvIFVDT0xfTk9OX0lHTk9SQUJMRSwgdGhlbiB0aGUg
dmFyaWFibGUgdG9wIGhhcyBubyBlZmZlY3QuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0b3IK
KyAqIEBwYXJhbSBncm91cCBvbmUgb2YgVUNPTF9SRU9SREVSX0NPREVfU1BBQ0UsIFVDT0xfUkVP
UkRFUl9DT0RFX1BVTkNUVUFUSU9OLAorICogICAgICAgICAgICAgIFVDT0xfUkVPUkRFUl9DT0RF
X1NZTUJPTCwgVUNPTF9SRU9SREVSX0NPREVfQ1VSUkVOQ1k7CisgKiAgICAgICAgICAgICAgb3Ig
VUNPTF9SRU9SREVSX0NPREVfREVGQVVMVCB0byByZXN0b3JlIHRoZSBkZWZhdWx0IG1heCB2YXJp
YWJsZSBncm91cAorICogQHBhcmFtIHBFcnJvckNvZGUgU3RhbmRhcmQgSUNVIGVycm9yIGNvZGUu
IEl0cyBpbnB1dCB2YWx1ZSBtdXN0CisgKiAgICAgICAgICAgICAgICAgICBwYXNzIHRoZSBVX1NV
Q0NFU1MoKSB0ZXN0LCBvciBlbHNlIHRoZSBmdW5jdGlvbiByZXR1cm5zCisgKiAgICAgICAgICAg
ICAgICAgICBpbW1lZGlhdGVseS4gQ2hlY2sgZm9yIFVfRkFJTFVSRSgpIG9uIG91dHB1dCBvciB1
c2Ugd2l0aAorICogICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hhaW5pbmcuIChTZWUgVXNl
ciBHdWlkZSBmb3IgZGV0YWlscy4pCisgKiBAc2VlIHVjb2xfZ2V0TWF4VmFyaWFibGUKKyAqIEBz
dGFibGUgSUNVIDUzCisgKi8KK1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCit1Y29sX3NldE1heFZh
cmlhYmxlKFVDb2xsYXRvciAqY29sbCwgVUNvbFJlb3JkZXJDb2RlIGdyb3VwLCBVRXJyb3JDb2Rl
ICpwRXJyb3JDb2RlKTsKKworLyoqCisgKiBSZXR1cm5zIHRoZSBtYXhpbXVtIHJlb3JkZXJpbmcg
Z3JvdXAgd2hvc2UgY2hhcmFjdGVycyBhcmUgYWZmZWN0ZWQgYnkgVUNPTF9BTFRFUk5BVEVfSEFO
RExJTkcuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0b3IKKyAqIEByZXR1cm4gdGhlIG1heGlt
dW0gdmFyaWFibGUgcmVvcmRlcmluZyBncm91cC4KKyAqIEBzZWUgdWNvbF9zZXRNYXhWYXJpYWJs
ZQorICogQHN0YWJsZSBJQ1UgNTMKKyAqLworVV9TVEFCTEUgVUNvbFJlb3JkZXJDb2RlIFVfRVhQ
T1JUMgordWNvbF9nZXRNYXhWYXJpYWJsZShjb25zdCBVQ29sbGF0b3IgKmNvbGwpOworCisjaWZu
ZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQorLyoqCisgKiBTZXRzIHRoZSB2YXJpYWJsZSB0b3Ag
dG8gdGhlIHByaW1hcnkgd2VpZ2h0IG9mIHRoZSBzcGVjaWZpZWQgc3RyaW5nLgorICoKKyAqIEJl
Z2lubmluZyB3aXRoIElDVSA1MywgdGhlIHZhcmlhYmxlIHRvcCBpcyBwaW5uZWQgdG8KKyAqIHRo
ZSB0b3Agb2Ygb25lIG9mIHRoZSBzdXBwb3J0ZWQgcmVvcmRlcmluZyBncm91cHMsCisgKiBhbmQg
aXQgbXVzdCBub3QgYmUgYmV5b25kIHRoZSBsYXN0IG9mIHRob3NlIGdyb3Vwcy4KKyAqIFNlZSB1
Y29sX3NldE1heFZhcmlhYmxlKCkuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0b3IKICAqIEBw
YXJhbSB2YXJUb3Agb25lIG9yIG1vcmUgKGlmIGNvbnRyYWN0aW9uKSBVQ2hhcnMgdG8gd2hpY2gg
dGhlIHZhcmlhYmxlIHRvcCBzaG91bGQgYmUgc2V0CiAgKiBAcGFyYW0gbGVuIGxlbmd0aCBvZiB2
YXJpYWJsZSB0b3Agc3RyaW5nLiBJZiAtMSBpdCBpcyBjb25zaWRlcmVkIHRvIGJlIHplcm8gdGVy
bWluYXRlZC4KLSAqIEBwYXJhbSBzdGF0dXMgZXJyb3IgY29kZS4gSWYgZXJyb3IgY29kZSBpcyBz
ZXQsIHRoZSByZXR1cm4gdmFsdWUgaXMgdW5kZWZpbmVkLiAKLSAqICAgICAgICAgICAgICAgRXJy
b3JzIHNldCBieSB0aGlzIGZ1bmN0aW9uIGFyZTogPGJyPgotICogICAgVV9DRV9OT1RfRk9VTkRf
RVJST1IgaWYgbW9yZSB0aGFuIG9uZSBjaGFyYWN0ZXIgd2FzIHBhc3NlZCBhbmQgdGhlcmUgaXMg
bm8gc3VjaCAKLSAqICAgIGEgY29udHJhY3Rpb248YnI+Ci0gKiAgICBVX1BSSU1BUllfVE9PX0xP
TkdfRVJST1IgaWYgdGhlIHByaW1hcnkgZm9yIHRoZSB2YXJpYWJsZSB0b3AgaGFzIG1vcmUgdGhh
biB0d28gYnl0ZXMKLSAqIEByZXR1cm4gYSAzMiBiaXQgdmFsdWUgY29udGFpbmluZyB0aGUgdmFs
dWUgb2YgdGhlIHZhcmlhYmxlIHRvcCBpbiB1cHBlciAxNiBiaXRzLiAKLSAqICAgICAgICAgTG93
ZXIgMTYgYml0cyBhcmUgdW5kZWZpbmVkCisgKiBAcGFyYW0gc3RhdHVzIGVycm9yIGNvZGUuIElm
IGVycm9yIGNvZGUgaXMgc2V0LCB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4KKyAqICAg
ICAgICAgICAgICAgRXJyb3JzIHNldCBieSB0aGlzIGZ1bmN0aW9uIGFyZTo8YnI+CisgKiAgICBV
X0NFX05PVF9GT1VORF9FUlJPUiBpZiBtb3JlIHRoYW4gb25lIGNoYXJhY3RlciB3YXMgcGFzc2Vk
IGFuZCB0aGVyZSBpcyBubyBzdWNoIGNvbnRyYWN0aW9uPGJyPgorICogICAgVV9JTExFR0FMX0FS
R1VNRU5UX0VSUk9SIGlmIHRoZSB2YXJpYWJsZSB0b3AgaXMgYmV5b25kCisgKiAgICB0aGUgbGFz
dCByZW9yZGVyaW5nIGdyb3VwIHN1cHBvcnRlZCBieSB1Y29sX3NldE1heFZhcmlhYmxlKCkKKyAq
IEByZXR1cm4gdmFyaWFibGUgdG9wIHByaW1hcnkgd2VpZ2h0CiAgKiBAc2VlIHVjb2xfZ2V0VmFy
aWFibGVUb3AKICAqIEBzZWUgdWNvbF9yZXN0b3JlVmFyaWFibGVUb3AKLSAqIEBzdGFibGUgSUNV
IDIuMAorICogQGRlcHJlY2F0ZWQgSUNVIDUzIENhbGwgdWNvbF9zZXRNYXhWYXJpYWJsZSgpIGlu
c3RlYWQuCiAgKi8KLVVfU1RBQkxFIHVpbnQzMl90IFVfRVhQT1JUMiAKK1VfREVQUkVDQVRFRCB1
aW50MzJfdCBVX0VYUE9SVDIgCiB1Y29sX3NldFZhcmlhYmxlVG9wKFVDb2xsYXRvciAqY29sbCwg
CiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFVDaGFyICp2YXJUb3AsIGludDMyX3QgbGVuLCAK
ICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9I
SURFX0RFUFJFQ0FURURfQVBJICovCiAKIC8qKiAKICAqIEdldHMgdGhlIHZhcmlhYmxlIHRvcCB2
YWx1ZSBvZiBhIENvbGxhdG9yLiAKLSAqIExvd2VyIDE2IGJpdHMgYXJlIHVuZGVmaW5lZCBhbmQg
c2hvdWxkIGJlIGlnbm9yZWQuCiAgKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3aGljaCB2YXJpYWJs
ZSB0b3AgbmVlZHMgdG8gYmUgcmV0cmlldmVkCiAgKiBAcGFyYW0gc3RhdHVzIGVycm9yIGNvZGUg
KG5vdCBjaGFuZ2VkIGJ5IGZ1bmN0aW9uKS4gSWYgZXJyb3IgY29kZSBpcyBzZXQsIAogICogICAg
ICAgICAgICAgICB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4KLSAqIEByZXR1cm4gdGhl
IHZhcmlhYmxlIHRvcCB2YWx1ZSBvZiBhIENvbGxhdG9yLgorICogQHJldHVybiB0aGUgdmFyaWFi
bGUgdG9wIHByaW1hcnkgd2VpZ2h0CisgKiBAc2VlIHVjb2xfZ2V0TWF4VmFyaWFibGUKICAqIEBz
ZWUgdWNvbF9zZXRWYXJpYWJsZVRvcAogICogQHNlZSB1Y29sX3Jlc3RvcmVWYXJpYWJsZVRvcAog
ICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KIFVfU1RBQkxFIHVpbnQzMl90IFVfRVhQT1JUMiB1Y29s
X2dldFZhcmlhYmxlVG9wKGNvbnN0IFVDb2xsYXRvciAqY29sbCwgVUVycm9yQ29kZSAqc3RhdHVz
KTsKIAotLyoqIAotICogU2V0cyB0aGUgdmFyaWFibGUgdG9wIHRvIGEgY29sbGF0aW9uIGVsZW1l
bnQgdmFsdWUgc3VwcGxpZWQuIFZhcmlhYmxlIHRvcCBpcyAKLSAqIHNldCB0byB0aGUgdXBwZXIg
MTYgYml0cy4gCi0gKiBMb3dlciAxNiBiaXRzIGFyZSBpZ25vcmVkLgotICogQHBhcmFtIGNvbGwg
Y29sbGF0b3Igd2hpY2ggdmFyaWFibGUgdG9wIG5lZWRzIHRvIGJlIGNoYW5nZWQKLSAqIEBwYXJh
bSB2YXJUb3AgQ0UgdmFsdWUsIGFzIHJldHVybmVkIGJ5IHVjb2xfc2V0VmFyaWFibGVUb3Agb3Ig
dWNvbClnZXRWYXJpYWJsZVRvcAotICogQHBhcmFtIHN0YXR1cyBlcnJvciBjb2RlIChub3QgY2hh
bmdlZCBieSBmdW5jdGlvbikKKy8qKgorICogU2V0cyB0aGUgdmFyaWFibGUgdG9wIHRvIHRoZSBz
cGVjaWZpZWQgcHJpbWFyeSB3ZWlnaHQuCisgKgorICogQmVnaW5uaW5nIHdpdGggSUNVIDUzLCB0
aGUgdmFyaWFibGUgdG9wIGlzIHBpbm5lZCB0bworICogdGhlIHRvcCBvZiBvbmUgb2YgdGhlIHN1
cHBvcnRlZCByZW9yZGVyaW5nIGdyb3VwcywKKyAqIGFuZCBpdCBtdXN0IG5vdCBiZSBiZXlvbmQg
dGhlIGxhc3Qgb2YgdGhvc2UgZ3JvdXBzLgorICogU2VlIHVjb2xfc2V0TWF4VmFyaWFibGUoKS4K
KyAqIEBwYXJhbSB2YXJUb3AgcHJpbWFyeSB3ZWlnaHQsIGFzIHJldHVybmVkIGJ5IHVjb2xfc2V0
VmFyaWFibGVUb3Agb3IgdWNvbF9nZXRWYXJpYWJsZVRvcAorICogQHBhcmFtIHN0YXR1cyBlcnJv
ciBjb2RlCiAgKiBAc2VlIHVjb2xfZ2V0VmFyaWFibGVUb3AKICAqIEBzZWUgdWNvbF9zZXRWYXJp
YWJsZVRvcAotICogQHN0YWJsZSBJQ1UgMi4wCisgKiBAZGVwcmVjYXRlZCBJQ1UgNTMgQ2FsbCB1
Y29sX3NldE1heFZhcmlhYmxlKCkgaW5zdGVhZC4KICAqLwotVV9TVEFCTEUgdm9pZCBVX0VYUE9S
VDIgCitVX0RFUFJFQ0FURUQgdm9pZCBVX0VYUE9SVDIgCiB1Y29sX3Jlc3RvcmVWYXJpYWJsZVRv
cChVQ29sbGF0b3IgKmNvbGwsIGNvbnN0IHVpbnQzMl90IHZhclRvcCwgVUVycm9yQ29kZSAqc3Rh
dHVzKTsKIAogLyoqCkBAIC0xMzAyLDcgKzEzNzgsNyBAQCBVX1NUQUJMRSBjb25zdCBjaGFyICog
VV9FWFBPUlQyCiB1Y29sX2dldExvY2FsZUJ5VHlwZShjb25zdCBVQ29sbGF0b3IgKmNvbGwsIFVM
b2NEYXRhTG9jYWxlVHlwZSB0eXBlLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogCiAvKioKLSAqIEdl
dCBhbiBVbmljb2RlIHNldCB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgY2hhcmFjdGVycyBhbmQgc2Vx
dWVuY2VzIHRhaWxvcmVkIGluIAorICogR2V0IGEgVW5pY29kZSBzZXQgdGhhdCBjb250YWlucyBh
bGwgdGhlIGNoYXJhY3RlcnMgYW5kIHNlcXVlbmNlcyB0YWlsb3JlZCBpbiAKICAqIHRoaXMgY29s
bGF0b3IuIFRoZSByZXN1bHQgbXVzdCBiZSBkaXNwb3NlZCBvZiBieSB1c2luZyB1c2V0X2Nsb3Nl
LgogICogQHBhcmFtIGNvbGwgICAgICAgIFRoZSBVQ29sbGF0b3IgZm9yIHdoaWNoIHdlIHdhbnQg
dG8gZ2V0IHRhaWxvcmVkIGNoYXJzCiAgKiBAcGFyYW0gc3RhdHVzICAgICAgZXJyb3IgY29kZSBv
ZiB0aGUgb3BlcmF0aW9uCkBAIC0xMzE1LDMxICsxMzkxLDYgQEAgVV9TVEFCTEUgVVNldCAqIFVf
RVhQT1JUMgogdWNvbF9nZXRUYWlsb3JlZFNldChjb25zdCBVQ29sbGF0b3IgKmNvbGwsIFVFcnJv
ckNvZGUgKnN0YXR1cyk7CiAKICNpZm5kZWYgVV9ISURFX0lOVEVSTkFMX0FQSQotLyoqCi0gKiBV
bml2ZXJzYWwgYXR0cmlidXRlIGdldHRlciB0aGF0IHJldHVybnMgVUNPTF9ERUZBVUxUIGlmIHRo
ZSB2YWx1ZSBpcyBkZWZhdWx0Ci0gKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3aGljaCBhdHRyaWJ1
dGVzIGFyZSB0byBiZSBjaGFuZ2VkCi0gKiBAcGFyYW0gYXR0ciBhdHRyaWJ1dGUgdHlwZQotICog
QHJldHVybiBhdHRyaWJ1dGUgdmFsdWUgb3IgVUNPTF9ERUZBVUxUIGlmIHRoZSB2YWx1ZSBpcyBk
ZWZhdWx0Ci0gKiBAcGFyYW0gc3RhdHVzIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9wZXJhdGlv
biB3ZW50IG9uIHNtb290aGx5IG9yIHRoZXJlIHdlcmUgZXJyb3JzCi0gKiBAc2VlIFVDb2xBdHRy
aWJ1dGUKLSAqIEBzZWUgVUNvbEF0dHJpYnV0ZVZhbHVlCi0gKiBAc2VlIHVjb2xfc2V0QXR0cmli
dXRlCi0gKiBAaW50ZXJuYWwgSUNVIDMuMAotICovCi1VX0lOVEVSTkFMIFVDb2xBdHRyaWJ1dGVW
YWx1ZSAgVV9FWFBPUlQyCi11Y29sX2dldEF0dHJpYnV0ZU9yRGVmYXVsdChjb25zdCBVQ29sbGF0
b3IgKmNvbGwsIFVDb2xBdHRyaWJ1dGUgYXR0ciwgVUVycm9yQ29kZSAqc3RhdHVzKTsKLQotLyoq
IENoZWNrIHdoZXRoZXIgdHdvIGNvbGxhdG9ycyBhcmUgZXF1YWwuIENvbGxhdG9ycyBhcmUgY29u
c2lkZXJlZCBlcXVhbCBpZiB0aGV5Ci0gKiAgd2lsbCBzb3J0IHN0cmluZ3MgdGhlIHNhbWUuIFRo
aXMgbWVhbnMgdGhhdCBib3RoIHRoZSBjdXJyZW50IGF0dHJpYnV0ZXMgYW5kIHRoZQotICogIHJ1
bGVzIG11c3QgYmUgZXF1aXZhbGVudC4gQ3VycmVudGx5IHVzZWQgZm9yIFJ1bGVCYXNlZENvbGxh
dG9yOjpvcGVyYXRvcj09LgotICogIEBwYXJhbSBzb3VyY2UgZmlyc3QgY29sbGF0b3IKLSAqICBA
cGFyYW0gdGFyZ2V0IHNlY29uZCBjb2xsYXRvcgotICogIEByZXR1cm4gVFJVRSBvciBGQUxTRQot
ICogIEBpbnRlcm5hbCBJQ1UgMy4wCi0gKi8KLVVfSU5URVJOQUwgVUJvb2wgVV9FWFBPUlQyCi11
Y29sX2VxdWFscyhjb25zdCBVQ29sbGF0b3IgKnNvdXJjZSwgY29uc3QgVUNvbGxhdG9yICp0YXJn
ZXQpOwotCiAvKiogQ2FsY3VsYXRlcyB0aGUgc2V0IG9mIHVuc2FmZSBjb2RlIHBvaW50cywgZ2l2
ZW4gYSBjb2xsYXRvci4KICAqICAgQSBjaGFyYWN0ZXIgaXMgdW5zYWZlIGlmIHlvdSBjb3VsZCBh
cHBlbmQgYW55IGNoYXJhY3RlciBhbmQgY2F1c2UgdGhlIG9yZGVyaW5nIHRvIGFsdGVyIHNpZ25p
ZmljYW50bHkuCiAgKiAgIENvbGxhdGlvbiBzb3J0cyBpbiBub3JtYWxpemVkIG9yZGVyLCBzbyBh
bnl0aGluZyB0aGF0IHJlYXJyYW5nZXMgaW4gbm9ybWFsaXphdGlvbiBjYW4gY2F1c2UgdGhpcy4K
QEAgLTEzNTYsMTIgKzE0MDcsNiBAQCB1Y29sX2dldFVuc2FmZVNldCggY29uc3QgVUNvbGxhdG9y
ICpjb2xsLAogICAgICAgICAgICAgICAgICAgVVNldCAqdW5zYWZlLAogICAgICAgICAgICAgICAg
ICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAotLyoqIFJlc2V0IFVDQSdzIHN0YXRpYyBwb2ludGVy
cy4gWW91IGRvbid0IHdhbnQgdG8gdXNlIHRoaXMsIHVubGVzcyB5b3VyIHN0YXRpYyBtZW1vcnkg
Y2FuIGdvIGF3YXkuCi0gKiBAaW50ZXJuYWwgSUNVIDMuMi4xCi0gKi8KLVVfSU5URVJOQUwgdm9p
ZCBVX0VYUE9SVDIKLXVjb2xfZm9yZ2V0VUNBKHZvaWQpOwotCiAvKiogVG91Y2hlcyBhbGwgcmVz
b3VyY2VzIG5lZWRlZCBmb3IgaW5zdGFudGlhdGluZyBhIGNvbGxhdG9yIGZyb20gYSBzaG9ydCBz
dHJpbmcgZGVmaW5pdGlvbiwKICAqICB0aHVzIGZpbGxpbmcgdXAgdGhlIGNhY2hlLgogICogQHBh
cmFtIGRlZmluaXRpb24gQSBzaG9ydCBzdHJpbmcgY29udGFpbmluZyBhIGxvY2FsZSBhbmQgYSBz
ZXQgb2YgYXR0cmlidXRlcy4gCkBAIC0xNDA5LDE0ICsxNDU0LDE0IEBAIHVjb2xfY2xvbmVCaW5h
cnkoY29uc3QgVUNvbGxhdG9yICpjb2xsLAogICogIHVjb2xfY2xvbmVCaW5hcnkuIEJpbmFyeSBp
bWFnZSB1c2VkIGluIGluc3RhbnRpYXRpb24gb2YgdGhlIAogICogIGNvbGxhdG9yIHJlbWFpbnMg
b3duZWQgYnkgdGhlIHVzZXIgYW5kIHNob3VsZCBzdGF5IGFyb3VuZCBmb3IgCiAgKiAgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBjb2xsYXRvci4gVGhlIEFQSSBhbHNvIHRha2VzIGEgYmFzZSBjb2xsYXRv
cgotICogIHdoaWNoIHVzdWFseSBzaG91bGQgYmUgVUNBLgorICogIHdoaWNoIG11c3QgYmUgdGhl
IHJvb3QgY29sbGF0b3IuCiAgKiAgQHBhcmFtIGJpbiBiaW5hcnkgaW1hZ2Ugb3duZWQgYnkgdGhl
IHVzZXIgYW5kIHJlcXVpcmVkIHRocm91Z2ggdGhlCiAgKiAgICAgICAgICAgICBsaWZldGltZSBv
ZiB0aGUgY29sbGF0b3IKICAqICBAcGFyYW0gbGVuZ3RoIHNpemUgb2YgdGhlIGltYWdlLiBJZiBu
ZWdhdGl2ZSwgdGhlIEFQSSB3aWxsIHRyeSB0bwogICogICAgICAgICAgICAgICAgZmlndXJlIG91
dCB0aGUgbGVuZ3RoIG9mIHRoZSBpbWFnZQotICogIEBwYXJhbSBiYXNlIGZhbGxiYWNrIGNvbGxh
dG9yLCB1c3VhbGx5IFVDQS4gQmFzZSBpcyByZXF1aXJlZCB0byBiZQotICogICAgICAgICAgICAg
IHByZXNlbnQgdGhyb3VnaCB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbGxhdG9yLiBDdXJyZW50bHkg
Ci0gKiAgICAgICAgICAgICAgaXQgY2Fubm90IGJlIE5VTEwuCisgKiAgQHBhcmFtIGJhc2UgQmFz
ZSBjb2xsYXRvciwgZm9yIGxvb2t1cCBvZiB1bnRhaWxvcmVkIGNoYXJhY3RlcnMuCisgKiAgICAg
ICAgICAgICAgTXVzdCBiZSB0aGUgcm9vdCBjb2xsYXRvciwgbXVzdCBub3QgYmUgTlVMTC4KKyAq
ICAgICAgICAgICAgICBUaGUgYmFzZSBpcyByZXF1aXJlZCB0byBiZSBwcmVzZW50IHRocm91Z2gg
dGhlIGxpZmV0aW1lIG9mIHRoZSBjb2xsYXRvci4KICAqICBAcGFyYW0gc3RhdHVzIGZvciBjYXRj
aGluZyBlcnJvcnMKICAqICBAcmV0dXJuIG5ld2x5IGNyZWF0ZWQgY29sbGF0b3IKICAqICBAc2Vl
IHVjb2xfY2xvbmVCaW5hcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3Uv
dW5pY29kZS91Y29uZmlnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWNv
bmZpZy5oCmluZGV4IGJmYThlNzdiMGYxYTM1MjIwNzZmYzBhNjY5MjU3ZDUzMjUyNGZkMDEuLjdj
NjcyNjMxZjk2ODFhNWZlMDI3Zjk5NWRmZjQ5NmIzYTkxNTk1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91Y29uZmlnLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ljdS91bmljb2RlL3Vjb25maWcuaApAQCAtMSw2ICsxLDYgQEAKIC8qICAKICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDIwMDItMjAxMywgSW50ZXJuYXRpb25hbCBC
dXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwMi0yMDE1LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICAgZmlsZSBuYW1lOiAgdWNvbmZpZy5o
CkBAIC0xODUsNyArMTg1LDggQEAKICNpZmRlZiBVX0xJQl9TVUZGSVhfQ19OQU1FX1NUUklORwog
ICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1ZS4gKi8KICNlbGlmIGRlZmluZWQoVV9MSUJf
U1VGRklYX0NfTkFNRSkKLSMgICBkZWZpbmUgVV9MSUJfU1VGRklYX0NfTkFNRV9TVFJJTkcgI1Vf
TElCX1NVRkZJWF9DX05BTUUKKyMgICBkZWZpbmUgQ09OVkVSVF9UT19TVFJJTkcocykgI3MKKyMg
ICBkZWZpbmUgVV9MSUJfU1VGRklYX0NfTkFNRV9TVFJJTkcgQ09OVkVSVF9UT19TVFJJTkcoVV9M
SUJfU1VGRklYX0NfTkFNRSkKICNlbHNlCiAjICAgZGVmaW5lIFVfTElCX1NVRkZJWF9DX05BTUVf
U1RSSU5HICIiCiAjZW5kaWYKQEAgLTE5OSw3ICsyMDAsNyBAQAogICogSXQgZG9lcyBub3QgdHVy
biBvZmYgbGVnYWN5IGNvbnZlcnNpb24gYmVjYXVzZSB0aGF0IGlzIG5lY2Vzc2FyeQogICogZm9y
IElDVSB0byB3b3JrIG9uIEVCQ0RJQyBwbGF0Zm9ybXMgKGZvciB0aGUgZGVmYXVsdCBjb252ZXJ0
ZXIpLgogICogSWYgeW91IHdhbnQgIm9ubHkgY29sbGF0aW9uIiBhbmQgZG8gbm90IGJ1aWxkIGZv
ciBFQkNESUMsCi0gKiB0aGVuIHlvdSBjYW4gZGVmaW5lIFVDT05GSUdfTk9fTEVHQUNZX0NPTlZF
UlNJT04gMSBhcyB3ZWxsLgorICogdGhlbiB5b3UgY2FuIGRlZmluZSBVQ09ORklHX05PX0NPTlZF
UlNJT04gb3IgVUNPTkZJR19OT19MRUdBQ1lfQ09OVkVSU0lPTiB0byAxIGFzIHdlbGwuCiAgKgog
ICogQHN0YWJsZSBJQ1UgMi40CiAgKi8KQEAgLTI0NSw2ICsyNDYsMTAgQEAKICMgICBkZWZpbmUg
VUNPTkZJR19OT19GSUxFX0lPIDAKICNlbmRpZgogCisjaWYgVUNPTkZJR19OT19GSUxFX0lPICYm
IGRlZmluZWQoVV9USU1FWk9ORV9GSUxFU19ESVIpIAorIyAgIGVycm9yIENvbnRyYWRpY3Rvcnkg
ZmlsZSBpbyBzd2l0Y2hlcyBpbiB1Y29uZmlnLmguCisjZW5kaWYKKwogLyoqCiAgKiBcZGVmIFVD
T05GSUdfTk9fQ09OVkVSU0lPTgogICogSUNVIHdpbGwgbm90IGNvbXBsZXRlbHkgYnVpbGQgd2l0
aCB0aGlzIHN3aXRjaCB0dXJuZWQgb24uCkBAIC0yNjUsNiArMjcwLDIxIEBACiAjZW5kaWYKIAog
LyoqCisgKiBcZGVmIFVDT05GSUdfT05MWV9IVE1MX0NPTlZFUlNJT04KKyAqIFRoaXMgc3dpdGNo
IHR1cm5zIG9mZiBhbGwgb2YgdGhlIGNvbnZlcnRlcnMgTk9UIGxpc3RlZCBpbgorICogdGhlIEhU
TUwgZW5jb2Rpbmcgc3RhbmRhcmQ6CisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9lbmNvZGluZy8j
bmFtZXMtYW5kLWxhYmVscworICoKKyAqIFRoaXMgaXMgbm90IHBvc3NpYmxlIG9uIEVCQ0RJQyBw
bGF0Zm9ybXMKKyAqIGJlY2F1c2UgdGhleSBuZWVkIGlibS0zNyBvciBpYm0tMTA0NyBkZWZhdWx0
IGNvbnZlcnRlcnMuCisgKgorICogQGRyYWZ0IElDVSA1NQorICovCisjaWZuZGVmIFVDT05GSUdf
T05MWV9IVE1MX0NPTlZFUlNJT04KKyMgICBkZWZpbmUgVUNPTkZJR19PTkxZX0hUTUxfQ09OVkVS
U0lPTiAwCisjZW5kaWYKKworLyoqCiAgKiBcZGVmIFVDT05GSUdfTk9fTEVHQUNZX0NPTlZFUlNJ
T04KICAqIFRoaXMgc3dpdGNoIHR1cm5zIG9mZiBhbGwgY29udmVydGVycyBleGNlcHQgZm9yCiAg
KiAtIFVuaWNvZGUgY2hhcnNldHMgKFVURi03LzgvMTYvMzIsIENFU1UtOCwgU0NTVSwgQk9DVS0x
KQpAQCAtMzg1LDcgKzQwNSw3IEBACiAgKiBAc3RhYmxlIElDVSAzLjIKICAqLwogI2lmbmRlZiBV
Q09ORklHX05PX1NFUlZJQ0UKLSMgICBkZWZpbmUgVUNPTkZJR19OT19TRVJWSUNFIDEKKyMgICBk
ZWZpbmUgVUNPTkZJR19OT19TRVJWSUNFIDAKICNlbmRpZgogCiAvKioKQEAgLTQwOSw0ICs0Mjks
MTcgQEAKICMgICBkZWZpbmUgVUNPTkZJR19GT1JNQVRfRkFTVFBBVEhTXzQ5IDEKICNlbmRpZgog
CisvKioKKyAqIFxkZWYgVUNPTkZJR19OT19GSUxURVJFRF9CUkVBS19JVEVSQVRJT04KKyAqIFRo
aXMgc3dpdGNoIHR1cm5zIG9mZiBmaWx0ZXJlZCBicmVhayBpdGVyYXRpb24gY29kZS4KKyAqCisg
KiBAaW50ZXJuYWwKKyAqLworI2lmbmRlZiBVQ09ORklHX05PX0ZJTFRFUkVEX0JSRUFLX0lURVJB
VElPTgorIyAgIGRlZmluZSBVQ09ORklHX05PX0ZJTFRFUkVEX0JSRUFLX0lURVJBVElPTiAwCisK
KworCisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L3VuaWNvZGUvdWN1cnIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91
Y3Vyci5oCmluZGV4IDI3Njk4MTMzZTQyMTA2MTNiNDNmOTg5MTYyNGUwYmEzNmU1ODI3ZDEuLjVi
MTk2OTAxNjkzZjQwY2MyNTlmOTYzZWZhOTk4MDkzNDhhNjM5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91Y3Vyci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pY3UvdW5pY29kZS91Y3Vyci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSogQ29weXJpZ2h0IChjKSAyMDAyLTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3Mg
TWFjaGluZXMKKyogQ29weXJpZ2h0IChjKSAyMDAyLTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5l
c3MgTWFjaGluZXMKICogQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCiAqLwpAQCAtMTgsNiArMTgsMzQgQEAKICNpZiAhVUNPTkZJR19O
T19GT1JNQVRUSU5HCiAKIC8qKgorICogQ3VycmVuY3kgVXNhZ2UgdXNlZCBmb3IgRGVjaW1hbCBG
b3JtYXQKKyAqIEBkcmFmdCBJQ1UgNTQKKyAqLworZW51bSBVQ3VycmVuY3lVc2FnZSB7CisjaWZu
ZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAvKioKKyAgICAgKiBhIHNldHRpbmcgdG8gc3BlY2lm
eSBjdXJyZW5jeSB1c2FnZSB3aGljaCBkZXRlcm1pbmVzIGN1cnJlbmN5IGRpZ2l0CisgICAgICog
YW5kIHJvdW5kaW5nIGZvciBzdGFuZGFyZCB1c2FnZSwgZm9yIGV4YW1wbGU6ICI1MC4wMCBOVCQi
CisgICAgICogdXNlZCBhcyBERUZBVUxUIHZhbHVlCisgICAgICogQGRyYWZ0IElDVSA1NAorICAg
ICAqLworICAgIFVDVVJSX1VTQUdFX1NUQU5EQVJEPTAsCisgICAgLyoqCisgICAgICogYSBzZXR0
aW5nIHRvIHNwZWNpZnkgY3VycmVuY3kgdXNhZ2Ugd2hpY2ggZGV0ZXJtaW5lcyBjdXJyZW5jeSBk
aWdpdAorICAgICAqIGFuZCByb3VuZGluZyBmb3IgY2FzaCB1c2FnZSwgZm9yIGV4YW1wbGU6ICI1
MCBOVCQiCisgICAgICogQGRyYWZ0IElDVSA1NAorICAgICAqLworICAgIFVDVVJSX1VTQUdFX0NB
U0g9MSwKKyNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLworICAgIC8qKgorICAgICAqIE9u
ZSBoaWdoZXIgdGhhbiB0aGUgbGFzdCBlbnVtIFVDdXJyZW5jeVVzYWdlIGNvbnN0YW50LgorICAg
ICAqIEBkcmFmdCBJQ1UgNTQKKyAgICAgKi8KKyAgICBVQ1VSUl9VU0FHRV9DT1VOVD0yCit9Owor
dHlwZWRlZiBlbnVtIFVDdXJyZW5jeVVzYWdlIFVDdXJyZW5jeVVzYWdlOyAKKworLyoqCiAgKiBU
aGUgdWN1cnIgQVBJIGVuY2Fwc3VsYXRlcyBpbmZvcm1hdGlvbiBhYm91dCBhIGN1cnJlbmN5LCBh
cyBkZWZpbmVkIGJ5CiAgKiBJU08gNDIxNy4gIEEgY3VycmVuY3kgaXMgcmVwcmVzZW50ZWQgYnkg
YSAzLWNoYXJhY3RlciBzdHJpbmcKICAqIGNvbnRhaW5pbmcgaXRzIElTTyA0MjE3IGNvZGUuICBU
aGlzIEFQSSBjYW4gcmV0dXJuIHZhcmlvdXMgZGF0YQpAQCAtMTY1LDYgKzE5Myw3IEBAIHVjdXJy
X2dldFBsdXJhbE5hbWUoY29uc3QgVUNoYXIqIGN1cnJlbmN5LAogLyoqCiAgKiBSZXR1cm5zIHRo
ZSBudW1iZXIgb2YgdGhlIG51bWJlciBvZiBmcmFjdGlvbiBkaWdpdHMgdGhhdCBzaG91bGQKICAq
IGJlIGRpc3BsYXllZCBmb3IgdGhlIGdpdmVuIGN1cnJlbmN5LgorICogVGhpcyBpcyBlcXVpdmFs
ZW50IHRvIHVjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0c0ZvclVzYWdlKGN1cnJlbmN5LFVD
VVJSX1VTQUdFX1NUQU5EQVJELGVjKTsKICAqIEBwYXJhbSBjdXJyZW5jeSBudWxsLXRlcm1pbmF0
ZWQgMy1sZXR0ZXIgSVNPIDQyMTcgY29kZQogICogQHBhcmFtIGVjIGlucHV0LW91dHB1dCBlcnJv
ciBjb2RlCiAgKiBAcmV0dXJuIGEgbm9uLW5lZ2F0aXZlIG51bWJlciBvZiBmcmFjdGlvbiBkaWdp
dHMgdG8gYmUKQEAgLTE3NSw5ICsyMDQsMjcgQEAgVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIK
IHVjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0cyhjb25zdCBVQ2hhciogY3VycmVuY3ksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSogZWMpOwogCisjaWZuZGVm
IFVfSElERV9EUkFGVF9BUEkKKy8qKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBudW1i
ZXIgb2YgZnJhY3Rpb24gZGlnaXRzIHRoYXQgc2hvdWxkCisgKiBiZSBkaXNwbGF5ZWQgZm9yIHRo
ZSBnaXZlbiBjdXJyZW5jeSB3aXRoIHVzYWdlLgorICogQHBhcmFtIGN1cnJlbmN5IG51bGwtdGVy
bWluYXRlZCAzLWxldHRlciBJU08gNDIxNyBjb2RlCisgKiBAcGFyYW0gdXNhZ2UgZW51bSB1c2Fn
ZSBmb3IgdGhlIGN1cnJlbmN5CisgKiBAcGFyYW0gZWMgaW5wdXQtb3V0cHV0IGVycm9yIGNvZGUK
KyAqIEByZXR1cm4gYSBub24tbmVnYXRpdmUgbnVtYmVyIG9mIGZyYWN0aW9uIGRpZ2l0cyB0byBi
ZQorICogZGlzcGxheWVkLCBvciAwIGlmIHRoZXJlIGlzIGFuIGVycm9yCisgKiBAZHJhZnQgSUNV
IDU0CisgKi8KK1VfRFJBRlQgaW50MzJfdCBVX0VYUE9SVDIKK3VjdXJyX2dldERlZmF1bHRGcmFj
dGlvbkRpZ2l0c0ZvclVzYWdlKGNvbnN0IFVDaGFyKiBjdXJyZW5jeSwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBVQ3VycmVuY3lVc2FnZSB1c2FnZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIGVjKTsKKyNl
bmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLworCiAvKioKICAqIFJldHVybnMgdGhlIHJvdW5k
aW5nIGluY3JlbWVudCBmb3IgdGhlIGdpdmVuIGN1cnJlbmN5LCBvciAwLjAgaWYgbm8KICAqIHJv
dW5kaW5nIGlzIGRvbmUgYnkgdGhlIGN1cnJlbmN5LgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRv
IHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2UoY3VycmVuY3ksVUNVUlJfVVNBR0Vf
U1RBTkRBUkQsZWMpOwogICogQHBhcmFtIGN1cnJlbmN5IG51bGwtdGVybWluYXRlZCAzLWxldHRl
ciBJU08gNDIxNyBjb2RlCiAgKiBAcGFyYW0gZWMgaW5wdXQtb3V0cHV0IGVycm9yIGNvZGUKICAq
IEByZXR1cm4gdGhlIG5vbi1uZWdhdGl2ZSByb3VuZGluZyBpbmNyZW1lbnQsIG9yIDAuMCBpZiBu
b25lLApAQCAtMTg4LDYgKzIzNSwyMyBAQCBVX1NUQUJMRSBkb3VibGUgVV9FWFBPUlQyCiB1Y3Vy
cl9nZXRSb3VuZGluZ0luY3JlbWVudChjb25zdCBVQ2hhciogY3VycmVuY3ksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBlYyk7CiAKKyNpZm5kZWYgVV9ISURFX0RSQUZU
X0FQSQorLyoqCisgKiBSZXR1cm5zIHRoZSByb3VuZGluZyBpbmNyZW1lbnQgZm9yIHRoZSBnaXZl
biBjdXJyZW5jeSwgb3IgMC4wIGlmIG5vCisgKiByb3VuZGluZyBpcyBkb25lIGJ5IHRoZSBjdXJy
ZW5jeSBnaXZlbiB1c2FnZS4KKyAqIEBwYXJhbSBjdXJyZW5jeSBudWxsLXRlcm1pbmF0ZWQgMy1s
ZXR0ZXIgSVNPIDQyMTcgY29kZQorICogQHBhcmFtIHVzYWdlIGVudW0gdXNhZ2UgZm9yIHRoZSBj
dXJyZW5jeQorICogQHBhcmFtIGVjIGlucHV0LW91dHB1dCBlcnJvciBjb2RlCisgKiBAcmV0dXJu
IHRoZSBub24tbmVnYXRpdmUgcm91bmRpbmcgaW5jcmVtZW50LCBvciAwLjAgaWYgbm9uZSwKKyAq
IG9yIDAuMCBpZiB0aGVyZSBpcyBhbiBlcnJvcgorICogQGRyYWZ0IElDVSA1NAorICovCitVX0RS
QUZUIGRvdWJsZSBVX0VYUE9SVDIKK3VjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2Uo
Y29uc3QgVUNoYXIqIGN1cnJlbmN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBVQ3VycmVuY3lVc2FnZSB1c2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVUVycm9yQ29kZSogZWMpOworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICov
CisKIC8qKgogICogU2VsZWN0b3IgY29uc3RhbnRzIGZvciB1Y3Vycl9vcGVuQ3VycmVuY2llcygp
LgogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91ZGF0
cGcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91ZGF0cGcuaAppbmRleCA3
ZThjYTQ3Mjc0NDI3YWZmMmQzOTlhN2VmY2UwZjc1Nzg4MjkzM2Q4Li42Yjk1MjUyODk1ZTAyNTM0
NGJjMzM5ZmE1OTRjYmYzYWUzYTE5M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L3VuaWNvZGUvdWRhdHBnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91
bmljb2RlL3VkYXRwZy5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKICoKLSogICBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMiwgSW50ZXJuYXRpb25hbCBCdXNpbmVz
cyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwNy0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1
c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMg
UmVzZXJ2ZWQuCiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC00MDksMTQgKzQwOSwxNiBA
QCB1ZGF0cGdfZ2V0QXBwZW5kSXRlbU5hbWUoY29uc3QgVURhdGVUaW1lUGF0dGVybkdlbmVyYXRv
ciAqZHRwZywKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90ICpwTGVuZ3RoKTsKIAog
LyoqCi0gKiBUaGUgZGF0ZSB0aW1lIGZvcm1hdCBpcyBhIG1lc3NhZ2UgZm9ybWF0IHBhdHRlcm4g
dXNlZCB0byBjb21wb3NlIGRhdGUgYW5kCi0gKiB0aW1lIHBhdHRlcm5zLiBUaGUgZGVmYXVsdCB2
YWx1ZSBpcyAiezB9IHsxfSIsIHdoZXJlIHswfSB3aWxsIGJlIHJlcGxhY2VkCi0gKiBieSB0aGUg
ZGF0ZSBwYXR0ZXJuIGFuZCB7MX0gd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgdGltZSBwYXR0ZXJu
LgorICogVGhlIERhdGVUaW1lRm9ybWF0IGlzIGEgbWVzc2FnZSBmb3JtYXQgcGF0dGVybiB1c2Vk
IHRvIGNvbXBvc2UgZGF0ZSBhbmQKKyAqIHRpbWUgcGF0dGVybnMuIFRoZSBkZWZhdWx0IHBhdHRl
cm4gaW4gdGhlIHJvb3QgbG9jYWxlIGlzICJ7MX0gezB9Iiwgd2hlcmUKKyAqIHsxfSB3aWxsIGJl
IHJlcGxhY2VkIGJ5IHRoZSBkYXRlIHBhdHRlcm4gYW5kIHswfSB3aWxsIGJlIHJlcGxhY2VkIGJ5
IHRoZQorICogdGltZSBwYXR0ZXJuOyBob3dldmVyLCBvdGhlciBsb2NhbGVzIG1heSBzcGVjaWZ5
IHBhdHRlcm5zIHN1Y2ggYXMKKyAqICJ7MX0sIHswfSIgb3IgInsxfSAnYXQnIHswfSIsIGV0Yy4K
ICAqIDxwPgogICogVGhpcyBpcyB1c2VkIHdoZW4gdGhlIGlucHV0IHNrZWxldG9uIGNvbnRhaW5z
IGJvdGggZGF0ZSBhbmQgdGltZSBmaWVsZHMsCiAgKiBidXQgdGhlcmUgaXMgbm90IGEgY2xvc2Ug
bWF0Y2ggYW1vbmcgdGhlIGFkZGVkIHBhdHRlcm5zLiBGb3IgZXhhbXBsZSwKICAqIHN1cHBvc2Ug
dGhhdCB0aGlzIG9iamVjdCB3YXMgY3JlYXRlZCBieSBhZGRpbmcgImRkLU1NTSIgYW5kICJoaDpt
bSIsIGFuZAotICogaXRzIGRhdGV0aW1lRm9ybWF0IGlzIHRoZSBkZWZhdWx0ICJ7MH0gezF9Ii4g
VGhlbiBpZiB0aGUgaW5wdXQgc2tlbGV0b24KKyAqIGl0cyBEYXRlVGltZUZvcm1hdCBpcyB0aGUg
ZGVmYXVsdCAiezF9IHswfSIuIFRoZW4gaWYgdGhlIGlucHV0IHNrZWxldG9uCiAgKiBpcyAiTU1N
ZGhtbSIsIHRoZXJlIGlzIG5vdCBhbiBleGFjdCBtYXRjaCwgc28gdGhlIGlucHV0IHNrZWxldG9u
IGlzCiAgKiBicm9rZW4gdXAgaW50byB0d28gY29tcG9uZW50cyAiTU1NZCIgYW5kICJobW0iLiBU
aGVyZSBhcmUgY2xvc2UgbWF0Y2hlcwogICogZm9yIHRob3NlIHR3byBza2VsZXRvbnMsIHNvIHRo
ZSByZXN1bHQgaXMgcHV0IHRvZ2V0aGVyIHdpdGggdGhpcyBwYXR0ZXJuLApAQCAtNDI0LDggKzQy
Niw4IEBAIHVkYXRwZ19nZXRBcHBlbmRJdGVtTmFtZShjb25zdCBVRGF0ZVRpbWVQYXR0ZXJuR2Vu
ZXJhdG9yICpkdHBnLAogICoKICAqIEBwYXJhbSBkdHBnIGEgcG9pbnRlciB0byBVRGF0ZVRpbWVQ
YXR0ZXJuR2VuZXJhdG9yLgogICogQHBhcmFtIGR0Rm9ybWF0Ci0gKiAgICAgICAgICAgIG1lc3Nh
Z2UgZm9ybWF0IHBhdHRlcm4sIGhlcmUgezB9IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGRhdGUK
LSAqICAgICAgICAgICAgcGF0dGVybiBhbmQgezF9IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIHRp
bWUgcGF0dGVybi4KKyAqICAgICAgICAgICAgbWVzc2FnZSBmb3JtYXQgcGF0dGVybiwgaGVyZSB7
MX0gd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgZGF0ZQorICogICAgICAgICAgICBwYXR0ZXJuIGFu
ZCB7MH0gd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgdGltZSBwYXR0ZXJuLgogICogQHBhcmFtIGxl
bmd0aCB0aGUgbGVuZ3RoIG9mIGR0Rm9ybWF0LgogICogQHN0YWJsZSBJQ1UgMy44CiAgKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91ZGlzcGxheWNvbnRl
eHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91ZGlzcGxheWNvbnRleHQu
aAppbmRleCA0N2VkNDBkNzQ4YTk2NmI4ZTU3MWY5NWU3NTY5OTQ4NDliZDI0YTdjLi45MmIyZjk0
YTQ5MWRjY2VlY2QzM2JlNzE1MTk1YTQzNDc0OTUyZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWRpc3BsYXljb250ZXh0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VkaXNwbGF5Y29udGV4dC5oCkBAIC0xLDYgKzEsNiBA
QAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qIENvcHlyaWdodCAoQykg
MjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiBDb3B5cmlnaHQgKEMpIDIw
MTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogQ29ycG9yYXRpb24gYW5kIG90
aGVycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCiAqLwpAQCAtMTIsNyArMTIsNiBAQAogCiAjaWYgIVVDT05GSUdfTk9fRk9STUFUVElORwog
Ci0vKiBEb250IGhpZGUgd2l0aCAjaWZuZGVmIFVfSElERV9EUkFGVF9BUEksIG5lZWRlZCBieSB2
aXJ0dWFsIG1ldGhvZHMgKi8KIC8qKgogICogXGZpbGUKICAqIFxicmllZiBDIEFQSTogRGlzcGxh
eSBjb250ZXh0IHR5cGVzIChlbnVtIHZhbHVlcykKQEAgLTIxLDM4ICsyMCw0MyBAQAogLyoqCiAg
KiBEaXNwbGF5IGNvbnRleHQgdHlwZXMsIGZvciBnZXR0aW5nIHZhbHVlcyBvZiBhIHBhcnRpY3Vs
YXIgc2V0dGluZy4KICAqIE5vdGUsIHRoZSBzcGVjaWZpYyBudW1lcmljIHZhbHVlcyBhcmUgaW50
ZXJuYWwgYW5kIG1heSBjaGFuZ2UuCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1
MQogICovCiBlbnVtIFVEaXNwbGF5Q29udGV4dFR5cGUgewotI2lmbmRlZiBVX0hJREVfRFJBRlRf
QVBJCiAgICAgLyoqCiAgICAgICogVHlwZSB0byByZXRyaWV2ZSB0aGUgZGlhbGVjdCBoYW5kbGlu
ZyBzZXR0aW5nLCBlLmcuCiAgICAgICogVURJU1BDVFhfU1RBTkRBUkRfTkFNRVMgb3IgVURJU1BD
VFhfRElBTEVDVF9OQU1FUy4KLSAgICAgKiBAZHJhZnQgSUNVIDUxCisgICAgICogQHN0YWJsZSBJ
Q1UgNTEKICAgICAgKi8KICAgICBVRElTUENUWF9UWVBFX0RJQUxFQ1RfSEFORExJTkcgPSAwLAog
ICAgIC8qKgogICAgICAqIFR5cGUgdG8gcmV0cmlldmUgdGhlIGNhcGl0YWxpemF0aW9uIGNvbnRl
eHQgc2V0dGluZywgZS5nLgogICAgICAqIFVESVNQQ1RYX0NBUElUQUxJWkFUSU9OX05PTkUsIFVE
SVNQQ1RYX0NBUElUQUxJWkFUSU9OX0ZPUl9NSURETEVfT0ZfU0VOVEVOQ0UsCiAgICAgICogVURJ
U1BDVFhfQ0FQSVRBTElaQVRJT05fRk9SX0JFR0lOTklOR19PRl9TRU5URU5DRSwgZXRjLgotICAg
ICAqIEBkcmFmdCBJQ1UgNTEKKyAgICAgKiBAc3RhYmxlIElDVSA1MQogICAgICAqLwogICAgIFVE
SVNQQ1RYX1RZUEVfQ0FQSVRBTElaQVRJT04gPSAxCi0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQ
SSAqLworI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisgICAgLAorICAgIC8qKgorICAgICAqIFR5
cGUgdG8gcmV0cmlldmUgdGhlIGRpc3BsYXkgbGVuZ3RoIHNldHRpbmcsIGUuZy4KKyAgICAgKiBV
RElTUENUWF9MRU5HVEhfRlVMTCwgVURJU1BDVFhfTEVOR1RIX1NIT1JULgorICAgICAqIEBkcmFm
dCBJQ1UgNTQKKyAgICAgKi8KKyAgICBVRElTUENUWF9UWVBFX0RJU1BMQVlfTEVOR1RIID0gMgor
I2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCiB9OwogLyoqCi0qICBAZHJhZnQgSUNVIDUx
CisqICBAc3RhYmxlIElDVSA1MQogKi8KIHR5cGVkZWYgZW51bSBVRGlzcGxheUNvbnRleHRUeXBl
IFVEaXNwbGF5Q29udGV4dFR5cGU7CiAKLS8qIERvbnQgaGlkZSB3aXRoICNpZm5kZWYgVV9ISURF
X0RSQUZUX0FQSSwgbmVlZGVkIGJ5IHZpcnR1YWwgbWV0aG9kcyAqLwogLyoqCiAgKiBEaXNwbGF5
IGNvbnRleHQgc2V0dGluZ3MuCiAgKiBOb3RlLCB0aGUgc3BlY2lmaWMgbnVtZXJpYyB2YWx1ZXMg
YXJlIGludGVybmFsIGFuZCBtYXkgY2hhbmdlLgotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJs
ZSBJQ1UgNTEKICAqLwogZW51bSBVRGlzcGxheUNvbnRleHQgewotI2lmbmRlZiBVX0hJREVfRFJB
RlRfQVBJCiAgICAgLyoqCiAgICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
ICAgICAgKiBESUFMRUNUX0hBTkRMSU5HIGNhbiBiZSBzZXQgdG8gb25lIG9mIFVESVNQQ1RYX1NU
QU5EQVJEX05BTUVTIG9yCkBAIC02MywxNCArNjcsMTQgQEAgZW51bSBVRGlzcGxheUNvbnRleHQg
ewogICAgICAqIEEgcG9zc2libGUgc2V0dGluZyBmb3IgRElBTEVDVF9IQU5ETElORzoKICAgICAg
KiB1c2Ugc3RhbmRhcmQgbmFtZXMgd2hlbiBnZW5lcmF0aW5nIGEgbG9jYWxlIG5hbWUsCiAgICAg
ICogZS5nLiBlbl9HQiBkaXNwbGF5cyBhcyAnRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20pJy4KLSAg
ICAgKiBAZHJhZnQgSUNVIDUxCisgICAgICogQHN0YWJsZSBJQ1UgNTEKICAgICAgKi8KICAgICBV
RElTUENUWF9TVEFOREFSRF9OQU1FUyA9IChVRElTUENUWF9UWVBFX0RJQUxFQ1RfSEFORExJTkc8
PDgpICsgMCwKICAgICAvKioKICAgICAgKiBBIHBvc3NpYmxlIHNldHRpbmcgZm9yIERJQUxFQ1Rf
SEFORExJTkc6CiAgICAgICogdXNlIGRpYWxlY3QgbmFtZXMsIHdoZW4gZ2VuZXJhdGluZyBhIGxv
Y2FsZSBuYW1lLAogICAgICAqIGUuZy4gZW5fR0IgZGlzcGxheXMgYXMgJ0JyaXRpc2ggRW5nbGlz
aCcuCi0gICAgICogQGRyYWZ0IElDVSA1MQorICAgICAqIEBzdGFibGUgSUNVIDUxCiAgICAgICov
CiAgICAgVURJU1BDVFhfRElBTEVDVF9OQU1FUyA9IChVRElTUENUWF9UWVBFX0RJQUxFQ1RfSEFO
RExJTkc8PDgpICsgMSwKICAgICAvKioKQEAgLTg0LDM4ICs4OCw2MCBAQCBlbnVtIFVEaXNwbGF5
Q29udGV4dCB7CiAgICAgICovCiAgICAgLyoqCiAgICAgICogVGhlIGNhcGl0YWxpemF0aW9uIGNv
bnRleHQgdG8gYmUgdXNlZCBpcyB1bmtub3duICh0aGlzIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4K
LSAgICAgKiBAZHJhZnQgSUNVIDUxCisgICAgICogQHN0YWJsZSBJQ1UgNTEKICAgICAgKi8KICAg
ICBVRElTUENUWF9DQVBJVEFMSVpBVElPTl9OT05FID0gKFVESVNQQ1RYX1RZUEVfQ0FQSVRBTEla
QVRJT048PDgpICsgMCwKICAgICAvKioKICAgICAgKiBUaGUgY2FwaXRhbGl6YXRpb24gY29udGV4
dCBpZiBhIGRhdGUsIGRhdGUgc3ltYm9sIG9yIGRpc3BsYXkgbmFtZSBpcyB0byBiZQogICAgICAq
IGZvcm1hdHRlZCB3aXRoIGNhcGl0YWxpemF0aW9uIGFwcHJvcHJpYXRlIGZvciB0aGUgbWlkZGxl
IG9mIGEgc2VudGVuY2UuCi0gICAgICogQGRyYWZ0IElDVSA1MQorICAgICAqIEBzdGFibGUgSUNV
IDUxCiAgICAgICovCiAgICAgVURJU1BDVFhfQ0FQSVRBTElaQVRJT05fRk9SX01JRERMRV9PRl9T
RU5URU5DRSA9IChVRElTUENUWF9UWVBFX0NBUElUQUxJWkFUSU9OPDw4KSArIDEsCiAgICAgLyoq
CiAgICAgICogVGhlIGNhcGl0YWxpemF0aW9uIGNvbnRleHQgaWYgYSBkYXRlLCBkYXRlIHN5bWJv
bCBvciBkaXNwbGF5IG5hbWUgaXMgdG8gYmUKICAgICAgKiBmb3JtYXR0ZWQgd2l0aCBjYXBpdGFs
aXphdGlvbiBhcHByb3ByaWF0ZSBmb3IgdGhlIGJlZ2lubmluZyBvZiBhIHNlbnRlbmNlLgotICAg
ICAqIEBkcmFmdCBJQ1UgNTEKKyAgICAgKiBAc3RhYmxlIElDVSA1MQogICAgICAqLwogICAgIFVE
SVNQQ1RYX0NBUElUQUxJWkFUSU9OX0ZPUl9CRUdJTk5JTkdfT0ZfU0VOVEVOQ0UgPSAoVURJU1BD
VFhfVFlQRV9DQVBJVEFMSVpBVElPTjw8OCkgKyAyLAogICAgIC8qKgogICAgICAqIFRoZSBjYXBp
dGFsaXphdGlvbiBjb250ZXh0IGlmIGEgZGF0ZSwgZGF0ZSBzeW1ib2wgb3IgZGlzcGxheSBuYW1l
IGlzIHRvIGJlCiAgICAgICogZm9ybWF0dGVkIHdpdGggY2FwaXRhbGl6YXRpb24gYXBwcm9wcmlh
dGUgZm9yIGEgdXNlci1pbnRlcmZhY2UgbGlzdCBvciBtZW51IGl0ZW0uCi0gICAgICogQGRyYWZ0
IElDVSA1MQorICAgICAqIEBzdGFibGUgSUNVIDUxCiAgICAgICovCiAgICAgVURJU1BDVFhfQ0FQ
SVRBTElaQVRJT05fRk9SX1VJX0xJU1RfT1JfTUVOVSA9IChVRElTUENUWF9UWVBFX0NBUElUQUxJ
WkFUSU9OPDw4KSArIDMsCiAgICAgLyoqCiAgICAgICogVGhlIGNhcGl0YWxpemF0aW9uIGNvbnRl
eHQgaWYgYSBkYXRlLCBkYXRlIHN5bWJvbCBvciBkaXNwbGF5IG5hbWUgaXMgdG8gYmUKICAgICAg
KiBmb3JtYXR0ZWQgd2l0aCBjYXBpdGFsaXphdGlvbiBhcHByb3ByaWF0ZSBmb3Igc3RhbmQtYWxv
bmUgdXNhZ2Ugc3VjaCBhcyBhbgogICAgICAqIGlzb2xhdGVkIG5hbWUgb24gYSBjYWxlbmRhciBw
YWdlLgotICAgICAqIEBkcmFmdCBJQ1UgNTEKKyAgICAgKiBAc3RhYmxlIElDVSA1MQogICAgICAq
LwogICAgIFVESVNQQ1RYX0NBUElUQUxJWkFUSU9OX0ZPUl9TVEFOREFMT05FID0gKFVESVNQQ1RY
X1RZUEVfQ0FQSVRBTElaQVRJT048PDgpICsgNAotI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkg
Ki8KKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICwKKyAgICAvKioKKyAgICAgKiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAqIERJU1BMQVlfTEVOR1RIIGNhbiBi
ZSBzZXQgdG8gb25lIG9mIFVESVNQQ1RYX0xFTkdUSF9GVUxMIG9yCisgICAgICogVURJU1BDVFhf
TEVOR1RIX1NIT1JULiBVc2UgVURpc3BsYXlDb250ZXh0VHlwZSBVRElTUENUWF9UWVBFX0RJU1BM
QVlfTEVOR1RICisgICAgICogdG8gZ2V0IHRoZSB2YWx1ZS4KKyAgICAgKi8KKyAgICAvKioKKyAg
ICAgKiBBIHBvc3NpYmxlIHNldHRpbmcgZm9yIERJU1BMQVlfTEVOR1RIOgorICAgICAqIHVzZSBm
dWxsIG5hbWVzIHdoZW4gZ2VuZXJhdGluZyBhIGxvY2FsZSBuYW1lLAorICAgICAqIGUuZy4gIlVu
aXRlZCBTdGF0ZXMiIGZvciBVUy4KKyAgICAgKiBAZHJhZnQgSUNVIDU0CisgICAgICovCisgICAg
VURJU1BDVFhfTEVOR1RIX0ZVTEwgPSAoVURJU1BDVFhfVFlQRV9ESVNQTEFZX0xFTkdUSDw8OCkg
KyAwLAorICAgIC8qKgorICAgICAqIEEgcG9zc2libGUgc2V0dGluZyBmb3IgRElTUExBWV9MRU5H
VEg6CisgICAgICogdXNlIHNob3J0IG5hbWVzIHdoZW4gZ2VuZXJhdGluZyBhIGxvY2FsZSBuYW1l
LAorICAgICAqIGUuZy4gIlUuUy4iIGZvciBVUy4KKyAgICAgKiBAZHJhZnQgSUNVIDU0CisgICAg
ICovCisgICAgVURJU1BDVFhfTEVOR1RIX1NIT1JUID0gKFVESVNQQ1RYX1RZUEVfRElTUExBWV9M
RU5HVEg8PDgpICsgMQorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCiB9OwogLyoqCi0q
ICBAZHJhZnQgSUNVIDUxCisqICBAc3RhYmxlIElDVSA1MQogKi8KIHR5cGVkZWYgZW51bSBVRGlz
cGxheUNvbnRleHQgVURpc3BsYXlDb250ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaWN1L3VuaWNvZGUvdWZvcm1hdHRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L3VuaWNvZGUvdWZvcm1hdHRhYmxlLmgKaW5kZXggMzZjMjU3NjY1MDQxMDRjZDMzZWI5
NjIxNzQwOTY1YzJhZTBhMzIwNC4uYTY0YWUxNDY1M2ExOWQ1NmE4NmU2YTFhNDk2N2QzNTE4YjIx
M2E5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vmb3Jt
YXR0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91Zm9ybWF0
dGFibGUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiBD
b3B5cmlnaHQgKEMpIDIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9y
YXRpb24gYW5kIG90aGVycy4KKyogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQsIEludGVybmF0aW9u
YWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24gYW5kIG90aGVycy4KICogQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0zMiw4ICszMiw2IEBA
CiAKICNpZiAhVUNPTkZJR19OT19GT1JNQVRUSU5HCiAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQ
SQotCiAjaW5jbHVkZSAidW5pY29kZS9sb2NhbHBvaW50ZXIuaCIKIAogLyoqCkBAIC00MSw3ICsz
OSw3IEBACiAgKiBQcmFjdGljYWxseSwgdGhpcyBpbmRpY2F0ZXMgd2hpY2ggb2YgdGhlIGdldHRl
cnMgd291bGQgcmV0dXJuIHdpdGhvdXQgY29udmVyc2lvbgogICogb3IgZXJyb3IuCiAgKiBAc2Vl
IGljdTo6Rm9ybWF0dGFibGU6OlR5cGUKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBzdGFibGUgSUNV
IDUyCiAgKi8KIHR5cGVkZWYgZW51bSBVRm9ybWF0dGFibGVUeXBlIHsKICAgVUZNVF9EQVRFID0g
MCwgLyoqPCB1Zm10X2dldERhdGUoKSB3aWxsIHJldHVybiB3aXRob3V0IGNvbnZlcnNpb24uIEBz
ZWUgdWZtdF9nZXREYXRlKi8KQEAgLTU5LDcgKzU3LDcgQEAgdHlwZWRlZiBlbnVtIFVGb3JtYXR0
YWJsZVR5cGUgewogICogT3BhcXVlIHR5cGUgcmVwcmVzZW50aW5nIHZhcmlvdXMgdHlwZXMgb2Yg
ZGF0YSB3aGljaCBtYXkgYmUgdXNlZCBmb3IgZm9ybWF0dGluZwogICogYW5kIHBhcnNpbmcgb3Bl
cmF0aW9ucy4KICAqIEBzZWUgaWN1OjpGb3JtYXR0YWJsZQotICogQGRyYWZ0IElDVSA1MgorICog
QHN0YWJsZSBJQ1UgNTIKICAqLwogdHlwZWRlZiB2b2lkICpVRm9ybWF0dGFibGU7CiAKQEAgLTY4
LDIxICs2NiwyMSBAQCB0eXBlZGVmIHZvaWQgKlVGb3JtYXR0YWJsZTsKICAqIG1heSByZXR1cm4g
ZXJyb3IgaWYgbWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkLgogICogcGFyYW1ldGVyIHN0YXR1cyBl
cnJvciBjb2RlLgogICogU2VlIHtAbGluayB1bnVtX3BhcnNlVG9VRm9ybWF0dGFibGV9IGZvciBl
eGFtcGxlIGNvZGUuCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICogQHJl
dHVybiB0aGUgbmV3IFVGb3JtYXR0YWJsZQogICogQHNlZSB1Zm10X2Nsb3NlCiAgKiBAc2VlIGlj
dTo6Rm9ybWF0dGFibGU6OkZvcm1hdHRhYmxlKCkKICAqLwotVV9EUkFGVCBVRm9ybWF0dGFibGUq
IFVfRVhQT1JUMgorVV9TVEFCTEUgVUZvcm1hdHRhYmxlKiBVX0VYUE9SVDIKIHVmbXRfb3BlbihV
RXJyb3JDb2RlKiBzdGF0dXMpOwogCiAvKioKICAqIENsZWFudXAgYW55IGFkZGl0aW9uYWwgbWVt
b3J5IGFsbG9jYXRlZCBieSB0aGlzIFVGb3JtYXR0YWJsZS4KICAqIEBwYXJhbSBmbXQgdGhlIGZv
cm1hdHRlcgotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqIEBzZWUgdWZt
dF9vcGVuCiAgKi8KLVVfRFJBRlQgdm9pZCBVX0VYUE9SVDIKK1VfU1RBQkxFIHZvaWQgVV9FWFBP
UlQyCiB1Zm10X2Nsb3NlKFVGb3JtYXR0YWJsZSogZm10KTsKIAogI2lmIFVfU0hPV19DUExVU1BM
VVNfQVBJCkBAIC05Niw3ICs5NCw3IEBAIFVfTkFNRVNQQUNFX0JFR0lOCiAgKgogICogQHNlZSBM
b2NhbFBvaW50ZXJCYXNlCiAgKiBAc2VlIExvY2FsUG9pbnRlcgotICogQGRyYWZ0IElDVSA1Mgor
ICogQHN0YWJsZSBJQ1UgNTIKICAqLwogVV9ERUZJTkVfTE9DQUxfT1BFTl9QT0lOVEVSKExvY2Fs
VUZvcm1hdHRhYmxlUG9pbnRlciwgVUZvcm1hdHRhYmxlLCB1Zm10X2Nsb3NlKTsKIApAQCAtMTEy
LDkgKzExMCw5IEBAIFVfTkFNRVNQQUNFX0VORAogICogQHJldHVybiB0aGUgdmFsdWUgYXMgYSBV
Rm9ybWF0dGFibGVUeXBlCiAgKiBAc2VlIHVmbXRfaXNOdW1lcmljCiAgKiBAc2VlIGljdTo6Rm9y
bWF0dGFibGU6OmdldFR5cGUoKSBjb25zdAotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJ
Q1UgNTIKICAqLwotVV9EUkFGVCBVRm9ybWF0dGFibGVUeXBlIFVfRVhQT1JUMgorVV9TVEFCTEUg
VUZvcm1hdHRhYmxlVHlwZSBVX0VYUE9SVDIKIHVmbXRfZ2V0VHlwZShjb25zdCBVRm9ybWF0dGFi
bGUqIGZtdCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogLyoqCkBAIC0xMjMsOSArMTIxLDkgQEAg
dWZtdF9nZXRUeXBlKGNvbnN0IFVGb3JtYXR0YWJsZSogZm10LCBVRXJyb3JDb2RlICpzdGF0dXMp
OwogICogQHJldHVybiB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBkb3VibGUsIGxvbmcsIG9yIGlu
dDY0IHZhbHVlLCBlbHNlIGZhbHNlLgogICogQHNlZSB1Zm10X2dldFR5cGUKICAqIEBzZWUgaWN1
OjpGb3JtYXR0YWJsZTo6aXNOdW1lcmljKCkgY29uc3QKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBz
dGFibGUgSUNVIDUyCiAgKi8KLVVfRFJBRlQgVUJvb2wgVV9FWFBPUlQyCitVX1NUQUJMRSBVQm9v
bCBVX0VYUE9SVDIKIHVmbXRfaXNOdW1lcmljKGNvbnN0IFVGb3JtYXR0YWJsZSogZm10KTsKIAog
LyoqCkBAIC0xMzUsMTAgKzEzMywxMCBAQCB1Zm10X2lzTnVtZXJpYyhjb25zdCBVRm9ybWF0dGFi
bGUqIGZtdCk7CiAgKiBAcGFyYW0gZm10IHRoZSBVRm9ybWF0dGFibGUgb2JqZWN0CiAgKiBAcGFy
YW0gc3RhdHVzIHRoZSBlcnJvciBjb2RlIC0gYW55IGNvbnZlcnNpb24gb3IgZm9ybWF0IGVycm9y
cwogICogQHJldHVybiB0aGUgdmFsdWUKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBzdGFibGUgSUNV
IDUyCiAgKiBAc2VlIGljdTo6Rm9ybWF0dGFibGU6OmdldERhdGUoVUVycm9yQ29kZSYpIGNvbnN0
CiAgKi8KLVVfRFJBRlQgVURhdGUgVV9FWFBPUlQyCitVX1NUQUJMRSBVRGF0ZSBVX0VYUE9SVDIK
IHVmbXRfZ2V0RGF0ZShjb25zdCBVRm9ybWF0dGFibGUqIGZtdCwgVUVycm9yQ29kZSAqc3RhdHVz
KTsKIAogLyoqCkBAIC0xNTMsMTAgKzE1MSwxMCBAQCB1Zm10X2dldERhdGUoY29uc3QgVUZvcm1h
dHRhYmxlKiBmbXQsIFVFcnJvckNvZGUgKnN0YXR1cyk7CiAgKiBAcGFyYW0gZm10IHRoZSBVRm9y
bWF0dGFibGUgb2JqZWN0CiAgKiBAcGFyYW0gc3RhdHVzIHRoZSBlcnJvciBjb2RlIC0gYW55IGNv
bnZlcnNpb24gb3IgZm9ybWF0IGVycm9ycwogICogQHJldHVybiB0aGUgdmFsdWUKLSAqIEBkcmFm
dCBJQ1UgNTIKKyAqIEBzdGFibGUgSUNVIDUyCiAgKiBAc2VlIGljdTo6Rm9ybWF0dGFibGU6Omdl
dERvdWJsZShVRXJyb3JDb2RlJikgY29uc3QKICAqLwotVV9EUkFGVCBkb3VibGUgVV9FWFBPUlQy
CitVX1NUQUJMRSBkb3VibGUgVV9FWFBPUlQyCiB1Zm10X2dldERvdWJsZShVRm9ybWF0dGFibGUq
IGZtdCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogLyoqCkBAIC0xNzQsMTAgKzE3MiwxMCBAQCB1
Zm10X2dldERvdWJsZShVRm9ybWF0dGFibGUqIGZtdCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKICAq
IEBwYXJhbSBmbXQgdGhlIFVGb3JtYXR0YWJsZSBvYmplY3QKICAqIEBwYXJhbSBzdGF0dXMgdGhl
IGVycm9yIGNvZGUgLSBhbnkgY29udmVyc2lvbiBvciBmb3JtYXQgZXJyb3JzCiAgKiBAcmV0dXJu
IHRoZSB2YWx1ZQotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqIEBzZWUg
aWN1OjpGb3JtYXR0YWJsZTo6Z2V0TG9uZyhVRXJyb3JDb2RlJikgY29uc3QKICAqLwotVV9EUkFG
VCBpbnQzMl90IFVfRVhQT1JUMgorVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKIHVmbXRfZ2V0
TG9uZyhVRm9ybWF0dGFibGUqIGZtdCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogCkBAIC0xOTUs
MTAgKzE5MywxMCBAQCB1Zm10X2dldExvbmcoVUZvcm1hdHRhYmxlKiBmbXQsIFVFcnJvckNvZGUg
KnN0YXR1cyk7CiAgKiBAcGFyYW0gZm10IHRoZSBVRm9ybWF0dGFibGUgb2JqZWN0CiAgKiBAcGFy
YW0gc3RhdHVzIHRoZSBlcnJvciBjb2RlIC0gYW55IGNvbnZlcnNpb24gb3IgZm9ybWF0IGVycm9y
cwogICogQHJldHVybiB0aGUgdmFsdWUKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBzdGFibGUgSUNV
IDUyCiAgKiBAc2VlIGljdTo6Rm9ybWF0dGFibGU6OmdldEludDY0KFVFcnJvckNvZGUmKSBjb25z
dAogICovCi1VX0RSQUZUIGludDY0X3QgVV9FWFBPUlQyCitVX1NUQUJMRSBpbnQ2NF90IFVfRVhQ
T1JUMgogdWZtdF9nZXRJbnQ2NChVRm9ybWF0dGFibGUqIGZtdCwgVUVycm9yQ29kZSAqc3RhdHVz
KTsKIAogLyoqCkBAIC0yMDgsMTAgKzIwNiwxMCBAQCB1Zm10X2dldEludDY0KFVGb3JtYXR0YWJs
ZSogZm10LCBVRXJyb3JDb2RlICpzdGF0dXMpOwogICogQHBhcmFtIGZtdCB0aGUgVUZvcm1hdHRh
YmxlIG9iamVjdAogICogQHBhcmFtIHN0YXR1cyB0aGUgZXJyb3IgY29kZSAtIGFueSBjb252ZXJz
aW9uIG9yIGZvcm1hdCBlcnJvcnMKICAqIEByZXR1cm4gdGhlIHZhbHVlIGFzIGEgY29uc3Qgdm9p
ZCouIEl0IGlzIGEgcG9seW1vcnBoaWMgQysrIG9iamVjdC4KLSAqIEBkcmFmdCBJQ1UgNTIKKyAq
IEBzdGFibGUgSUNVIDUyCiAgKiBAc2VlIGljdTo6Rm9ybWF0dGFibGU6OmdldE9iamVjdCgpIGNv
bnN0CiAgKi8KLVVfRFJBRlQgY29uc3Qgdm9pZCAqVV9FWFBPUlQyCitVX1NUQUJMRSBjb25zdCB2
b2lkICpVX0VYUE9SVDIKIHVmbXRfZ2V0T2JqZWN0KGNvbnN0IFVGb3JtYXR0YWJsZSogZm10LCBV
RXJyb3JDb2RlICpzdGF0dXMpOwogCiAvKioKQEAgLTIyMywxMCArMjIxLDEwIEBAIHVmbXRfZ2V0
T2JqZWN0KGNvbnN0IFVGb3JtYXR0YWJsZSogZm10LCBVRXJyb3JDb2RlICpzdGF0dXMpOwogICog
QHBhcmFtIHN0YXR1cyB0aGUgZXJyb3IgY29kZSAtIGFueSBjb252ZXJzaW9uIG9yIGZvcm1hdCBl
cnJvcnMKICAqIEBwYXJhbSBsZW4gaWYgbm9uIG51bGwsIGNvbnRhaW5zIHRoZSBzdHJpbmcgbGVu
Z3RoIG9uIHJldHVybgogICogQHJldHVybiB0aGUgbnVsbCB0ZXJtaW5hdGVkIHN0cmluZyB2YWx1
ZSAtIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgYWZ0ZXIgYW55IG90aGVyIGZ1bmN0aW9ucyBhcmUg
Y2FsbGVkIG9uIHRoaXMgVUZvcm1hdHRhYmxlLgotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJs
ZSBJQ1UgNTIKICAqIEBzZWUgaWN1OjpGb3JtYXR0YWJsZTo6Z2V0U3RyaW5nKFVuaWNvZGVTdHJp
bmcmKWNvbnN0CiAgKi8KLVVfRFJBRlQgY29uc3QgVUNoYXIqIFVfRVhQT1JUMgorVV9TVEFCTEUg
Y29uc3QgVUNoYXIqIFVfRVhQT1JUMgogdWZtdF9nZXRVQ2hhcnMoVUZvcm1hdHRhYmxlKiBmbXQs
IGludDMyX3QgKmxlbiwgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogLyoqCkBAIC0yMzQsMTAgKzIz
MiwxMCBAQCB1Zm10X2dldFVDaGFycyhVRm9ybWF0dGFibGUqIGZtdCwgaW50MzJfdCAqbGVuLCBV
RXJyb3JDb2RlICpzdGF0dXMpOwogICogQHBhcmFtIGZtdCB0aGUgVUZvcm1hdHRhYmxlIG9iamVj
dAogICogQHBhcmFtIHN0YXR1cyB0aGUgZXJyb3IgY29kZSAtIGFueSBjb252ZXJzaW9uIG9yIGZv
cm1hdCBlcnJvcnMuIFVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUiBpZiBub3QgYW4gYXJyYXkgdHlw
ZS4KICAqIEByZXR1cm4gdGhlIG51bWJlciBvZiBhcnJheSBvYmplY3RzIG9yIHVuZGVmaW5lZCBp
ZiBub3QgYW4gYXJyYXkgdHlwZQotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIK
ICAqIEBzZWUgdWZtdF9nZXRBcnJheUl0ZW1CeUluZGV4CiAgKi8KLVVfRFJBRlQgaW50MzJfdCBV
X0VYUE9SVDIKK1VfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCiB1Zm10X2dldEFycmF5TGVuZ3Ro
KGNvbnN0IFVGb3JtYXR0YWJsZSogZm10LCBVRXJyb3JDb2RlICpzdGF0dXMpOwogCiAvKioKQEAg
LTI0NiwxMCArMjQ0LDEwIEBAIHVmbXRfZ2V0QXJyYXlMZW5ndGgoY29uc3QgVUZvcm1hdHRhYmxl
KiBmbXQsIFVFcnJvckNvZGUgKnN0YXR1cyk7CiAgKiBAcGFyYW0gbiB0aGUgbnVtYmVyIG9mIHRo
ZSBhcnJheSB0byByZXR1cm4gKDAgYmFzZWQpLgogICogQHBhcmFtIHN0YXR1cyB0aGUgZXJyb3Ig
Y29kZSAtIGFueSBjb252ZXJzaW9uIG9yIGZvcm1hdCBlcnJvcnMuIFJldHVybnMgYW4gZXJyb3Ig
aWYgbiBpcyBvdXQgb2YgYm91bmRzLgogICogQHJldHVybiB0aGUgbnRoIGFycmF5IHZhbHVlLCBv
bmx5IHZhbGlkIHdoaWxlIHRoZSBjb250YWluaW5nIFVGb3JtYXR0YWJsZSBpcyB2YWxpZC4gTlVM
TCBpZiBub3QgYW4gYXJyYXkuCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1Mgog
ICogQHNlZSBpY3U6OkZvcm1hdHRhYmxlOjpnZXRBcnJheShpbnQzMl90JiwgVUVycm9yQ29kZSYp
IGNvbnN0CiAgKi8KLVVfRFJBRlQgVUZvcm1hdHRhYmxlICogVV9FWFBPUlQyCitVX1NUQUJMRSBV
Rm9ybWF0dGFibGUgKiBVX0VYUE9SVDIKIHVmbXRfZ2V0QXJyYXlJdGVtQnlJbmRleChVRm9ybWF0
dGFibGUqIGZtdCwgaW50MzJfdCBuLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogCiAvKioKQEAgLTI3
MSwxMiArMjY5LDExIEBAIHVmbXRfZ2V0QXJyYXlJdGVtQnlJbmRleChVRm9ybWF0dGFibGUqIGZt
dCwgaW50MzJfdCBuLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogICogQHBhcmFtIGxlbiBpZiBub24t
bnVsbCwgb24gZXhpdCBjb250YWlucyB0aGUgc3RyaW5nIGxlbmd0aCAobm90IGluY2x1ZGluZyB0
aGUgdGVybWluYXRpbmcgbnVsbCkKICAqIEBwYXJhbSBzdGF0dXMgdGhlIGVycm9yIGNvZGUKICAq
IEByZXR1cm4gdGhlIGNoYXJhY3RlciBidWZmZXIgYXMgYSBOVUxMIHRlcm1pbmF0ZWQgc3RyaW5n
LCB3aGljaCBpcyBvd25lZCBieSB0aGUgb2JqZWN0IGFuZCBtdXN0IG5vdCBiZSBhY2Nlc3NlZCBp
ZiBhbnkgb3RoZXIgZnVuY3Rpb25zIGFyZSBjYWxsZWQgb24gdGhpcyBvYmplY3QuCi0gKiBAZHJh
ZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICogQHNlZSBpY3U6OkZvcm1hdHRhYmxlOjpn
ZXREZWNpbWFsTnVtYmVyKFVFcnJvckNvZGUmKQogICovCi1VX0RSQUZUIGNvbnN0IGNoYXIgKiBV
X0VYUE9SVDIKK1VfU1RBQkxFIGNvbnN0IGNoYXIgKiBVX0VYUE9SVDIKIHVmbXRfZ2V0RGVjTnVt
Q2hhcnMoVUZvcm1hdHRhYmxlICpmbXQsIGludDMyX3QgKmxlbiwgVUVycm9yQ29kZSAqc3RhdHVz
KTsKLSNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vsb2MuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pY3UvdW5pY29kZS91bG9jLmgKaW5kZXggMjhhYjkwMmI1MjIyOTNiMzMyMGU5
ZTlkMDdlYWRmMTM5MTY1OGFlYi4uYzMwNWM4Yjc4YzhhODUzYjkzOGQ2NWQxNmExZTEyOTZkYjc3
MzdiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vsb2Mu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdWxvYy5oCkBAIC0xLDYg
KzEsNiBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxMywg
SW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5Ny0y
MDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5k
IG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0yNzIs
NyArMjcyLDcgQEAKICAqIFVzZWZ1bCBjb25zdGFudCBmb3IgdGhlIG1heGltdW0gc2l6ZSBvZiBr
ZXl3b3JkcyBpbiBhIGxvY2FsZQogICogQHN0YWJsZSBJQ1UgMi44CiAgKi8KLSNkZWZpbmUgVUxP
Q19LRVlXT1JEU19DQVBBQ0lUWSA1MAorI2RlZmluZSBVTE9DX0tFWVdPUkRTX0NBUEFDSVRZIDk2
CiAKIC8qKgogICogVXNlZnVsIGNvbnN0YW50IGZvciB0aGUgbWF4aW11bSB0b3RhbCBzaXplIG9m
IGtleXdvcmRzIGFuZCB0aGVpciB2YWx1ZXMgaW4gYSBsb2NhbGUKQEAgLTg4Niw2ICs4ODYsMjUg
QEAgdWxvY19zZXRLZXl3b3JkVmFsdWUoY29uc3QgY2hhcioga2V5d29yZE5hbWUsCiAgICAgICAg
ICAgICAgICAgICAgICBjaGFyKiBidWZmZXIsIGludDMyX3QgYnVmZmVyQ2FwYWNpdHksCiAgICAg
ICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBzdGF0dXMpOwogCisjaWZuZGVmIFVfSElERV9E
UkFGVF9BUEkKKy8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSBsb2NhbGUncyBzY3JpcHQgaXMg
d3JpdHRlbiByaWdodC10by1sZWZ0LgorICogSWYgdGhlcmUgaXMgbm8gc2NyaXB0IHN1YnRhZywg
dGhlbiB0aGUgbGlrZWx5IHNjcmlwdCBpcyB1c2VkLCBzZWUgdWxvY19hZGRMaWtlbHlTdWJ0YWdz
KCkuCisgKiBJZiBubyBsaWtlbHkgc2NyaXB0IGlzIGtub3duLCB0aGVuIEZBTFNFIGlzIHJldHVy
bmVkLgorICoKKyAqIEEgc2NyaXB0IGlzIHJpZ2h0LXRvLWxlZnQgYWNjb3JkaW5nIHRvIHRoZSBD
TERSIHNjcmlwdCBtZXRhZGF0YQorICogd2hpY2ggY29ycmVzcG9uZHMgdG8gd2hldGhlciB0aGUg
c2NyaXB0J3MgbGV0dGVycyBoYXZlIEJpZGlfQ2xhc3M9UiBvciBBTC4KKyAqCisgKiBSZXR1cm5z
IFRSVUUgZm9yICJhciIgYW5kICJlbi1IZWJyIiwgRkFMU0UgZm9yICJ6aCIgYW5kICJmYS1DeXJs
Ii4KKyAqCisgKiBAcGFyYW0gbG9jYWxlIGlucHV0IGxvY2FsZSBJRAorICogQHJldHVybiBUUlVF
IGlmIHRoZSBsb2NhbGUncyBzY3JpcHQgaXMgd3JpdHRlbiByaWdodC10by1sZWZ0CisgKiBAZHJh
ZnQgSUNVIDU0CisgKi8KK1VfRFJBRlQgVUJvb2wgVV9FWFBPUlQyCit1bG9jX2lzUmlnaHRUb0xl
ZnQoY29uc3QgY2hhciAqbG9jYWxlKTsKKyNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLwor
CiAvKioKICAqIGVudW1zIGZvciB0aGUgIHJldHVybiB2YWx1ZSBmb3IgdGhlIGNoYXJhY3RlciBh
bmQgbGluZSBvcmllbnRhdGlvbgogICogZnVuY3Rpb25zLgpAQCAtMTEzMiw0ICsxMTUxLDEwNiBA
QCB1bG9jX3RvTGFuZ3VhZ2VUYWcoY29uc3QgY2hhciogbG9jYWxlSUQsCiAgICAgICAgICAgICAg
ICAgICAgVUJvb2wgc3RyaWN0LAogICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIGVycik7
CiAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorLyoqCisgKiBDb252ZXJ0cyB0aGUgc3BlY2lm
aWVkIGtleXdvcmQgKGxlZ2FjeSBrZXksIG9yIEJDUCA0NyBVbmljb2RlIGxvY2FsZQorICogZXh0
ZW5zaW9uIGtleSkgdG8gdGhlIGVxdWl2YWxlbnQgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVu
c2lvbiBrZXkuCisgKiBGb3IgZXhhbXBsZSwgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lv
biBrZXkgImNvIiBpcyByZXR1cm5lZCBmb3IKKyAqIHRoZSBpbnB1dCBrZXl3b3JkICJjb2xsYXRp
b24iLgorICogPHA+CisgKiBXaGVuIHRoZSBzcGVjaWZpZWQga2V5d29yZCBpcyB1bmtub3duLCBi
dXQgc2F0aXNmaWVzIHRoZSBCQ1Agc3ludGF4LAorICogdGhlbiB0aGUgcG9pbnRlciB0byB0aGUg
aW5wdXQga2V5d29yZCBpdHNlbGYgd2lsbCBiZSByZXR1cm5lZC4KKyAqIEZvciBleGFtcGxlLAor
ICogPGNvZGU+dWxvY190b1VuaWNvZGVMb2NhbGVLZXkoIlpaIik8L2NvZGU+IHJldHVybnMgIlpa
Ii4KKyAqIAorICogQHBhcmFtIGtleXdvcmQgICAgICAgdGhlIGlucHV0IGxvY2FsZSBrZXl3b3Jk
IChlaXRoZXIgbGVnYWN5IGtleQorICogICAgICAgICAgICAgICAgICAgICAgc3VjaCBhcyAiY29s
bGF0aW9uIiBvciBCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uCisgKiAgICAgICAgICAg
ICAgICAgICAgICBrZXkgc3VjaCBhcyAiY28iKS4KKyAqIEByZXR1cm4gICAgICAgICAgICAgIHRo
ZSB3ZWxsLWZvcm1lZCBCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIGtleSwKKyAqICAg
ICAgICAgICAgICAgICAgICAgIG9yIE5VTEwgaWYgdGhlIHNwZWNpZmllZCBsb2NhbGUga2V5d29y
ZCBjYW5ub3QgYmUKKyAqICAgICAgICAgICAgICAgICAgICAgIG1hcHBlZCB0byBhIHdlbGwtZm9y
bWVkIEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24KKyAqICAgICAgICAgICAgICAgICAg
ICAgIGtleS4gCisgKiBAc2VlIHVsb2NfdG9MZWdhY3lLZXkKKyAqIEBkcmFmdCBJQ1UgNTQKKyAq
LworVV9EUkFGVCBjb25zdCBjaGFyKiBVX0VYUE9SVDIKK3Vsb2NfdG9Vbmljb2RlTG9jYWxlS2V5
KGNvbnN0IGNoYXIqIGtleXdvcmQpOworCisvKioKKyAqIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQg
a2V5d29yZCB2YWx1ZSAobGVnYWN5IHR5cGUsIG9yIEJDUCA0NworICogVW5pY29kZSBsb2NhbGUg
ZXh0ZW5zaW9uIHR5cGUpIHRvIHRoZSB3ZWxsLWZvcm1lZCBCQ1AgNDcgVW5pY29kZSBsb2NhbGUK
KyAqIGV4dGVuc2lvbiB0eXBlIGZvciB0aGUgc3BlY2lmaWVkIGtleXdvcmQgKGNhdGVnb3J5KS4g
Rm9yIGV4YW1wbGUsIEJDUCA0NworICogVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHR5cGUgInBo
b25lYmsiIGlzIHJldHVybmVkIGZvciB0aGUgaW5wdXQKKyAqIGtleXdvcmQgdmFsdWUgInBob25l
Ym9vayIsIHdpdGggdGhlIGtleXdvcmQgImNvbGxhdGlvbiIgKG9yICJjbyIpLgorICogPHA+Cisg
KiBXaGVuIHRoZSBzcGVjaWZpZWQga2V5d29yZCBpcyBub3QgcmVjb2duaXplZCwgYnV0IHRoZSBz
cGVjaWZpZWQgdmFsdWUKKyAqIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIHRoZSBCQ1AgNDcgVW5p
Y29kZSBsb2NhbGUgZXh0ZW5zaW9uIHR5cGUsCisgKiBvciB3aGVuIHRoZSBzcGVjaWZpZWQga2V5
d29yZCBhbGxvd3MgJ3ZhcmlhYmxlJyB0eXBlIGFuZCB0aGUgc3BlY2lmaWVkCisgKiB2YWx1ZSBz
YXRpc2ZpZXMgdGhlIHN5bnRheCwgIHRoZW4gdGhlIHBvaW50ZXIgdG8gdGhlIGlucHV0IHR5cGUg
dmFsdWUgaXRzZWxmCisgKiB3aWxsIGJlIHJldHVybmVkLgorICogRm9yIGV4YW1wbGUsCisgKiA8
Y29kZT51bG9jX3RvVW5pY29kZUxvY2FsZVR5cGUoIkZvbyIsICJCYXIiKTwvY29kZT4gcmV0dXJu
cyAiQmFyIiwKKyAqIDxjb2RlPnVsb2NfdG9Vbmljb2RlTG9jYWxlVHlwZSgidmFyaWFibGVUb3Ai
LCAiMDBBNCIpPC9jb2RlPiByZXR1cm5zICIwMEE0Ii4KKyAqIAorICogQHBhcmFtIGtleXdvcmQg
ICAgICAgdGhlIGxvY2FsZSBrZXl3b3JkIChlaXRoZXIgbGVnYWN5IGtleSBzdWNoIGFzCisgKiAg
ICAgICAgICAgICAgICAgICAgICAiY29sbGF0aW9uIiBvciBCQ1AgNDcgVW5pY29kZSBsb2NhbGUg
ZXh0ZW5zaW9uCisgKiAgICAgICAgICAgICAgICAgICAgICBrZXkgc3VjaCBhcyAiY28iKS4KKyAq
IEBwYXJhbSB2YWx1ZSAgICAgICAgIHRoZSBsb2NhbGUga2V5d29yZCB2YWx1ZSAoZWl0aGVyIGxl
Z2FjeSB0eXBlCisgKiAgICAgICAgICAgICAgICAgICAgICBzdWNoIGFzICJwaG9uZWJvb2siIG9y
IEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24KKyAqICAgICAgICAgICAgICAgICAgICAg
IHR5cGUgc3VjaCBhcyAicGhvbmViayIpLgorICogQHJldHVybiAgICAgICAgICAgICAgdGhlIHdl
bGwtZm9ybWVkIEJDUDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiB0eXBlLAorICogICAgICAg
ICAgICAgICAgICAgICAgb3IgTlVMTCBpZiB0aGUgbG9jYWxlIGtleXdvcmQgdmFsdWUgY2Fubm90
IGJlIG1hcHBlZCB0bworICogICAgICAgICAgICAgICAgICAgICAgYSB3ZWxsLWZvcm1lZCBCQ1Ag
NDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHR5cGUuCisgKiBAc2VlIHVsb2NfdG9MZWdhY3lU
eXBlCisgKiBAZHJhZnQgSUNVIDU0CisgKi8KK1VfRFJBRlQgY29uc3QgY2hhciogVV9FWFBPUlQy
Cit1bG9jX3RvVW5pY29kZUxvY2FsZVR5cGUoY29uc3QgY2hhcioga2V5d29yZCwgY29uc3QgY2hh
ciogdmFsdWUpOworCisvKioKKyAqIENvbnZlcnRzIHRoZSBzcGVjaWZpZWQga2V5d29yZCAoQkNQ
IDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBrZXksIG9yCisgKiBsZWdhY3kga2V5KSB0byB0
aGUgbGVnYWN5IGtleS4gRm9yIGV4YW1wbGUsIGxlZ2FjeSBrZXkgImNvbGxhdGlvbiIgaXMKKyAq
IHJldHVybmVkIGZvciB0aGUgaW5wdXQgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBr
ZXkgImNvIi4KKyAqIAorICogQHBhcmFtIGtleXdvcmQgICAgICAgdGhlIGlucHV0IGxvY2FsZSBr
ZXl3b3JkIChlaXRoZXIgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlCisgKiAgICAgICAgICAgICAgICAg
ICAgICBleHRlbnNpb24ga2V5IG9yIGxlZ2FjeSBrZXkpLgorICogQHJldHVybiAgICAgICAgICAg
ICAgdGhlIHdlbGwtZm9ybWVkIGxlZ2FjeSBrZXksIG9yIE5VTEwgaWYgdGhlIHNwZWNpZmllZAor
ICogICAgICAgICAgICAgICAgICAgICAga2V5d29yZCBjYW5ub3QgYmUgbWFwcGVkIHRvIGEgd2Vs
bC1mb3JtZWQgbGVnYWN5IGtleS4KKyAqIEBzZWUgdG9Vbmljb2RlTG9jYWxlS2V5CisgKiBAZHJh
ZnQgSUNVIDU0CisgKi8KK1VfRFJBRlQgY29uc3QgY2hhciogVV9FWFBPUlQyCit1bG9jX3RvTGVn
YWN5S2V5KGNvbnN0IGNoYXIqIGtleXdvcmQpOworCisvKioKKyAqIENvbnZlcnRzIHRoZSBzcGVj
aWZpZWQga2V5d29yZCB2YWx1ZSAoQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiB0eXBl
LAorICogb3IgbGVnYWN5IHR5cGUgb3IgdHlwZSBhbGlhcykgdG8gdGhlIGNhbm9uaWNhbCBsZWdh
Y3kgdHlwZS4gRm9yIGV4YW1wbGUsCisgKiB0aGUgbGVnYWN5IHR5cGUgInBob25lYm9vayIgaXMg
cmV0dXJuZWQgZm9yIHRoZSBpbnB1dCBCQ1AgNDcgVW5pY29kZQorICogbG9jYWxlIGV4dGVuc2lv
biB0eXBlICJwaG9uZWJrIiB3aXRoIHRoZSBrZXl3b3JkICJjb2xsYXRpb24iIChvciAiY28iKS4K
KyAqIDxwPgorICogV2hlbiB0aGUgc3BlY2lmaWVkIGtleXdvcmQgaXMgbm90IHJlY29nbml6ZWQs
IGJ1dCB0aGUgc3BlY2lmaWVkIHZhbHVlCisgKiBzYXRpc2ZpZXMgdGhlIHN5bnRheCBvZiBsZWdh
Y3kga2V5LCBvciB3aGVuIHRoZSBzcGVjaWZpZWQga2V5d29yZAorICogYWxsb3dzICd2YXJpYWJs
ZScgdHlwZSBhbmQgdGhlIHNwZWNpZmllZCB2YWx1ZSBzYXRpc2ZpZXMgdGhlIHN5bnRheCwKKyAq
IHRoZW4gdGhlIHBvaW50ZXIgdG8gdGhlIGlucHV0IHR5cGUgdmFsdWUgaXRzZWxmIHdpbGwgYmUg
cmV0dXJuZWQuCisgKiBGb3IgZXhhbXBsZSwKKyAqIDxjb2RlPnVsb2NfdG9MZWdhY3lUeXBlKCJG
b28iLCAiQmFyIik8L2NvZGU+IHJldHVybnMgIkJhciIsCisgKiA8Y29kZT51bG9jX3RvTGVnYWN5
VHlwZSgidnQiLCAiMDBBNCIpPC9jb2RlPiByZXR1cm5zICIwMEE0Ii4KKyAqCisgKiBAcGFyYW0g
a2V5d29yZCAgICAgICB0aGUgbG9jYWxlIGtleXdvcmQgKGVpdGhlciBsZWdhY3kga2V5d29yZCBz
dWNoIGFzCisgKiAgICAgICAgICAgICAgICAgICAgICAiY29sbGF0aW9uIiBvciBCQ1AgNDcgVW5p
Y29kZSBsb2NhbGUgZXh0ZW5zaW9uCisgKiAgICAgICAgICAgICAgICAgICAgICBrZXkgc3VjaCBh
cyAiY28iKS4KKyAqIEBwYXJhbSB2YWx1ZSAgICAgICAgIHRoZSBsb2NhbGUga2V5d29yZCB2YWx1
ZSAoZWl0aGVyIEJDUCA0NyBVbmljb2RlIGxvY2FsZQorICogICAgICAgICAgICAgICAgICAgICAg
ZXh0ZW5zaW9uIHR5cGUgc3VjaCBhcyAicGhvbmViayIgb3IgbGVnYWN5IGtleXdvcmQgdmFsdWUK
KyAqICAgICAgICAgICAgICAgICAgICAgIHN1Y2ggYXMgInBob25lYm9vayIpLgorICogQHJldHVy
biAgICAgICAgICAgICAgdGhlIHdlbGwtZm9ybWVkIGxlZ2FjeSB0eXBlLCBvciBOVUxMIGlmIHRo
ZSBzcGVjaWZpZWQKKyAqICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmQgdmFsdWUgY2Fubm90
IGJlIG1hcHBlZCB0byBhIHdlbGwtZm9ybWVkIGxlZ2FjeQorICogICAgICAgICAgICAgICAgICAg
ICAgdHlwZS4KKyAqIEBzZWUgdG9Vbmljb2RlTG9jYWxlVHlwZQorICogQGRyYWZ0IElDVSA1NAor
ICovCitVX0RSQUZUIGNvbnN0IGNoYXIqIFVfRVhQT1JUMgordWxvY190b0xlZ2FjeVR5cGUoY29u
c3QgY2hhcioga2V5d29yZCwgY29uc3QgY2hhciogdmFsdWUpOworCisjZW5kaWYgIC8qIFVfSElE
RV9EUkFGVF9BUEkgKi8KKwogI2VuZGlmIC8qX1VMT0MqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VtYWNoaW5lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L3VuaWNvZGUvdW1hY2hpbmUuaAppbmRleCBkMTEwMmY0OTM2NTI3YzkyYjEzYmNhZjg0
YzhhZWRjYTZlN2ZmNzU3Li41MzIxNTkyMTZhNWUzZDEzMDI3YTdmZmVmNmZjMzI4YzdiNmY2NGI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdW1hY2hpbmUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdW1hY2hpbmUuaApAQCAt
MSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQg
KEMpIDE5OTktMjAxMiwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHly
aWdodCAoQykgMTk5OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAg
Q29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKQEAgLTEzLDcgKzEzLDcgQEAKICogICBjcmVhdGVkIG9uOiAxOTk5c2Vw
MTMKICogICBjcmVhdGVkIGJ5OiBNYXJrdXMgVy4gU2NoZXJlcgogKgotKiAgIFRoaXMgZmlsZSBk
ZWZpbmVzIGJhc2ljIHR5cGVzIGFuZCBjb25zdGFudHMgZm9yIHV0Zi5oIHRvIGJlCisqICAgVGhp
cyBmaWxlIGRlZmluZXMgYmFzaWMgdHlwZXMgYW5kIGNvbnN0YW50cyBmb3IgSUNVIHRvIGJlCiAq
ICAgcGxhdGZvcm0taW5kZXBlbmRlbnQuIHVtYWNoaW5lLmggYW5kIHV0Zi5oIGFyZSBpbmNsdWRl
ZCBpbnRvCiAqICAgdXR5cGVzLmggdG8gcHJvdmlkZSBhbGwgdGhlIGdlbmVyYWwgZGVmaW5pdGlv
bnMgZm9yIElDVS4KICogICBBbGwgb2YgdGhlc2UgZGVmaW5pdGlvbnMgdXNlZCB0byBiZSBpbiB1
dHlwZXMuaCBiZWZvcmUKQEAgLTExNiw2ICsxMTYsNDAgQEAKIC8qKiBUaGlzIGlzIHVzZWQgdG8g
ZGVjbGFyZSBhIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIElDVSBDIEFQSSAgKi8KICNkZWZpbmUg
VV9JTlRFUk5BTCBVX0NBUEkKIAorLyoqCisgKiBcZGVmIFVfT1ZFUlJJREUKKyAqIERlZmluZWQg
dG8gdGhlIEMrKzExICJvdmVycmlkZSIga2V5d29yZCBpZiBhdmFpbGFibGUuCisgKiBEZW5vdGVz
IGEgY2xhc3Mgb3IgbWVtYmVyIHdoaWNoIGlzIGFuIG92ZXJyaWRlIG9mIHRoZSBiYXNlIGNsYXNz
LgorICogTWF5IHJlc3VsdCBpbiBhbiBlcnJvciBpZiBpdCBhcHBsaWVkIHRvIHNvbWV0aGluZyBu
b3QgYW4gb3ZlcnJpZGUuCisgKiBAaW50ZXJuYWwKKyAqLworCisvKioKKyAqIFxkZWYgVV9GSU5B
TAorICogRGVmaW5lZCB0byB0aGUgQysrMTEgImZpbmFsIiBrZXl3b3JkIGlmIGF2YWlsYWJsZS4K
KyAqIERlbm90ZXMgYSBjbGFzcyBvciBtZW1iZXIgd2hpY2ggbWF5IG5vdCBiZSBvdmVycmlkZGVu
IGluIHN1YmNsYXNzZXMuCisgKiBNYXkgcmVzdWx0IGluIGFuIGVycm9yIGlmIHN1YmNsYXNzZXMg
YXR0ZW1wdCB0byBvdmVycmlkZS4KKyAqIEBpbnRlcm5hbAorICovCisKKyNpZiBkZWZpbmVkKF9f
Y3BsdXNwbHVzKSAmJiBfX2NwbHVzcGx1cz49MjAxMTAzTAorLyogQysrMTEgKi8KKyNpZm5kZWYg
VV9PVkVSUklERQorI2RlZmluZSBVX09WRVJSSURFIG92ZXJyaWRlCisjZW5kaWYKKyNpZm5kZWYg
VV9GSU5BTAorI2RlZmluZSBVX0ZJTkFMIGZpbmFsCisjZW5kaWYKKyNlbHNlCisvKiBub3QgQysr
MTEgLSBkZWZpbmUgdG8gbm90aGluZyAqLworI2lmbmRlZiBVX09WRVJSSURFCisjZGVmaW5lIFVf
T1ZFUlJJREUKKyNlbmRpZgorI2lmbmRlZiBVX0ZJTkFMCisjZGVmaW5lIFVfRklOQUwKKyNlbmRp
ZgorI2VuZGlmCisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogLyogbGltaXRzIGZvciBpbnQzMl90
IGV0Yy4sIGxpa2UgaW4gUE9TSVggaW50dHlwZXMuaCAgICAgICAgICAgICAgICAgICAgICAgICov
CiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pY3UvdW5pY29kZS91bnVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUv
dW51bS5oCmluZGV4IGRjZTc3MzMyZTk2YzViOGJlNTZmYTgxMTE3ZjEzZWVmNTA5MmUzN2UuLjQ3
ODA4OWZmMTA0NjhhMGNjZDA1NDViYjEzZDY2YjY5NDc1ZDYwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91bnVtLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ljdS91bmljb2RlL3VudW0uaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0qIENvcHlyaWdodCAoQykgMTk5Ny0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1
c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisqIENvcHlyaWdodCAoQykg
MTk5Ny0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFu
ZCBvdGhlcnMuCiAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqIE1vZGlmaWNhdGlvbiBIaXN0b3J5
OgogKgpAQCAtMTgsOSArMTgsMTEgQEAKIAogI2luY2x1ZGUgInVuaWNvZGUvbG9jYWxwb2ludGVy
LmgiCiAjaW5jbHVkZSAidW5pY29kZS91bG9jLmgiCisjaW5jbHVkZSAidW5pY29kZS91Y3Vyci5o
IgogI2luY2x1ZGUgInVuaWNvZGUvdW1pc2MuaCIKICNpbmNsdWRlICJ1bmljb2RlL3BhcnNlZXJy
LmgiCiAjaW5jbHVkZSAidW5pY29kZS91Zm9ybWF0dGFibGUuaCIKKyNpbmNsdWRlICJ1bmljb2Rl
L3VkaXNwbGF5Y29udGV4dC5oIgogCiAvKioKICAqIFxmaWxlCkBAIC0xNDksNTggKzE1MSw3OCBA
QCB0eXBlZGVmIGVudW0gVU51bWJlckZvcm1hdFN0eWxlIHsKICAgICAgKiBDdXJyZW5jeSBmb3Jt
YXQgd2l0aCBhIGN1cnJlbmN5IHN5bWJvbCwgZS5nLiwgIiQxLjAwIi4KICAgICAgKiBAc3RhYmxl
IElDVSAyLjAKICAgICAgKi8KLSAgICBVTlVNX0NVUlJFTkNZLAorICAgIFVOVU1fQ1VSUkVOQ1k9
MiwKICAgICAvKioKICAgICAgKiBQZXJjZW50IGZvcm1hdAogICAgICAqIEBzdGFibGUgSUNVIDIu
MAogICAgICAqLwotICAgIFVOVU1fUEVSQ0VOVCwKKyAgICBVTlVNX1BFUkNFTlQ9MywKICAgICAv
KioKICAgICAgKiBTY2llbnRpZmljIGZvcm1hdAogICAgICAqIEBzdGFibGUgSUNVIDIuMQogICAg
ICAqLwotICAgIFVOVU1fU0NJRU5USUZJQywKKyAgICBVTlVNX1NDSUVOVElGSUM9NCwKICAgICAv
KioKLSAgICAgKiBTcGVsbG91dCBydWxlLWJhc2VkIGZvcm1hdAorICAgICAqIFNwZWxsb3V0IHJ1
bGUtYmFzZWQgZm9ybWF0LiBUaGUgZGVmYXVsdCBydWxlc2V0IGNhbiBiZSBzcGVjaWZpZWQvY2hh
bmdlZCB1c2luZworICAgICAqIHVudW1fc2V0VGV4dEF0dHJpYnV0ZSB3aXRoIFVOVU1fREVGQVVM
VF9SVUxFU0VUOyB0aGUgYXZhaWxhYmxlIHB1YmxpYyBydWxlc2V0cworICAgICAqIGNhbiBiZSBs
aXN0ZWQgdXNpbmcgdW51bV9nZXRUZXh0QXR0cmlidXRlIHdpdGggVU5VTV9QVUJMSUNfUlVMRVNF
VFMuCiAgICAgICogQHN0YWJsZSBJQ1UgMi4wCiAgICAgICovCi0gICAgVU5VTV9TUEVMTE9VVCwK
KyAgICBVTlVNX1NQRUxMT1VUPTUsCiAgICAgLyoqIAotICAgICAqIE9yZGluYWwgcnVsZS1iYXNl
ZCBmb3JtYXQgCisgICAgICogT3JkaW5hbCBydWxlLWJhc2VkIGZvcm1hdCAuIFRoZSBkZWZhdWx0
IHJ1bGVzZXQgY2FuIGJlIHNwZWNpZmllZC9jaGFuZ2VkIHVzaW5nCisgICAgICogdW51bV9zZXRU
ZXh0QXR0cmlidXRlIHdpdGggVU5VTV9ERUZBVUxUX1JVTEVTRVQ7IHRoZSBhdmFpbGFibGUgcHVi
bGljIHJ1bGVzZXRzCisgICAgICogY2FuIGJlIGxpc3RlZCB1c2luZyB1bnVtX2dldFRleHRBdHRy
aWJ1dGUgd2l0aCBVTlVNX1BVQkxJQ19SVUxFU0VUUy4KICAgICAgKiBAc3RhYmxlIElDVSAzLjAK
ICAgICAgKi8KLSAgICBVTlVNX09SRElOQUwsCisgICAgVU5VTV9PUkRJTkFMPTYsCiAgICAgLyoq
IAogICAgICAqIER1cmF0aW9uIHJ1bGUtYmFzZWQgZm9ybWF0IAogICAgICAqIEBzdGFibGUgSUNV
IDMuMAogICAgICAqLwotICAgIFVOVU1fRFVSQVRJT04sCisgICAgVU5VTV9EVVJBVElPTj03LAog
ICAgIC8qKiAKICAgICAgKiBOdW1iZXJpbmcgc3lzdGVtIHJ1bGUtYmFzZWQgZm9ybWF0CiAgICAg
ICogQHN0YWJsZSBJQ1UgNC4yCiAgICAgICovCi0gICAgVU5VTV9OVU1CRVJJTkdfU1lTVEVNLAor
ICAgIFVOVU1fTlVNQkVSSU5HX1NZU1RFTT04LAogICAgIC8qKiAKICAgICAgKiBSdWxlLWJhc2Vk
IGZvcm1hdCBkZWZpbmVkIGJ5IGEgcGF0dGVybiBzdHJpbmcuCiAgICAgICogQHN0YWJsZSBJQ1Ug
My4wCiAgICAgICovCi0gICAgVU5VTV9QQVRURVJOX1JVTEVCQVNFRCwKKyAgICBVTlVNX1BBVFRF
Uk5fUlVMRUJBU0VEPTksCiAgICAgLyoqCiAgICAgICogQ3VycmVuY3kgZm9ybWF0IHdpdGggYW4g
SVNPIGN1cnJlbmN5IGNvZGUsIGUuZy4sICJVU0QxLjAwIi4KICAgICAgKiBAc3RhYmxlIElDVSA0
LjgKICAgICAgKi8KLSAgICBVTlVNX0NVUlJFTkNZX0lTTywKKyAgICBVTlVNX0NVUlJFTkNZX0lT
Tz0xMCwKICAgICAvKioKICAgICAgKiBDdXJyZW5jeSBmb3JtYXQgd2l0aCBhIHBsdXJhbGl6ZWQg
Y3VycmVuY3kgbmFtZSwKICAgICAgKiBlLmcuLCAiMS4wMCBVUyBkb2xsYXIiIGFuZCAiMy4wMCBV
UyBkb2xsYXJzIi4KICAgICAgKiBAc3RhYmxlIElDVSA0LjgKICAgICAgKi8KLSAgICBVTlVNX0NV
UlJFTkNZX1BMVVJBTCwKKyAgICBVTlVNX0NVUlJFTkNZX1BMVVJBTD0xMSwKKyAgICAvKioKKyAg
ICAgKiBDdXJyZW5jeSBmb3JtYXQgZm9yIGFjY291bnRpbmcsIGUuZy4sICIoJDMuMDApIiBmb3IK
KyAgICAgKiBuZWdhdGl2ZSBjdXJyZW5jeSBhbW91bnQgaW5zdGVhZCBvZiAiLSQzLjAwIiAoe0Bs
aW5rICNVTlVNX0NVUlJFTkNZfSkuCisgICAgICogQHN0YWJsZSBJQ1UgNTMKKyAgICAgKi8KKyAg
ICBVTlVNX0NVUlJFTkNZX0FDQ09VTlRJTkc9MTIsCisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkK
KyAgICAvKioKKyAgICAgKiBDdXJyZW5jeSBmb3JtYXQgd2l0aCBhIGN1cnJlbmN5IHN5bWJvbCBn
aXZlbiBDQVNIIHVzYWdlLCBlLmcuLCAKKyAgICAgKiAiTlQkMyIgaW5zdGVhZCBvZiAiTlQkMy4y
MyIuCisgICAgICogQGRyYWZ0IElDVSA1NAorICAgICAqLworICAgIFVOVU1fQ0FTSF9DVVJSRU5D
WT0xMywKKyNlbmRpZiAvKiBVX0hJREVfRFJBRlRfQVBJICovCisKICAgICAvKioKICAgICAgKiBP
bmUgbW9yZSB0aGFuIHRoZSBoaWdoZXN0IG51bWJlciBmb3JtYXQgc3R5bGUgY29uc3RhbnQuCiAg
ICAgICogQHN0YWJsZSBJQ1UgNC44CiAgICAgICovCi0gICAgVU5VTV9GT1JNQVRfU1RZTEVfQ09V
TlQsCisgICAgVU5VTV9GT1JNQVRfU1RZTEVfQ09VTlQ9MTQsCisKICAgICAvKioKICAgICAgKiBE
ZWZhdWx0IGZvcm1hdAogICAgICAqIEBzdGFibGUgSUNVIDIuMApAQCAtMjUyLDE5ICsyNzQsMTcg
QEAgdHlwZWRlZiBlbnVtIFVOdW1iZXJGb3JtYXRQYWRQb3NpdGlvbiB7CiAgICAgVU5VTV9QQURf
QUZURVJfU1VGRklYCiB9IFVOdW1iZXJGb3JtYXRQYWRQb3NpdGlvbjsKIAotI2lmbmRlZiBVX0hJ
REVfRFJBRlRfQVBJCiAvKioKICAqIENvbnN0YW50cyBmb3Igc3BlY2lmeWluZyBzaG9ydCBvciBs
b25nIGZvcm1hdC4KLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KIHR5
cGVkZWYgZW51bSBVTnVtYmVyQ29tcGFjdFN0eWxlIHsKLSAgLyoqIEBkcmFmdCBJQ1UgNTEgKi8K
KyAgLyoqIEBzdGFibGUgSUNVIDUxICovCiAgIFVOVU1fU0hPUlQsCi0gIC8qKiBAZHJhZnQgSUNV
IDUxICovCisgIC8qKiBAc3RhYmxlIElDVSA1MSAqLwogICBVTlVNX0xPTkcKLSAgLyoqIEBkcmFm
dCBJQ1UgNTEgKi8KKyAgLyoqIEBzdGFibGUgSUNVIDUxICovCiB9IFVOdW1iZXJDb21wYWN0U3R5
bGU7Ci0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAvKioKICAqIENvbnN0YW50cyBm
b3Igc3BlY2lmeWluZyBjdXJyZW5jeSBzcGFjaW5nCkBAIC0zMjMsNyArMzQzLDkgQEAgdHlwZWRl
ZiBlbnVtIFVOdW1iZXJGb3JtYXRGaWVsZHMgewogICogVGhlIGNhbGxlciBtdXN0IGNhbGwge0Bs
aW5rICN1bnVtX2Nsb3NlIH0gd2hlbiBkb25lIHRvIHJlbGVhc2UgcmVzb3VyY2VzCiAgKiB1c2Vk
IGJ5IHRoaXMgb2JqZWN0LgogICogQHBhcmFtIHN0eWxlIFRoZSB0eXBlIG9mIG51bWJlciBmb3Jt
YXQgdG8gb3Blbjogb25lIG9mCi0gKiBVTlVNX0RFQ0lNQUwsIFVOVU1fQ1VSUkVOQ1ksIFVOVU1f
UEVSQ0VOVCwgVU5VTV9TQ0lFTlRJRklDLCBVTlVNX1NQRUxMT1VULAorICogVU5VTV9ERUNJTUFM
LCBVTlVNX0NVUlJFTkNZLCBVTlVNX1BFUkNFTlQsIFVOVU1fU0NJRU5USUZJQywKKyAqIFVOVU1f
Q1VSUkVOQ1lfSVNPLCBVTlVNX0NVUlJFTkNZX1BMVVJBTCwgVU5VTV9TUEVMTE9VVCwKKyAqIFVO
VU1fT1JESU5BTCwgVU5VTV9EVVJBVElPTiwgVU5VTV9OVU1CRVJJTkdfU1lTVEVNLAogICogVU5V
TV9QQVRURVJOX0RFQ0lNQUwsIFVOVU1fUEFUVEVSTl9SVUxFQkFTRUQsIG9yIFVOVU1fREVGQVVM
VC4KICAqIElmIFVOVU1fUEFUVEVSTl9ERUNJTUFMIG9yIFVOVU1fUEFUVEVSTl9SVUxFQkFTRUQg
aXMgcGFzc2VkIHRoZW4gdGhlCiAgKiBudW1iZXIgZm9ybWF0IGlzIG9wZW5lZCB1c2luZyB0aGUg
Z2l2ZW4gcGF0dGVybiwgd2hpY2ggbXVzdCBjb25mb3JtCkBAIC01NjIsNyArNTg0LDYgQEAgdW51
bV9mb3JtYXREb3VibGVDdXJyZW5jeShjb25zdCBVTnVtYmVyRm9ybWF0KiBmbXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFVGaWVsZFBvc2l0aW9uKiBwb3MsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQ
SQogLyoqCiAgKiBGb3JtYXQgYSBVRm9ybWF0dGFibGUgaW50byBhIHN0cmluZy4KICAqIEBwYXJh
bSBmbXQgdGhlIGZvcm1hdHRlciB0byB1c2UKQEAgLTU4MSwxNiArNjAyLDE1IEBAIHVudW1fZm9y
bWF0RG91YmxlQ3VycmVuY3koY29uc3QgVU51bWJlckZvcm1hdCogZm10LAogICogQHJldHVybiB0
aGUgdG90YWwgYnVmZmVyIHNpemUgbmVlZGVkOyBpZiBncmVhdGVyIHRoYW4gcmVzdWx0TGVuZ3Ro
LAogICogdGhlIG91dHB1dCB3YXMgdHJ1bmNhdGVkLiBXaWxsIHJldHVybiAwIG9uIGVycm9yLgog
ICogQHNlZSB1bnVtX3BhcnNlVG9VRm9ybWF0dGFibGUKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBz
dGFibGUgSUNVIDUyCiAgKi8KLVVfRFJBRlQgaW50MzJfdCBVX0VYUE9SVDIKK1VfU1RBQkxFIGlu
dDMyX3QgVV9FWFBPUlQyCiB1bnVtX2Zvcm1hdFVGb3JtYXR0YWJsZShjb25zdCBVTnVtYmVyRm9y
bWF0KiBmbXQsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBVRm9ybWF0dGFibGUgKm51
bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgIFVDaGFyICpyZXN1bHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQzMl90IHJlc3VsdExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgIFVGaWVsZFBvc2l0aW9uICpwb3MsCiAgICAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JD
b2RlICpzdGF0dXMpOwotI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCiAKIC8qKgogKiBQ
YXJzZSBhIHN0cmluZyBpbnRvIGFuIGludGVnZXIgdXNpbmcgYSBVTnVtYmVyRm9ybWF0LgpAQCAt
NzI2LDcgKzc0Niw2IEBAIHVudW1fcGFyc2VEb3VibGVDdXJyZW5jeShjb25zdCBVTnVtYmVyRm9y
bWF0KiBmbXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgVUNoYXIqIGN1cnJlbmN5LAogICAg
ICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKLSNpZm5kZWYgVV9I
SURFX0RSQUZUX0FQSQogLyoqCiAgKiBQYXJzZSBhIFVDaGFyIHN0cmluZyBpbnRvIGEgVUZvcm1h
dHRhYmxlLgogICogRXhhbXBsZSBjb2RlOgpAQCAtNzQzLDE2ICs3NjIsMTUgQEAgdW51bV9wYXJz
ZURvdWJsZUN1cnJlbmN5KGNvbnN0IFVOdW1iZXJGb3JtYXQqIGZtdCwKICAqIEByZXR1cm4gdGhl
IFVGb3JtYXR0YWJsZS4gIFdpbGwgYmUgPT1yZXN1bHQgdW5sZXNzIE5VTEwgd2FzIHBhc3NlZCBp
biBmb3IgcmVzdWx0LCBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUgdGhlIG5ld2x5IG9wZW5lZCBV
Rm9ybWF0dGFibGUuCiAgKiBAc2VlIHVmbXRfZ2V0VHlwZQogICogQHNlZSB1Zm10X2Nsb3NlCi0g
KiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICovCi1VX0RSQUZUIFVGb3JtYXR0
YWJsZSogVV9FWFBPUlQyCitVX1NUQUJMRSBVRm9ybWF0dGFibGUqIFVfRVhQT1JUMgogdW51bV9w
YXJzZVRvVUZvcm1hdHRhYmxlKGNvbnN0IFVOdW1iZXJGb3JtYXQqIGZtdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICBVRm9ybWF0dGFibGUgKnJlc3VsdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBVQ2hhciogdGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90
IHRleHRMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCogcGFyc2VQb3Ms
IC8qIDAgPSBzdGFydCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIHN0
YXR1cyk7Ci0jZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KIAogLyoqCiAgKiBTZXQgdGhl
IHBhdHRlcm4gdXNlZCBieSBhIFVOdW1iZXJGb3JtYXQuICBUaGlzIGNhbiBvbmx5IGJlIHVzZWQK
QEAgLTgwNSwxNiArODIzLDE5IEBAIFVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCiB1bnVtX2Nv
dW50QXZhaWxhYmxlKHZvaWQpOwogCiAjaWYgVUNPTkZJR19IQVZFX1BBUlNFQUxMSU5QVVQKKy8q
IFRoZSBVTnVtYmVyRm9ybWF0QXR0cmlidXRlVmFsdWUgdHlwZSBjYW5ub3QgYmUgI2lmbmRlZiBV
X0hJREVfSU5URVJOQUxfQVBJLCBuZWVkZWQgZm9yIC5oIHZhcmlhYmxlIGRlY2xhcmF0aW9uICov
CiAvKioKICAqIEBpbnRlcm5hbAogICovCiB0eXBlZGVmIGVudW0gVU51bWJlckZvcm1hdEF0dHJp
YnV0ZVZhbHVlIHsKKyNpZm5kZWYgVV9ISURFX0lOVEVSTkFMX0FQSQogICAvKiogQGludGVybmFs
ICovCiAgIFVOVU1fTk8gPSAwLAogICAvKiogQGludGVybmFsICovCiAgIFVOVU1fWUVTID0gMSwK
ICAgLyoqIEBpbnRlcm5hbCAqLwogICBVTlVNX01BWUJFID0gMgorI2VuZGlmIC8qIFVfSElERV9J
TlRFUk5BTF9BUEkgKi8KIH0gVU51bWJlckZvcm1hdEF0dHJpYnV0ZVZhbHVlOwogI2VuZGlmCiAK
QEAgLTg3Miw3ICs4OTMsNiBAQCB0eXBlZGVmIGVudW0gVU51bWJlckZvcm1hdEF0dHJpYnV0ZSB7
CiAgICAqLwogICBVTlVNX1BBUlNFX0FMTF9JTlBVVCA9IFVOVU1fTEVOSUVOVF9QQVJTRSArIDEs
CiAjZW5kaWYKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQogICAvKiogCiAgICAgKiBTY2FsZSwg
d2hpY2ggYWRqdXN0cyB0aGUgcG9zaXRpb24gb2YgdGhlCiAgICAgKiBkZWNpbWFsIHBvaW50IHdo
ZW4gZm9ybWF0dGluZy4gIEFtb3VudHMgd2lsbCBiZSBtdWx0aXBsaWVkIGJ5IDEwIF4gKHNjYWxl
KQpAQCAtODgxLDIwICs5MDEsMzAgQEAgdHlwZWRlZiBlbnVtIFVOdW1iZXJGb3JtYXRBdHRyaWJ1
dGUgewogICAgICogPHA+RXhhbXBsZTogc2V0dGluZyB0aGUgc2NhbGUgdG8gMywgMTIzIGZvcm1h
dHMgYXMgIjEyMywwMDAiCiAgICAgKiA8cD5FeGFtcGxlOiBzZXR0aW5nIHRoZSBzY2FsZSB0byAt
NCwgMTIzIGZvcm1hdHMgYXMgIjAuMDEyMyIKICAgICAqCi0gICAqIEBkcmFmdCBJQ1UgNTEgKi8K
KyAgICogQHN0YWJsZSBJQ1UgNTEgKi8KICAgVU5VTV9TQ0FMRSA9IFVOVU1fTEVOSUVOVF9QQVJT
RSArIDIsCi0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAjaWZuZGVmIFVfSElERV9J
TlRFUk5BTF9BUEkKICAgLyoqIENvdW50IG9mICJyZWd1bGFyIiBudW1lcmljIGF0dHJpYnV0ZXMu
CiAgICAqIEBpbnRlcm5hbCAqLwogICBVTlVNX05VTUVSSUNfQVRUUklCVVRFX0NPVU5UID0gVU5V
TV9MRU5JRU5UX1BBUlNFICsgMywKKyNlbmRpZiAgLyogVV9ISURFX0lOVEVSTkFMX0FQSSAqLwor
CisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgLyoqIAorICAgKiBpZiB0aGlzIGF0dHJpYnV0
ZSBpcyBzZXQgdG8gMCwgaXQgaXMgc2V0IHRvIFVOVU1fQ1VSUkVOQ1lfU1RBTkRBUkQgcHVycG9z
ZSwKKyAgICogb3RoZXJ3aXNlIGl0IGlzIFVOVU1fQ1VSUkVOQ1lfQ0FTSCBwdXJwb3NlCisgICAq
IERlZmF1bHQ6IDAgKFVOVU1fQ1VSUkVOQ1lfU1RBTkRBUkQgcHVycG9zZSkKKyAgICogQGRyYWZ0
IElDVSA1NAorICAgKi8KKyAgVU5VTV9DVVJSRU5DWV9VU0FHRSA9IFVOVU1fTEVOSUVOVF9QQVJT
RSArIDQsCisjZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KIAorICAvKiBUaGUgZm9sbG93
aW5nIGNhbm5vdCBiZSAjaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEksIG5lZWRlZCBpbiAuaCBm
aWxlIHZhcmlhYmxlIGRlY2xhcmFyaW9ucyAqLwogICAvKiogT25lIGJlbG93IHRoZSBmaXJzdCBi
aXRmaWVsZC1ib29sZWFuIGl0ZW0uCiAgICAqIEFsbCBpdGVtcyBhZnRlciB0aGlzIG9uZSBhcmUg
c3RvcmVkIGluIGJvb2xlYW4gZm9ybS4KICAgICogQGludGVybmFsICovCiAgIFVOVU1fTUFYX05P
TkJPT0xFQU5fQVRUUklCVVRFID0gMHgwRkZGLAotI2VuZGlmICAvKiBVX0hJREVfSU5URVJOQUxf
QVBJICovCiAKICAgLyoqIElmIDEsIHNwZWNpZmllcyB0aGF0IGlmIHNldHRpbmcgdGhlICJtYXgg
aW50ZWdlciBkaWdpdHMiIGF0dHJpYnV0ZSB3b3VsZCB0cnVuY2F0ZSBhIHZhbHVlLCBzZXQgYW4g
ZXJyb3Igc3RhdHVzIHJhdGhlciB0aGFuIHNpbGVudGx5IHRydW5jYXRpbmcuCiAgICAqIEZvciBl
eGFtcGxlLCAgZm9ybWF0dGluZyB0aGUgdmFsdWUgMTIzNCB3aXRoIDQgbWF4IGludCBkaWdpdHMg
d291bGQgc3VjY2VlZCwgYnV0IGZvcm1hdHRpbmcgMTIzNDUgd291bGQgZmFpbC4gVGhlcmUgaXMg
bm8gZWZmZWN0IG9uIHBhcnNpbmcuCkBAIC05MTAsMTEgKzk0MCwyMiBAQCB0eXBlZGVmIGVudW0g
VU51bWJlckZvcm1hdEF0dHJpYnV0ZSB7CiAgICAqLwogICBVTlVNX1BBUlNFX05PX0VYUE9ORU5U
LAogCi0jaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEkKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQ
SQorICAvKiogCisgICAqIGlmIHRoaXMgYXR0cmlidXRlIGlzIHNldCB0byAxLCBzcGVjaWZpZXMg
dGhhdCwgaWYgdGhlIHBhdHRlcm4gY29udGFpbnMgYSAKKyAgICogZGVjaW1hbCBtYXJrIHRoZSBp
bnB1dCBpcyByZXF1aXJlZCB0byBoYXZlIG9uZS4gSWYgdGhpcyBhdHRyaWJ1dGUgaXMgc2V0IHRv
IDAsCisgICAqIHNwZWNpZmllcyB0aGF0IGlucHV0IGRvZXMgbm90IGhhdmUgdG8gY29udGFpbiBh
IGRlY2ltYWwgbWFyay4KKyAgICogSGFzIG5vIGVmZmVjdCBvbiBmb3JtYXR0aW5nLgorICAgKiBE
ZWZhdWx0OiAwICh1bnNldCkKKyAgICogQGRyYWZ0IElDVSA1NAorICAgKi8KKyAgVU5VTV9QQVJT
RV9ERUNJTUFMX01BUktfUkVRVUlSRUQgPSBVTlVNX1BBUlNFX05PX0VYUE9ORU5UKzEsCisjZW5k
aWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKworICAvKiBUaGUgZm9sbG93aW5nIGNhbm5vdCBi
ZSAjaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEksIG5lZWRlZCBpbiAuaCBmaWxlIHZhcmlhYmxl
IGRlY2xhcmFyaW9ucyAqLwogICAvKiogTGltaXQgb2YgYm9vbGVhbiBhdHRyaWJ1dGVzLgogICAg
KiBAaW50ZXJuYWwgKi8KLSAgVU5VTV9MSU1JVF9CT09MRUFOX0FUVFJJQlVURQotI2VuZGlmICAv
KiBVX0hJREVfSU5URVJOQUxfQVBJICovCisgIFVOVU1fTElNSVRfQk9PTEVBTl9BVFRSSUJVVEUg
PSBVTlVNX1BBUlNFX05PX0VYUE9ORU5UKzIKIH0gVU51bWJlckZvcm1hdEF0dHJpYnV0ZTsKIAog
LyoqCkBAIC0xMDE1LDE0ICsxMDU2LDIwIEBAIHR5cGVkZWYgZW51bSBVTnVtYmVyRm9ybWF0VGV4
dEF0dHJpYnV0ZSB7CiAgIC8qKiBUaGUgSVNPIGN1cnJlbmN5IGNvZGUgKi8KICAgVU5VTV9DVVJS
RU5DWV9DT0RFLAogICAvKioKLSAgICogVGhlIGRlZmF1bHQgcnVsZSBzZXQuICBUaGlzIGlzIG9u
bHkgYXZhaWxhYmxlIHdpdGggcnVsZS1iYXNlZCBmb3JtYXR0ZXJzLgorICAgKiBUaGUgZGVmYXVs
dCBydWxlIHNldCwgc3VjaCBhcyAiJXNwZWxsb3V0LW51bWJlcmluZy15ZWFyOiIsICIlc3BlbGxv
dXQtY2FyZGluYWw6IiwKKyAgICogIiVzcGVsbG91dC1vcmRpbmFsLW1hc2N1bGluZS1wbHVyYWw6
IiwgIiVzcGVsbG91dC1vcmRpbmFsLWZlbWluaW5lOiIsIG9yCisgICAqICIlc3BlbGxvdXQtb3Jk
aW5hbC1uZXV0ZXI6Ii4gVGhlIGF2YWlsYWJsZSBwdWJsaWMgcnVsZXNldHMgY2FuIGJlIGxpc3Rl
ZCB1c2luZworICAgKiB1bnVtX2dldFRleHRBdHRyaWJ1dGUgd2l0aCBVTlVNX1BVQkxJQ19SVUxF
U0VUUy4gVGhpcyBpcyBvbmx5IGF2YWlsYWJsZSB3aXRoCisgICAqIHJ1bGUtYmFzZWQgZm9ybWF0
dGVycy4KICAgICogQHN0YWJsZSBJQ1UgMy4wCiAgICAqLwogICBVTlVNX0RFRkFVTFRfUlVMRVNF
VCwKICAgLyoqCiAgICAqIFRoZSBwdWJsaWMgcnVsZSBzZXRzLiAgVGhpcyBpcyBvbmx5IGF2YWls
YWJsZSB3aXRoIHJ1bGUtYmFzZWQgZm9ybWF0dGVycy4KICAgICogVGhpcyBpcyBhIHJlYWQtb25s
eSBhdHRyaWJ1dGUuICBUaGUgcHVibGljIHJ1bGVzZXRzIGFyZSByZXR1cm5lZCBhcyBhCi0gICAq
IHNpbmdsZSBzdHJpbmcsIHdpdGggZWFjaCBydWxlc2V0IG5hbWUgZGVsaW1pdGVkIGJ5ICc7JyAo
c2VtaWNvbG9uKS4KKyAgICogc2luZ2xlIHN0cmluZywgd2l0aCBlYWNoIHJ1bGVzZXQgbmFtZSBk
ZWxpbWl0ZWQgYnkgJzsnIChzZW1pY29sb24pLiBTZWUgdGhlCisgICAqIENMRFIgTERNTCBzcGVj
IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IFJCTkYgcnVsZXNldHM6CisgICAqIGh0dHA6Ly93
d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjM1L3RyMzUtbnVtYmVycy5odG1sI1J1bGUtQmFzZWRf
TnVtYmVyX0Zvcm1hdHRpbmcKICAgICogQHN0YWJsZSBJQ1UgMy4wCiAgICAqLwogICBVTlVNX1BV
QkxJQ19SVUxFU0VUUwpAQCAtMTE4MCw4ICsxMjI3LDE2IEBAIHR5cGVkZWYgZW51bSBVTnVtYmVy
Rm9ybWF0U3ltYm9sIHsKICAgICogQHN0YWJsZSBJQ1UgNC42CiAgICAqLwogICBVTlVNX05JTkVf
RElHSVRfU1lNQk9MID0gMjYsCisKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAvKiogTXVs
dGlwbGljYXRpb24gc2lnbgorICAgKiBAZHJhZnQgSUNVIDU0CisgICAqLworICBVTlVNX0VYUE9O
RU5UX01VTFRJUExJQ0FUSU9OX1NZTUJPTCA9IDI3LAorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRf
QVBJICovCisKICAgLyoqIGNvdW50IHN5bWJvbCBjb25zdGFudHMgKi8KLSAgVU5VTV9GT1JNQVRf
U1lNQk9MX0NPVU5UID0gMjcKKyAgVU5VTV9GT1JNQVRfU1lNQk9MX0NPVU5UID0gMjgKIH0gVU51
bWJlckZvcm1hdFN5bWJvbDsKIAogLyoqCkBAIC0xMjQyLDYgKzEyOTcsMjkgQEAgdW51bV9nZXRM
b2NhbGVCeVR5cGUoY29uc3QgVU51bWJlckZvcm1hdCAqZm10LAogICAgICAgICAgICAgICAgICAg
ICAgVUxvY0RhdGFMb2NhbGVUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JD
b2RlKiBzdGF0dXMpOyAKIAorLyoqCisgKiBTZXQgYSBwYXJ0aWN1bGFyIFVEaXNwbGF5Q29udGV4
dCB2YWx1ZSBpbiB0aGUgZm9ybWF0dGVyLCBzdWNoIGFzCisgKiBVRElTUENUWF9DQVBJVEFMSVpB
VElPTl9GT1JfU1RBTkRBTE9ORS4KKyAqIEBwYXJhbSBmbXQgVGhlIGZvcm1hdHRlciBmb3Igd2hp
Y2ggdG8gc2V0IGEgVURpc3BsYXlDb250ZXh0IHZhbHVlLgorICogQHBhcmFtIHZhbHVlIFRoZSBV
RGlzcGxheUNvbnRleHQgdmFsdWUgdG8gc2V0LgorICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIg
dG8gYW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKKyAqIEBzdGFibGUgSUNVIDUz
CisgKi8KK1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCit1bnVtX3NldENvbnRleHQoVU51bWJlckZv
cm1hdCogZm10LCBVRGlzcGxheUNvbnRleHQgdmFsdWUsIFVFcnJvckNvZGUqIHN0YXR1cyk7CisK
Ky8qKgorICogR2V0IHRoZSBmb3JtYXR0ZXIncyBVRGlzcGxheUNvbnRleHQgdmFsdWUgZm9yIHRo
ZSBzcGVjaWZpZWQgVURpc3BsYXlDb250ZXh0VHlwZSwKKyAqIHN1Y2ggYXMgVURJU1BDVFhfVFlQ
RV9DQVBJVEFMSVpBVElPTi4KKyAqIEBwYXJhbSBmbXQgVGhlIGZvcm1hdHRlciB0byBxdWVyeS4K
KyAqIEBwYXJhbSB0eXBlIFRoZSBVRGlzcGxheUNvbnRleHRUeXBlIHdob3NlIHZhbHVlIHRvIHJl
dHVybgorICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYW4gVUVycm9yQ29kZSB0byByZWNl
aXZlIGFueSBlcnJvcnMKKyAqIEByZXR1cm4gVGhlIFVEaXNwbGF5Q29udGV4dFZhbHVlIGZvciB0
aGUgc3BlY2lmaWVkIHR5cGUuCisgKiBAc3RhYmxlIElDVSA1MworICovCitVX1NUQUJMRSBVRGlz
cGxheUNvbnRleHQgVV9FWFBPUlQyCit1bnVtX2dldENvbnRleHQoY29uc3QgVU51bWJlckZvcm1h
dCAqZm10LCBVRGlzcGxheUNvbnRleHRUeXBlIHR5cGUsIFVFcnJvckNvZGUqIHN0YXR1cyk7CisK
ICNlbmRpZiAvKiAjaWYgIVVDT05GSUdfTk9fRk9STUFUVElORyAqLwogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91bnVtc3lzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdW51bXN5cy5oCmluZGV4IDAyNjQ2M2U4MWE1
ZGZmYjlmMzc5OTc3OTViMDc1ZDc1MzhjNjY2MjEuLmY1YTJjNDNlOTI4ZWU4NmYzZGVlMjhkOTdl
MzM1NWExZDE2N2RhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5p
Y29kZS91bnVtc3lzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vu
dW1zeXMuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotKiBDb3B5cmlnaHQgKEMpIDIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGlu
ZXMKKyogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKICogQ29ycG9yYXRpb24gYW5kIG90aGVycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpAQCAtMzQsMTQgKzM0LDEyIEBACiAg
KiBudW1iZXJzIGxvY2FsZSBrZXl3b3JkLgogICovCiAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQ
SQotCiAvKioKICAqIE9wYXF1ZSBVTnVtYmVyaW5nU3lzdGVtIG9iamVjdCBmb3IgdXNlIGluIEMg
cHJvZ3JhbXMuCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICovCiBzdHJ1
Y3QgVU51bWJlcmluZ1N5c3RlbTsKLXR5cGVkZWYgc3RydWN0IFVOdW1iZXJpbmdTeXN0ZW0gVU51
bWJlcmluZ1N5c3RlbTsgIC8qKjwgQyB0eXBlZGVmIGZvciBzdHJ1Y3QgVU51bWJlcmluZ1N5c3Rl
bS4gQGRyYWZ0IElDVSA1MiAqLwordHlwZWRlZiBzdHJ1Y3QgVU51bWJlcmluZ1N5c3RlbSBVTnVt
YmVyaW5nU3lzdGVtOyAgLyoqPCBDIHR5cGVkZWYgZm9yIHN0cnVjdCBVTnVtYmVyaW5nU3lzdGVt
LiBAc3RhYmxlIElDVSA1MiAqLwogCiAvKioKICAqIE9wZW5zIGEgVU51bWJlcmluZ1N5c3RlbSBv
YmplY3QgdXNpbmcgdGhlIGRlZmF1bHQgbnVtYmVyaW5nIHN5c3RlbSBmb3IgdGhlIHNwZWNpZmll
ZApAQCAtNTIsOSArNTAsOSBAQCB0eXBlZGVmIHN0cnVjdCBVTnVtYmVyaW5nU3lzdGVtIFVOdW1i
ZXJpbmdTeXN0ZW07ICAvKio8IEMgdHlwZWRlZiBmb3Igc3RydWN0IFVOdQogICogICAgICAgICAg
ICAgICAgICBzcGVjaWZpZXMgYSBudW1iZXJpbmcgc3lzdGVtIHVua25vd24gdG8gSUNVLgogICog
QHJldHVybiAgICAgICAgICBBIFVOdW1iZXJpbmdTeXN0ZW0gZm9yIHRoZSBzcGVjaWZpZWQgbG9j
YWxlLCBvciBOVUxMIGlmIGFuIGVycm9yCiAgKiAgICAgICAgICAgICAgICAgIG9jY3VycmVkLgot
ICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqLwotVV9EUkFGVCBVTnVtYmVy
aW5nU3lzdGVtICogVV9FWFBPUlQyCitVX1NUQUJMRSBVTnVtYmVyaW5nU3lzdGVtICogVV9FWFBP
UlQyCiB1bnVtc3lzX29wZW4oY29uc3QgY2hhciAqbG9jYWxlLCBVRXJyb3JDb2RlICpzdGF0dXMp
OwogCiAvKioKQEAgLTczLDE3ICs3MSwxNyBAQCB1bnVtc3lzX29wZW4oY29uc3QgY2hhciAqbG9j
YWxlLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogICogICAgICAgICAgICAgICAgICBpcyB1bmtub3du
IHRvIElDVS4KICAqIEByZXR1cm4gICAgICAgICAgQSBVTnVtYmVyaW5nU3lzdGVtIGZvciB0aGUg
c3BlY2lmaWVkIG5hbWUsIG9yIE5VTEwgaWYgYW4gZXJyb3IKICAqICAgICAgICAgICAgICAgICAg
b2NjdXJyZWQuCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICovCi1VX0RS
QUZUIFVOdW1iZXJpbmdTeXN0ZW0gKiBVX0VYUE9SVDIKK1VfU1RBQkxFIFVOdW1iZXJpbmdTeXN0
ZW0gKiBVX0VYUE9SVDIKIHVudW1zeXNfb3BlbkJ5TmFtZShjb25zdCBjaGFyICpuYW1lLCBVRXJy
b3JDb2RlICpzdGF0dXMpOwogCiAvKioKICAqIENsb3NlIGEgVU51bWJlcmluZ1N5c3RlbSBvYmpl
Y3QuIE9uY2UgY2xvc2VkIGl0IG1heSBubyBsb25nZXIgYmUgdXNlZC4KICAqIEBwYXJhbSB1bnVt
c3lzICAgVGhlIFVOdW1iZXJpbmdTeXN0ZW0gb2JqZWN0IHRvIGNsb3NlLgotICogQGRyYWZ0IElD
VSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqLwotVV9EUkFGVCB2b2lkIFVfRVhQT1JUMgorVV9T
VEFCTEUgdm9pZCBVX0VYUE9SVDIKIHVudW1zeXNfY2xvc2UoVU51bWJlcmluZ1N5c3RlbSAqdW51
bXN5cyk7CiAKICNpZiBVX1NIT1dfQ1BMVVNQTFVTX0FQSQpAQCAtOTUsNyArOTMsNyBAQCBVX05B
TUVTUEFDRV9CRUdJTgogICogRm9yIG1vc3QgbWV0aG9kcyBzZWUgdGhlIExvY2FsUG9pbnRlckJh
c2UgYmFzZSBjbGFzcy4KICAqIEBzZWUgTG9jYWxQb2ludGVyQmFzZQogICogQHNlZSBMb2NhbFBv
aW50ZXIKLSAqIEBkcmFmdCBJQ1UgNTIKKyAqIEBzdGFibGUgSUNVIDUyCiAgKi8KIFVfREVGSU5F
X0xPQ0FMX09QRU5fUE9JTlRFUihMb2NhbFVOdW1iZXJpbmdTeXN0ZW1Qb2ludGVyLCBVTnVtYmVy
aW5nU3lzdGVtLCB1bnVtc3lzX2Nsb3NlKTsKIApAQCAtMTA4LDkgKzEwNiw5IEBAIFVfTkFNRVNQ
QUNFX0VORAogICogQHBhcmFtIHN0YXR1cyAgICBBIHBvaW50ZXIgdG8gYSBVRXJyb3JDb2RlIHRv
IHJlY2VpdmUgYW55IGVycm9ycy4KICAqIEByZXR1cm4gICAgICAgICAgQSBwb2ludGVyIHRvIGEg
VUVudW1lcmF0aW9uIHRoYXQgbXVzdCBiZSBjbG9zZWQgd2l0aCB1ZW51bV9jbG9zZSgpLAogICog
ICAgICAgICAgICAgICAgICBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VycmVkLgotICogQGRyYWZ0
IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqLwotVV9EUkFGVCBVRW51bWVyYXRpb24gKiBV
X0VYUE9SVDIKK1VfU1RBQkxFIFVFbnVtZXJhdGlvbiAqIFVfRVhQT1JUMgogdW51bXN5c19vcGVu
QXZhaWxhYmxlTmFtZXMoVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogLyoqCkBAIC0xMjAsOSArMTE4
LDkgQEAgdW51bXN5c19vcGVuQXZhaWxhYmxlTmFtZXMoVUVycm9yQ29kZSAqc3RhdHVzKTsKICAq
IEByZXR1cm4gICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpZWQg
VU51bWJlcmluZ1N5c3RlbSBvYmplY3QsIG9yCiAgKiAgICAgICAgICAgICAgICAgIE5VTEwgaWYg
dGhlIG5hbWUgaXMgbm90IG9uZSBvZiB0aGUgSUNVIHByZWRlZmluZWQgbmFtZXMuIFRoZSBwb2lu
dGVyCiAgKiAgICAgICAgICAgICAgICAgIGlzIG9ubHkgdmFsaWQgZm9yIHRoZSBsaWZldGltZSBv
ZiB0aGUgVU51bWJlcmluZ1N5c3RlbSBvYmplY3QuCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3Rh
YmxlIElDVSA1MgogICovCi1VX0RSQUZUIGNvbnN0IGNoYXIgKiBVX0VYUE9SVDIKK1VfU1RBQkxF
IGNvbnN0IGNoYXIgKiBVX0VYUE9SVDIKIHVudW1zeXNfZ2V0TmFtZShjb25zdCBVTnVtYmVyaW5n
U3lzdGVtICp1bnVtc3lzKTsKIAogLyoqCkBAIC0xMzEsOSArMTI5LDkgQEAgdW51bXN5c19nZXRO
YW1lKGNvbnN0IFVOdW1iZXJpbmdTeXN0ZW0gKnVudW1zeXMpOwogICogQHBhcmFtIHVudW1zeXMg
ICBUaGUgVU51bWJlcmluZ1N5c3RlbSB3aG9zZSBhbGdvcml0aG1pYyBzdGF0dXMgaXMgZGVzaXJl
ZC4KICAqIEByZXR1cm4gICAgICAgICAgVFJVRSBpZiB0aGUgc3BlY2lmaWVkIFVOdW1iZXJpbmdT
eXN0ZW0gb2JqZWN0IGlzIGZvciBhbiBhbGdvcml0aG1pYwogICogICAgICAgICAgICAgICAgICBz
eXN0ZW0uCi0gKiBAZHJhZnQgSUNVIDUyCisgKiBAc3RhYmxlIElDVSA1MgogICovCi1VX0RSQUZU
IFVCb29sIFVfRVhQT1JUMgorVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1bnVtc3lzX2lzQWxn
b3JpdGhtaWMoY29uc3QgVU51bWJlcmluZ1N5c3RlbSAqdW51bXN5cyk7CiAKIC8qKgpAQCAtMTQy
LDkgKzE0MCw5IEBAIHVudW1zeXNfaXNBbGdvcml0aG1pYyhjb25zdCBVTnVtYmVyaW5nU3lzdGVt
ICp1bnVtc3lzKTsKICAqIGhleGFkZWNpbWFsLiBUaGUgcmFkaXggaXMgbGVzcyB3ZWxsLWRlZmlu
ZWQgZm9yIG5vbi1wb3NpdGlvbmFsIGFsZ29yaXRobWljIHN5c3RlbXMuCiAgKiBAcGFyYW0gdW51
bXN5cyAgIFRoZSBVTnVtYmVyaW5nU3lzdGVtIHdob3NlIHJhZGl4IGlzIGRlc2lyZWQuCiAgKiBA
cmV0dXJuICAgICAgICAgIFRoZSByYWRpeCBvZiB0aGUgc3BlY2lmaWVkIFVOdW1iZXJpbmdTeXN0
ZW0gb2JqZWN0LgotICogQGRyYWZ0IElDVSA1MgorICogQHN0YWJsZSBJQ1UgNTIKICAqLwotVV9E
UkFGVCBpbnQzMl90IFVfRVhQT1JUMgorVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKIHVudW1z
eXNfZ2V0UmFkaXgoY29uc3QgVU51bWJlcmluZ1N5c3RlbSAqdW51bXN5cyk7CiAKIC8qKgpAQCAt
MTYxLDE0ICsxNTksMTIgQEAgdW51bXN5c19nZXRSYWRpeChjb25zdCBVTnVtYmVyaW5nU3lzdGVt
ICp1bnVtc3lzKTsKICAqIEBwYXJhbSBzdGF0dXMgICAgQSBwb2ludGVyIHRvIGEgVUVycm9yQ29k
ZSB0byByZWNlaXZlIGFueSBlcnJvcnMuCiAgKiBAcmV0dXJuICAgICAgICAgIFRoZSB0b3RhbCBi
dWZmZXIgc2l6ZSBuZWVkZWQ7IGlmIGdyZWF0ZXIgdGhhbiByZXN1bHRMZW5ndGgsIHRoZQogICog
ICAgICAgICAgICAgICAgICBvdXRwdXQgd2FzIHRydW5jYXRlZC4KLSAqIEBkcmFmdCBJQ1UgNTIK
KyAqIEBzdGFibGUgSUNVIDUyCiAgKi8KLVVfRFJBRlQgaW50MzJfdCBVX0VYUE9SVDIKK1VfU1RB
QkxFIGludDMyX3QgVV9FWFBPUlQyCiB1bnVtc3lzX2dldERlc2NyaXB0aW9uKGNvbnN0IFVOdW1i
ZXJpbmdTeXN0ZW0gKnVudW1zeXMsIFVDaGFyICpyZXN1bHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludDMyX3QgcmVzdWx0TGVuZ3RoLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogCi0jZW5kaWYg
IC8qIFVfSElERV9EUkFGVF9BUEkgKi8KLQogI2VuZGlmIC8qICNpZiAhVUNPTkZJR19OT19GT1JN
QVRUSU5HICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lj
dS91bmljb2RlL3VyZW5hbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91
cmVuYW1lLmgKaW5kZXggNmIxZjQ5MDk4NzUwNjliNGQ5ZmVlZmRkNzQ4M2Y1YTAzZmM1MDc1Zi4u
MzEzZjI3MWFiMzFlYTcxNzUxMmQ4NDU4YTdlZjUxNzBiNmUwMGRhYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VyZW5hbWUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXJlbmFtZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDIwMDItMjAxMywgSW50ZXJu
YXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwMi0yMDE1LCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0x
MDQsNyArMTA0LDcgQEAKICNkZWZpbmUgX1VURjdEYXRhIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RShfVVRGN0RhdGEpCiAjZGVmaW5lIF9VVEY4RGF0YSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
X1VURjhEYXRhKQogI2RlZmluZSBjbWVtb3J5X2NsZWFudXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKGNtZW1vcnlfY2xlYW51cCkKLSNkZWZpbmUgY21lbW9yeV9pblVzZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUoY21lbW9yeV9pblVzZSkKKyNkZWZpbmUgZ1RpbWVab25lRmlsZXNJbml0T25j
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoZ1RpbWVab25lRmlsZXNJbml0T25jZSkKICNkZWZp
bmUgaXpydWxlX2Nsb25lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShpenJ1bGVfY2xvbmUpCiAj
ZGVmaW5lIGl6cnVsZV9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoaXpydWxlX2Nsb3Nl
KQogI2RlZmluZSBpenJ1bGVfZXF1YWxzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShpenJ1bGVf
ZXF1YWxzKQpAQCAtMjAzLDYgKzIwMyw3IEBACiAjZGVmaW5lIHVfVUNoYXJzVG9DaGFycyBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV9VQ2hhcnNUb0NoYXJzKQogI2RlZmluZSB1X2F1c3RyY3B5
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2F1c3RyY3B5KQogI2RlZmluZSB1X2F1c3RybmNw
eSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9hdXN0cm5jcHkpCisjZGVmaW5lIHVfY2FzZUlu
c2Vuc2l0aXZlUHJlZml4TWF0Y2ggVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfY2FzZUluc2Vu
c2l0aXZlUHJlZml4TWF0Y2gpCiAjZGVmaW5lIHVfY2F0Y2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVfY2F0Y2xvc2UpCiAjZGVmaW5lIHVfY2F0Z2V0cyBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodV9jYXRnZXRzKQogI2RlZmluZSB1X2NhdG9wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVfY2F0b3BlbikKQEAgLTIzOSw2ICsyNDAsNyBAQAogI2RlZmluZSB1X2ZsdXNoRGVmYXVs
dENvbnZlcnRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mbHVzaERlZmF1bHRDb252ZXJ0
ZXIpCiAjZGVmaW5lIHVfZm9sZENhc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9sZENh
c2UpCiAjZGVmaW5lIHVfZm9wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9wZW4pCisj
ZGVmaW5lIHVfZm9wZW5fdSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb3Blbl91KQogI2Rl
ZmluZSB1X2ZvckRpZ2l0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2ZvckRpZ2l0KQogI2Rl
ZmluZSB1X2Zvcm1hdE1lc3NhZ2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9ybWF0TWVz
c2FnZSkKICNkZWZpbmUgdV9mb3JtYXRNZXNzYWdlV2l0aEVycm9yIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1X2Zvcm1hdE1lc3NhZ2VXaXRoRXJyb3IpCkBAIC0yNzAsNiArMjcyLDcgQEAKICNk
ZWZpbmUgdV9nZXRQcm9wZXJ0eU5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZ2V0UHJv
cGVydHlOYW1lKQogI2RlZmluZSB1X2dldFByb3BlcnR5VmFsdWVFbnVtIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1X2dldFByb3BlcnR5VmFsdWVFbnVtKQogI2RlZmluZSB1X2dldFByb3BlcnR5
VmFsdWVOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2dldFByb3BlcnR5VmFsdWVOYW1l
KQorI2RlZmluZSB1X2dldFRpbWVab25lRmlsZXNEaXJlY3RvcnkgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVfZ2V0VGltZVpvbmVGaWxlc0RpcmVjdG9yeSkKICNkZWZpbmUgdV9nZXRVbmljb2Rl
UHJvcGVydGllcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRVbmljb2RlUHJvcGVydGll
cykKICNkZWZpbmUgdV9nZXRVbmljb2RlVmVyc2lvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dV9nZXRVbmljb2RlVmVyc2lvbikKICNkZWZpbmUgdV9nZXRWZXJzaW9uIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1X2dldFZlcnNpb24pCkBAIC0zMzEsNiArMzM0LDcgQEAKICNkZWZpbmUgdV9z
ZXREYXRhRGlyZWN0b3J5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldERhdGFEaXJlY3Rv
cnkpCiAjZGVmaW5lIHVfc2V0TWVtb3J5RnVuY3Rpb25zIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1X3NldE1lbW9yeUZ1bmN0aW9ucykKICNkZWZpbmUgdV9zZXRNdXRleEZ1bmN0aW9ucyBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV9zZXRNdXRleEZ1bmN0aW9ucykKKyNkZWZpbmUgdV9zZXRU
aW1lWm9uZUZpbGVzRGlyZWN0b3J5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldFRpbWVa
b25lRmlsZXNEaXJlY3RvcnkpCiAjZGVmaW5lIHVfc2hhcGVBcmFiaWMgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVfc2hhcGVBcmFiaWMpCiAjZGVmaW5lIHVfc25wcmludGYgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVfc25wcmludGYpCiAjZGVmaW5lIHVfc25wcmludGZfdSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodV9zbnByaW50Zl91KQpAQCAtNDEzLDkgKzQxNyw3IEBACiAjZGVmaW5l
IHVfdnNwcmludGZfdSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV92c3ByaW50Zl91KQogI2Rl
ZmluZSB1X3Zzc2NhbmYgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfdnNzY2FuZikKICNkZWZp
bmUgdV92c3NjYW5mX3UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfdnNzY2FuZl91KQotI2Rl
ZmluZSB1X3dyaXRlRGlmZiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV93cml0ZURpZmYpCiAj
ZGVmaW5lIHVfd3JpdGVJZGVudGljYWxMZXZlbFJ1biBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dV93cml0ZUlkZW50aWNhbExldmVsUnVuKQotI2RlZmluZSB1X3dyaXRlSWRlbnRpY2FsTGV2ZWxS
dW5Ud29DaGFycyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV93cml0ZUlkZW50aWNhbExldmVs
UnVuVHdvQ2hhcnMpCiAjZGVmaW5lIHViaWRpX2FkZFByb3BlcnR5U3RhcnRzIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1YmlkaV9hZGRQcm9wZXJ0eVN0YXJ0cykKICNkZWZpbmUgdWJpZGlfY2xv
c2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHViaWRpX2Nsb3NlKQogI2RlZmluZSB1YmlkaV9j
b3VudFBhcmFncmFwaHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHViaWRpX2NvdW50UGFyYWdy
YXBocykKQEAgLTQ5NCw2ICs0OTYsOSBAQAogI2RlZmluZSB1YnJrX3NldFRleHQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVicmtfc2V0VGV4dCkKICNkZWZpbmUgdWJya19zZXRVVGV4dCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWJya19zZXRVVGV4dCkKICNkZWZpbmUgdWJya19zd2FwIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1YnJrX3N3YXApCisjZGVmaW5lIHVjYWNoZV9jb21wYXJl
S2V5cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNhY2hlX2NvbXBhcmVLZXlzKQorI2RlZmlu
ZSB1Y2FjaGVfZGVsZXRlS2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y2FjaGVfZGVsZXRl
S2V5KQorI2RlZmluZSB1Y2FjaGVfaGFzaEtleXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
YWNoZV9oYXNoS2V5cykKICNkZWZpbmUgdWNhbF9hZGQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjYWxfYWRkKQogI2RlZmluZSB1Y2FsX2NsZWFyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y2FsX2NsZWFyKQogI2RlZmluZSB1Y2FsX2NsZWFyRmllbGQgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjYWxfY2xlYXJGaWVsZCkKQEAgLTY5MCw0NyArNjk1LDI5IEBACiAjZGVmaW5lIHVjbnZz
ZWxfc2VsZWN0Rm9yU3RyaW5nIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y252c2VsX3NlbGVj
dEZvclN0cmluZykKICNkZWZpbmUgdWNudnNlbF9zZWxlY3RGb3JVVEY4IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y252c2VsX3NlbGVjdEZvclVURjgpCiAjZGVmaW5lIHVjbnZzZWxfc2VyaWFs
aXplIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y252c2VsX3NlcmlhbGl6ZSkKLSNkZWZpbmUg
dWNvbF9hbGxvY1dlaWdodHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfYWxsb2NXZWln
aHRzKQotI2RlZmluZSB1Y29sX2Fzc2VtYmxlVGFpbG9yaW5nVGFibGUgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfYXNzZW1ibGVUYWlsb3JpbmdUYWJsZSkKLSNkZWZpbmUgdWNvbF9idWls
ZFBlcm11dGF0aW9uVGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfYnVpbGRQZXJt
dXRhdGlvblRhYmxlKQotI2RlZmluZSB1Y29sX2NhbGNTb3J0S2V5IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y29sX2NhbGNTb3J0S2V5KQotI2RlZmluZSB1Y29sX2NhbGNTb3J0S2V5U2ltcGxl
VGVydGlhcnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfY2FsY1NvcnRLZXlTaW1wbGVU
ZXJ0aWFyeSkKICNkZWZpbmUgdWNvbF9jbG9uZUJpbmFyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9jbG9uZUJpbmFyeSkKICNkZWZpbmUgdWNvbF9jbG9zZSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9jbG9zZSkKICNkZWZpbmUgdWNvbF9jbG9zZUVsZW1lbnRzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX2Nsb3NlRWxlbWVudHMpCiAjZGVmaW5lIHVjb2xfY291bnRB
dmFpbGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfY291bnRBdmFpbGFibGUpCi0j
ZGVmaW5lIHVjb2xfY3JlYXRlRWxlbWVudHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
Y3JlYXRlRWxlbWVudHMpCi0jZGVmaW5lIHVjb2xfZG9DRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9kb0NFKQogI2RlZmluZSB1Y29sX2VxdWFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2VxdWFsKQogI2RlZmluZSB1Y29sX2VxdWFscyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9lcXVhbHMpCi0jZGVmaW5lIHVjb2xfZmluZFJlb3JkZXJpbmdFbnRyeSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9maW5kUmVvcmRlcmluZ0VudHJ5KQotI2RlZmluZSB1Y29s
X2ZvcmNlSGFuSW1wbGljaXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZm9yY2VIYW5J
bXBsaWNpdCkKLSNkZWZpbmUgdWNvbF9mb3JnZXRVQ0EgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfZm9yZ2V0VUNBKQotI2RlZmluZSB1Y29sX2ZyZWVPZmZzZXRCdWZmZXIgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfZnJlZU9mZnNldEJ1ZmZlcikKICNkZWZpbmUgdWNvbF9nZXRB
dHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0QXR0cmlidXRlKQotI2Rl
ZmluZSB1Y29sX2dldEF0dHJpYnV0ZU9yRGVmYXVsdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9nZXRBdHRyaWJ1dGVPckRlZmF1bHQpCiAjZGVmaW5lIHVjb2xfZ2V0QXZhaWxhYmxlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEF2YWlsYWJsZSkKICNkZWZpbmUgdWNvbF9n
ZXRCb3VuZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRCb3VuZCkKLSNkZWZpbmUg
dWNvbF9nZXRDRVN0cmVuZ3RoRGlmZmVyZW5jZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9nZXRDRVN0cmVuZ3RoRGlmZmVyZW5jZSkKLSNkZWZpbmUgdWNvbF9nZXRDb2xsYXRpb25LZXkg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0Q29sbGF0aW9uS2V5KQogI2RlZmluZSB1
Y29sX2dldENvbnRyYWN0aW9ucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRDb250
cmFjdGlvbnMpCiAjZGVmaW5lIHVjb2xfZ2V0Q29udHJhY3Rpb25zQW5kRXhwYW5zaW9ucyBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRDb250cmFjdGlvbnNBbmRFeHBhbnNpb25zKQog
I2RlZmluZSB1Y29sX2dldERpc3BsYXlOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2dldERpc3BsYXlOYW1lKQogI2RlZmluZSB1Y29sX2dldEVxdWl2YWxlbnRSZW9yZGVyQ29kZXMg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0RXF1aXZhbGVudFJlb3JkZXJDb2RlcykK
LSNkZWZpbmUgdWNvbF9nZXRGaXJzdENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dl
dEZpcnN0Q0UpCiAjZGVmaW5lIHVjb2xfZ2V0RnVuY3Rpb25hbEVxdWl2YWxlbnQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0RnVuY3Rpb25hbEVxdWl2YWxlbnQpCiAjZGVmaW5lIHVj
b2xfZ2V0S2V5d29yZFZhbHVlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRLZXl3
b3JkVmFsdWVzKQogI2RlZmluZSB1Y29sX2dldEtleXdvcmRWYWx1ZXNGb3JMb2NhbGUgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSkKICNkZWZp
bmUgdWNvbF9nZXRLZXl3b3JkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRLZXl3
b3JkcykKLSNkZWZpbmUgdWNvbF9nZXRMZWFkQnl0ZXNGb3JSZW9yZGVyQ29kZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9nZXRMZWFkQnl0ZXNGb3JSZW9yZGVyQ29kZSkKICNkZWZpbmUg
dWNvbF9nZXRMb2NhbGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TG9jYWxlKQog
I2RlZmluZSB1Y29sX2dldExvY2FsZUJ5VHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9nZXRMb2NhbGVCeVR5cGUpCiAjZGVmaW5lIHVjb2xfZ2V0TWF4RXhwYW5zaW9uIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldE1heEV4cGFuc2lvbikKLSNkZWZpbmUgdWNvbF9nZXRO
ZXh0Q0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TmV4dENFKQorI2RlZmluZSB1
Y29sX2dldE1heFZhcmlhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldE1heFZh
cmlhYmxlKQogI2RlZmluZSB1Y29sX2dldE9mZnNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9nZXRPZmZzZXQpCi0jZGVmaW5lIHVjb2xfZ2V0UHJldkNFIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y29sX2dldFByZXZDRSkKICNkZWZpbmUgdWNvbF9nZXRSZW9yZGVyQ29kZXMgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0UmVvcmRlckNvZGVzKQotI2RlZmluZSB1Y29s
X2dldFJlb3JkZXJDb2Rlc0ZvckxlYWRCeXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2dldFJlb3JkZXJDb2Rlc0ZvckxlYWRCeXRlKQogI2RlZmluZSB1Y29sX2dldFJ1bGVzIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFJ1bGVzKQogI2RlZmluZSB1Y29sX2dldFJ1bGVz
RXggVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0UnVsZXNFeCkKICNkZWZpbmUgdWNv
bF9nZXRTaG9ydERlZmluaXRpb25TdHJpbmcgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
Z2V0U2hvcnREZWZpbml0aW9uU3RyaW5nKQpAQCAtNzQzLDIwICs3MzAsMTEgQEAKICNkZWZpbmUg
dWNvbF9nZXRWZXJzaW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFZlcnNpb24p
CiAjZGVmaW5lIHVjb2xfZ3JlYXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9ncmVh
dGVyKQogI2RlZmluZSB1Y29sX2dyZWF0ZXJPckVxdWFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2dyZWF0ZXJPckVxdWFsKQotI2RlZmluZSB1Y29sX2luaXRCdWZmZXJzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX2luaXRCdWZmZXJzKQotI2RlZmluZSB1Y29sX2luaXRDb2xs
YXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pbml0Q29sbGF0b3IpCi0jZGVmaW5l
IHVjb2xfaW5pdEludmVyc2VVQ0EgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaW5pdElu
dmVyc2VVQ0EpCi0jZGVmaW5lIHVjb2xfaW5pdFVDQSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9pbml0VUNBKQotI2RlZmluZSB1Y29sX2ludl9nZXROZXh0Q0UgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfaW52X2dldE5leHRDRSkKLSNkZWZpbmUgdWNvbF9pbnZfZ2V0UHJldkNF
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2ludl9nZXRQcmV2Q0UpCi0jZGVmaW5lIHVj
b2xfaXNUYWlsb3JlZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pc1RhaWxvcmVkKQog
I2RlZmluZSB1Y29sX2tleUhhc2hDb2RlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2tl
eUhhc2hDb2RlKQogI2RlZmluZSB1Y29sX2xvb2tzTGlrZUNvbGxhdGlvbkJpbmFyeSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9sb29rc0xpa2VDb2xsYXRpb25CaW5hcnkpCiAjZGVmaW5l
IHVjb2xfbWVyZ2VTb3J0a2V5cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9tZXJnZVNv
cnRrZXlzKQogI2RlZmluZSB1Y29sX25leHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
bmV4dCkKLSNkZWZpbmUgdWNvbF9uZXh0UHJvY2Vzc2VkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX25leHRQcm9jZXNzZWQpCiAjZGVmaW5lIHVjb2xfbmV4dFNvcnRLZXlQYXJ0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX25leHRTb3J0S2V5UGFydCkKLSNkZWZpbmUgdWNvbF9u
ZXh0V2VpZ2h0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX25leHRXZWlnaHQpCiAjZGVm
aW5lIHVjb2xfbm9ybWFsaXplU2hvcnREZWZpbml0aW9uU3RyaW5nIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y29sX25vcm1hbGl6ZVNob3J0RGVmaW5pdGlvblN0cmluZykKICNkZWZpbmUgdWNv
bF9vcGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX29wZW4pCiAjZGVmaW5lIHVjb2xf
b3BlbkF2YWlsYWJsZUxvY2FsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlbkF2
YWlsYWJsZUxvY2FsZXMpCkBAIC03NjQsMjMgKzc0MiwxNyBAQAogI2RlZmluZSB1Y29sX29wZW5F
bGVtZW50cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuRWxlbWVudHMpCiAjZGVm
aW5lIHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9vcGVuRnJvbVNob3J0U3RyaW5nKQogI2RlZmluZSB1Y29sX29wZW5SdWxlcyBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuUnVsZXMpCi0jZGVmaW5lIHVjb2xfb3BlblJ1bGVzRm9y
SW1wb3J0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX29wZW5SdWxlc0ZvckltcG9ydCkK
LSNkZWZpbmUgdWNvbF9vcGVuX2ludGVybmFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X29wZW5faW50ZXJuYWwpCiAjZGVmaW5lIHVjb2xfcHJlcGFyZVNob3J0U3RyaW5nT3BlbiBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9wcmVwYXJlU2hvcnRTdHJpbmdPcGVuKQogI2RlZmlu
ZSB1Y29sX3ByZXZpb3VzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3ByZXZpb3VzKQot
I2RlZmluZSB1Y29sX3ByZXZpb3VzUHJvY2Vzc2VkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX3ByZXZpb3VzUHJvY2Vzc2VkKQogI2RlZmluZSB1Y29sX3ByaW1hcnlPcmRlciBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9wcmltYXJ5T3JkZXIpCi0jZGVmaW5lIHVjb2xfcHJ2X2dl
dFNwZWNpYWxDRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9wcnZfZ2V0U3BlY2lhbENF
KQotI2RlZmluZSB1Y29sX3Bydl9nZXRTcGVjaWFsUHJldkNFIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX3Bydl9nZXRTcGVjaWFsUHJldkNFKQogI2RlZmluZSB1Y29sX3Jlc2V0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Jlc2V0KQogI2RlZmluZSB1Y29sX3Jlc3RvcmVWYXJp
YWJsZVRvcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9yZXN0b3JlVmFyaWFibGVUb3Ap
CiAjZGVmaW5lIHVjb2xfc2FmZUNsb25lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Nh
ZmVDbG9uZSkKICNkZWZpbmUgdWNvbF9zZWNvbmRhcnlPcmRlciBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWNvbF9zZWNvbmRhcnlPcmRlcikKICNkZWZpbmUgdWNvbF9zZXRBdHRyaWJ1dGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0QXR0cmlidXRlKQorI2RlZmluZSB1Y29sX3Nl
dE1heFZhcmlhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldE1heFZhcmlhYmxl
KQogI2RlZmluZSB1Y29sX3NldE9mZnNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9z
ZXRPZmZzZXQpCi0jZGVmaW5lIHVjb2xfc2V0T3B0aW9uc0Zyb21IZWFkZXIgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfc2V0T3B0aW9uc0Zyb21IZWFkZXIpCiAjZGVmaW5lIHVjb2xfc2V0
UmVvcmRlckNvZGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldFJlb3JkZXJDb2Rl
cykKLSNkZWZpbmUgdWNvbF9zZXRSZXFWYWxpZExvY2FsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjb2xfc2V0UmVxVmFsaWRMb2NhbGVzKQogI2RlZmluZSB1Y29sX3NldFN0cmVuZ3RoIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldFN0cmVuZ3RoKQogI2RlZmluZSB1Y29sX3Nl
dFRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0VGV4dCkKICNkZWZpbmUgdWNv
bF9zZXRWYXJpYWJsZVRvcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRWYXJpYWJs
ZVRvcCkKQEAgLTc4OCwxNiArNzYwLDggQEAKICNkZWZpbmUgdWNvbF9zdHJjb2xsSXRlciBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zdHJjb2xsSXRlcikKICNkZWZpbmUgdWNvbF9zdHJj
b2xsVVRGOCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zdHJjb2xsVVRGOCkKICNkZWZp
bmUgdWNvbF9zd2FwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N3YXApCi0jZGVmaW5l
IHVjb2xfc3dhcEJpbmFyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zd2FwQmluYXJ5
KQogI2RlZmluZSB1Y29sX3N3YXBJbnZlcnNlVUNBIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX3N3YXBJbnZlcnNlVUNBKQogI2RlZmluZSB1Y29sX3RlcnRpYXJ5T3JkZXIgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfdGVydGlhcnlPcmRlcikKLSNkZWZpbmUgdWNvbF90b2tfYXNz
ZW1ibGVUb2tlbkxpc3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9rX2Fzc2VtYmxl
VG9rZW5MaXN0KQotI2RlZmluZSB1Y29sX3Rva19jbG9zZVRva2VuTGlzdCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF90b2tfY2xvc2VUb2tlbkxpc3QpCi0jZGVmaW5lIHVjb2xfdG9rX2dl
dE5leHRBcmd1bWVudCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tfZ2V0TmV4dEFy
Z3VtZW50KQotI2RlZmluZSB1Y29sX3Rva19nZXRSdWxlc0Zyb21CdW5kbGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfdG9rX2dldFJ1bGVzRnJvbUJ1bmRsZSkKLSNkZWZpbmUgdWNvbF90
b2tfaW5pdFRva2VuTGlzdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tfaW5pdFRv
a2VuTGlzdCkKLSNkZWZpbmUgdWNvbF90b2tfcGFyc2VOZXh0VG9rZW4gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfdG9rX3BhcnNlTmV4dFRva2VuKQotI2RlZmluZSB1Y29sX3VwZGF0ZUlu
dGVybmFsU3RhdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdXBkYXRlSW50ZXJuYWxT
dGF0ZSkKICNkZWZpbmUgdWNzZGV0X2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Nk
ZXRfY2xvc2UpCiAjZGVmaW5lIHVjc2RldF9kZXRlY3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjc2RldF9kZXRlY3QpCiAjZGVmaW5lIHVjc2RldF9kZXRlY3RBbGwgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjc2RldF9kZXRlY3RBbGwpCkBAIC04MTcsMTUgKzc4MSwxOSBAQAogI2RlZmlu
ZSB1Y3Vycl9mb3JMb2NhbGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2ZvckxvY2Fs
ZSkKICNkZWZpbmUgdWN1cnJfZm9yTG9jYWxlQW5kRGF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWN1cnJfZm9yTG9jYWxlQW5kRGF0ZSkKICNkZWZpbmUgdWN1cnJfZ2V0RGVmYXVsdEZyYWN0
aW9uRGlnaXRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXREZWZhdWx0RnJhY3Rp
b25EaWdpdHMpCisjZGVmaW5lIHVjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0c0ZvclVzYWdl
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHNG
b3JVc2FnZSkKICNkZWZpbmUgdWN1cnJfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSkKICNkZWZp
bmUgdWN1cnJfZ2V0TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0TmFtZSkK
ICNkZWZpbmUgdWN1cnJfZ2V0TnVtZXJpY0NvZGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
dXJyX2dldE51bWVyaWNDb2RlKQogI2RlZmluZSB1Y3Vycl9nZXRQbHVyYWxOYW1lIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXRQbHVyYWxOYW1lKQogI2RlZmluZSB1Y3Vycl9nZXRS
b3VuZGluZ0luY3JlbWVudCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0Um91bmRp
bmdJbmNyZW1lbnQpCisjZGVmaW5lIHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNh
Z2UpCiAjZGVmaW5lIHVjdXJyX2lzQXZhaWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y3Vycl9pc0F2YWlsYWJsZSkKICNkZWZpbmUgdWN1cnJfb3BlbklTT0N1cnJlbmNpZXMgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX29wZW5JU09DdXJyZW5jaWVzKQogI2RlZmluZSB1Y3Vy
cl9yZWdpc3RlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfcmVnaXN0ZXIpCiAjZGVm
aW5lIHVjdXJyX3VucmVnaXN0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX3VucmVn
aXN0ZXIpCisjZGVmaW5lIHVkYXRfYWRvcHROdW1iZXJGb3JtYXQgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVkYXRfYWRvcHROdW1iZXJGb3JtYXQpCisjZGVmaW5lIHVkYXRfYWRvcHROdW1iZXJG
b3JtYXRGb3JGaWVsZHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfYWRvcHROdW1iZXJG
b3JtYXRGb3JGaWVsZHMpCiAjZGVmaW5lIHVkYXRfYXBwbHlQYXR0ZXJuIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1ZGF0X2FwcGx5UGF0dGVybikKICNkZWZpbmUgdWRhdF9hcHBseVBhdHRlcm5S
ZWxhdGl2ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9hcHBseVBhdHRlcm5SZWxhdGl2
ZSkKICNkZWZpbmUgdWRhdF9jbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9jbG9u
ZSkKQEAgLTgzMywxMiArODAxLDE3IEBACiAjZGVmaW5lIHVkYXRfY291bnRBdmFpbGFibGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfY291bnRBdmFpbGFibGUpCiAjZGVmaW5lIHVkYXRf
Y291bnRTeW1ib2xzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2NvdW50U3ltYm9scykK
ICNkZWZpbmUgdWRhdF9mb3JtYXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZm9ybWF0
KQorI2RlZmluZSB1ZGF0X2Zvcm1hdENhbGVuZGFyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
ZGF0X2Zvcm1hdENhbGVuZGFyKQorI2RlZmluZSB1ZGF0X2Zvcm1hdENhbGVuZGFyRm9yRmllbGRz
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2Zvcm1hdENhbGVuZGFyRm9yRmllbGRzKQor
I2RlZmluZSB1ZGF0X2Zvcm1hdEZvckZpZWxkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRh
dF9mb3JtYXRGb3JGaWVsZHMpCiAjZGVmaW5lIHVkYXRfZ2V0MkRpZ2l0WWVhclN0YXJ0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldDJEaWdpdFllYXJTdGFydCkKICNkZWZpbmUgdWRh
dF9nZXRBdmFpbGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0QXZhaWxhYmxl
KQorI2RlZmluZSB1ZGF0X2dldEJvb2xlYW5BdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVkYXRfZ2V0Qm9vbGVhbkF0dHJpYnV0ZSkKICNkZWZpbmUgdWRhdF9nZXRDYWxlbmRhciBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9nZXRDYWxlbmRhcikKICNkZWZpbmUgdWRhdF9n
ZXRDb250ZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldENvbnRleHQpCiAjZGVm
aW5lIHVkYXRfZ2V0TG9jYWxlQnlUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dl
dExvY2FsZUJ5VHlwZSkKICNkZWZpbmUgdWRhdF9nZXROdW1iZXJGb3JtYXQgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVkYXRfZ2V0TnVtYmVyRm9ybWF0KQorI2RlZmluZSB1ZGF0X2dldE51bWJl
ckZvcm1hdEZvckZpZWxkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldE51bWJlckZv
cm1hdEZvckZpZWxkKQogI2RlZmluZSB1ZGF0X2dldFN5bWJvbHMgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVkYXRfZ2V0U3ltYm9scykKICNkZWZpbmUgdWRhdF9pc0xlbmllbnQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVkYXRfaXNMZW5pZW50KQogI2RlZmluZSB1ZGF0X29wZW4gVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfb3BlbikKQEAgLTg0Niw2ICs4MTksNyBAQAogI2RlZmlu
ZSB1ZGF0X3BhcnNlQ2FsZW5kYXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfcGFyc2VD
YWxlbmRhcikKICNkZWZpbmUgdWRhdF9yZWdpc3Rlck9wZW5lciBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWRhdF9yZWdpc3Rlck9wZW5lcikKICNkZWZpbmUgdWRhdF9zZXQyRGlnaXRZZWFyU3Rh
cnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfc2V0MkRpZ2l0WWVhclN0YXJ0KQorI2Rl
ZmluZSB1ZGF0X3NldEJvb2xlYW5BdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVk
YXRfc2V0Qm9vbGVhbkF0dHJpYnV0ZSkKICNkZWZpbmUgdWRhdF9zZXRDYWxlbmRhciBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWRhdF9zZXRDYWxlbmRhcikKICNkZWZpbmUgdWRhdF9zZXRDb250
ZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X3NldENvbnRleHQpCiAjZGVmaW5lIHVk
YXRfc2V0TGVuaWVudCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9zZXRMZW5pZW50KQpA
QCAtOTEzLDYgKzg4Nyw5IEBACiAjZGVmaW5lIHVlbnVtX3Jlc2V0IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1ZW51bV9yZXNldCkKICNkZWZpbmUgdWVudW1fdW5leHQgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVlbnVtX3VuZXh0KQogI2RlZmluZSB1ZW51bV91bmV4dERlZmF1bHQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVlbnVtX3VuZXh0RGVmYXVsdCkKKyNkZWZpbmUgdWZpZWxkcG9z
aXRlcl9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWZpZWxkcG9zaXRlcl9jbG9zZSkK
KyNkZWZpbmUgdWZpZWxkcG9zaXRlcl9uZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Zmll
bGRwb3NpdGVyX25leHQpCisjZGVmaW5lIHVmaWVsZHBvc2l0ZXJfb3BlbiBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWZpZWxkcG9zaXRlcl9vcGVuKQogI2RlZmluZSB1ZmlsZV9jbG9zZV90cmFu
c2xpdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWZpbGVfY2xvc2VfdHJhbnNsaXQpCiAjZGVm
aW5lIHVmaWxlX2ZpbGxfdWNoYXJfYnVmZmVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Zmls
ZV9maWxsX3VjaGFyX2J1ZmZlcikKICNkZWZpbmUgdWZpbGVfZmx1c2hfaW8gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVmaWxlX2ZsdXNoX2lvKQpAQCAtMTAzOCw2ICsxMDE1LDkgQEAKICNkZWZp
bmUgdWxpc3RfbmV4dF9rZXl3b3JkX3ZhbHVlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlz
dF9uZXh0X2tleXdvcmRfdmFsdWUpCiAjZGVmaW5lIHVsaXN0X3Jlc2V0TGlzdCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWxpc3RfcmVzZXRMaXN0KQogI2RlZmluZSB1bGlzdF9yZXNldF9rZXl3
b3JkX3ZhbHVlc19pdGVyYXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3RfcmVzZXRf
a2V5d29yZF92YWx1ZXNfaXRlcmF0b3IpCisjZGVmaW5lIHVsaXN0Zm10X2Nsb3NlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1bGlzdGZtdF9jbG9zZSkKKyNkZWZpbmUgdWxpc3RmbXRfZm9ybWF0
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlzdGZtdF9mb3JtYXQpCisjZGVmaW5lIHVsaXN0
Zm10X29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsaXN0Zm10X29wZW4pCiAjZGVmaW5l
IHVsb2NfYWNjZXB0TGFuZ3VhZ2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfYWNjZXB0
TGFuZ3VhZ2UpCiAjZGVmaW5lIHVsb2NfYWNjZXB0TGFuZ3VhZ2VGcm9tSFRUUCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWxvY19hY2NlcHRMYW5ndWFnZUZyb21IVFRQKQogI2RlZmluZSB1bG9j
X2FkZExpa2VseVN1YnRhZ3MgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfYWRkTGlrZWx5
U3VidGFncykKQEAgLTEwNzMsMTIgKzEwNTMsMTcgQEAKICNkZWZpbmUgdWxvY19nZXRTY3JpcHQg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfZ2V0U2NyaXB0KQogI2RlZmluZSB1bG9jX2dl
dFRhYmxlU3RyaW5nV2l0aEZhbGxiYWNrIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX2dl
dFRhYmxlU3RyaW5nV2l0aEZhbGxiYWNrKQogI2RlZmluZSB1bG9jX2dldFZhcmlhbnQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfZ2V0VmFyaWFudCkKKyNkZWZpbmUgdWxvY19pc1JpZ2h0
VG9MZWZ0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX2lzUmlnaHRUb0xlZnQpCiAjZGVm
aW5lIHVsb2NfbWluaW1pemVTdWJ0YWdzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX21p
bmltaXplU3VidGFncykKICNkZWZpbmUgdWxvY19vcGVuS2V5d29yZExpc3QgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVsb2Nfb3BlbktleXdvcmRMaXN0KQogI2RlZmluZSB1bG9jX29wZW5LZXl3
b3JkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19vcGVuS2V5d29yZHMpCiAjZGVmaW5l
IHVsb2Nfc2V0RGVmYXVsdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19zZXREZWZhdWx0
KQogI2RlZmluZSB1bG9jX3NldEtleXdvcmRWYWx1ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWxvY19zZXRLZXl3b3JkVmFsdWUpCiAjZGVmaW5lIHVsb2NfdG9MYW5ndWFnZVRhZyBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWxvY190b0xhbmd1YWdlVGFnKQorI2RlZmluZSB1bG9jX3RvTGVn
YWN5S2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX3RvTGVnYWN5S2V5KQorI2RlZmlu
ZSB1bG9jX3RvTGVnYWN5VHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY190b0xlZ2Fj
eVR5cGUpCisjZGVmaW5lIHVsb2NfdG9Vbmljb2RlTG9jYWxlS2V5IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bG9jX3RvVW5pY29kZUxvY2FsZUtleSkKKyNkZWZpbmUgdWxvY190b1VuaWNvZGVM
b2NhbGVUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX3RvVW5pY29kZUxvY2FsZVR5
cGUpCiAjZGVmaW5lIHVsb2NkYXRhX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9j
ZGF0YV9jbG9zZSkKICNkZWZpbmUgdWxvY2RhdGFfZ2V0Q0xEUlZlcnNpb24gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVsb2NkYXRhX2dldENMRFJWZXJzaW9uKQogI2RlZmluZSB1bG9jZGF0YV9n
ZXREZWxpbWl0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NkYXRhX2dldERlbGltaXRl
cikKQEAgLTEwOTMsNiArMTA3OCwxMiBAQAogI2RlZmluZSB1bG9jaW1wX2dldENvdW50cnkgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBfZ2V0Q291bnRyeSkKICNkZWZpbmUgdWxvY2lt
cF9nZXRMYW5ndWFnZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF9nZXRMYW5ndWFn
ZSkKICNkZWZpbmUgdWxvY2ltcF9nZXRTY3JpcHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVs
b2NpbXBfZ2V0U2NyaXB0KQorI2RlZmluZSB1bG9jaW1wX3RvQmNwS2V5IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1bG9jaW1wX3RvQmNwS2V5KQorI2RlZmluZSB1bG9jaW1wX3RvQmNwVHlwZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF90b0JjcFR5cGUpCisjZGVmaW5lIHVsb2Np
bXBfdG9MZWdhY3lLZXkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBfdG9MZWdhY3lL
ZXkpCisjZGVmaW5lIHVsb2NpbXBfdG9MZWdhY3lUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1bG9jaW1wX3RvTGVnYWN5VHlwZSkKKyNkZWZpbmUgdWx0YWdfaXNVbmljb2RlTG9jYWxlS2V5
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bHRhZ19pc1VuaWNvZGVMb2NhbGVLZXkpCisjZGVm
aW5lIHVsdGFnX2lzVW5pY29kZUxvY2FsZVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVs
dGFnX2lzVW5pY29kZUxvY2FsZVR5cGUpCiAjZGVmaW5lIHVtc2dfYXBwbHlQYXR0ZXJuIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX2FwcGx5UGF0dGVybikKICNkZWZpbmUgdW1zZ19hdXRv
UXVvdGVBcG9zdHJvcGhlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX2F1dG9RdW90ZUFw
b3N0cm9waGUpCiAjZGVmaW5lIHVtc2dfY2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVt
c2dfY2xvbmUpCkBAIC0xMTA1LDYgKzEwOTYsOSBAQAogI2RlZmluZSB1bXNnX3RvUGF0dGVybiBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1zZ190b1BhdHRlcm4pCiAjZGVmaW5lIHVtc2dfdmZv
cm1hdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1zZ192Zm9ybWF0KQogI2RlZmluZSB1bXNn
X3ZwYXJzZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1zZ192cGFyc2UpCisjZGVmaW5lIHVt
dHhfY29uZEJyb2FkY2FzdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW10eF9jb25kQnJvYWRj
YXN0KQorI2RlZmluZSB1bXR4X2NvbmRTaWduYWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVt
dHhfY29uZFNpZ25hbCkKKyNkZWZpbmUgdW10eF9jb25kV2FpdCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodW10eF9jb25kV2FpdCkKICNkZWZpbmUgdW10eF9sb2NrIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bXR4X2xvY2spCiAjZGVmaW5lIHVtdHhfdW5sb2NrIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bXR4X3VubG9jaykKICNkZWZpbmUgdW5pc2V0X2dldFVuaWNvZGUzMkluc3RhbmNl
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bmlzZXRfZ2V0VW5pY29kZTMySW5zdGFuY2UpCkBA
IC0xMTMwLDcgKzExMjQsNiBAQAogI2RlZmluZSB1bm9ybTJfcXVpY2tDaGVjayBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodW5vcm0yX3F1aWNrQ2hlY2spCiAjZGVmaW5lIHVub3JtMl9zcGFuUXVp
Y2tDaGVja1llcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm0yX3NwYW5RdWlja0NoZWNr
WWVzKQogI2RlZmluZSB1bm9ybTJfc3dhcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm0y
X3N3YXApCi0jZGVmaW5lIHVub3JtX2Nsb3NlSXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dW5vcm1fY2xvc2VJdGVyKQogI2RlZmluZSB1bm9ybV9jb21wYXJlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bm9ybV9jb21wYXJlKQogI2RlZmluZSB1bm9ybV9jb25jYXRlbmF0ZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fY29uY2F0ZW5hdGUpCiAjZGVmaW5lIHVub3JtX2dldEZD
RDE2IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9nZXRGQ0QxNikKQEAgLTExMzksMTEg
KzExMzIsOSBAQAogI2RlZmluZSB1bm9ybV9pc05vcm1hbGl6ZWRXaXRoT3B0aW9ucyBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW5vcm1faXNOb3JtYWxpemVkV2l0aE9wdGlvbnMpCiAjZGVmaW5l
IHVub3JtX25leHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX25leHQpCiAjZGVmaW5l
IHVub3JtX25vcm1hbGl6ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fbm9ybWFsaXpl
KQotI2RlZmluZSB1bm9ybV9vcGVuSXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1f
b3Blbkl0ZXIpCiAjZGVmaW5lIHVub3JtX3ByZXZpb3VzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1bm9ybV9wcmV2aW91cykKICNkZWZpbmUgdW5vcm1fcXVpY2tDaGVjayBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodW5vcm1fcXVpY2tDaGVjaykKICNkZWZpbmUgdW5vcm1fcXVpY2tDaGVja1dp
dGhPcHRpb25zIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9xdWlja0NoZWNrV2l0aE9w
dGlvbnMpCi0jZGVmaW5lIHVub3JtX3NldEl0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVu
b3JtX3NldEl0ZXIpCiAjZGVmaW5lIHVudW1fYXBwbHlQYXR0ZXJuIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bnVtX2FwcGx5UGF0dGVybikKICNkZWZpbmUgdW51bV9jbG9uZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodW51bV9jbG9uZSkKICNkZWZpbmUgdW51bV9jbG9zZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodW51bV9jbG9zZSkKQEAgLTExNTYsNiArMTE0Nyw3IEBACiAjZGVmaW5l
IHVudW1fZm9ybWF0VUZvcm1hdHRhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2Zv
cm1hdFVGb3JtYXR0YWJsZSkKICNkZWZpbmUgdW51bV9nZXRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVudW1fZ2V0QXR0cmlidXRlKQogI2RlZmluZSB1bnVtX2dldEF2YWlsYWJs
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXRBdmFpbGFibGUpCisjZGVmaW5lIHVu
dW1fZ2V0Q29udGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXRDb250ZXh0KQog
I2RlZmluZSB1bnVtX2dldERvdWJsZUF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dW51bV9nZXREb3VibGVBdHRyaWJ1dGUpCiAjZGVmaW5lIHVudW1fZ2V0TG9jYWxlQnlUeXBlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2dldExvY2FsZUJ5VHlwZSkKICNkZWZpbmUgdW51
bV9nZXRTeW1ib2wgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0U3ltYm9sKQpAQCAt
MTE2OCw2ICsxMTYwLDcgQEAKICNkZWZpbmUgdW51bV9wYXJzZUludDY0IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1bnVtX3BhcnNlSW50NjQpCiAjZGVmaW5lIHVudW1fcGFyc2VUb1VGb3JtYXR0
YWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9wYXJzZVRvVUZvcm1hdHRhYmxlKQog
I2RlZmluZSB1bnVtX3NldEF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9z
ZXRBdHRyaWJ1dGUpCisjZGVmaW5lIHVudW1fc2V0Q29udGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodW51bV9zZXRDb250ZXh0KQogI2RlZmluZSB1bnVtX3NldERvdWJsZUF0dHJpYnV0ZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9zZXREb3VibGVBdHRyaWJ1dGUpCiAjZGVmaW5l
IHVudW1fc2V0U3ltYm9sIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3NldFN5bWJvbCkK
ICNkZWZpbmUgdW51bV9zZXRUZXh0QXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bnVtX3NldFRleHRBdHRyaWJ1dGUpCkBAIC0xMjE0LDIwICsxMjA3LDYgQEAKICNkZWZpbmUgdXBy
dl9hc2NpaXRvbG93ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfYXNjaWl0b2xvd2Vy
KQogI2RlZmluZSB1cHJ2X2NhbGxvYyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jYWxs
b2MpCiAjZGVmaW5lIHVwcnZfY2VpbCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jZWls
KQotI2RlZmluZSB1cHJ2X2NudHRhYl9hZGRDb250cmFjdGlvbiBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXBydl9jbnR0YWJfYWRkQ29udHJhY3Rpb24pCi0jZGVmaW5lIHVwcnZfY250dGFiX2No
YW5nZUNvbnRyYWN0aW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jaGFu
Z2VDb250cmFjdGlvbikKLSNkZWZpbmUgdXBydl9jbnR0YWJfY2hhbmdlTGFzdENFIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jaGFuZ2VMYXN0Q0UpCi0jZGVmaW5lIHVwcnZf
Y250dGFiX2Nsb25lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jbG9uZSkK
LSNkZWZpbmUgdXBydl9jbnR0YWJfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZf
Y250dGFiX2Nsb3NlKQotI2RlZmluZSB1cHJ2X2NudHRhYl9jb25zdHJ1Y3RUYWJsZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfY29uc3RydWN0VGFibGUpCi0jZGVmaW5lIHVw
cnZfY250dGFiX2ZpbmRDRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfZmlu
ZENFKQotI2RlZmluZSB1cHJ2X2NudHRhYl9maW5kQ1AgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfY250dGFiX2ZpbmRDUCkKLSNkZWZpbmUgdXBydl9jbnR0YWJfZ2V0Q0UgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2dldENFKQotI2RlZmluZSB1cHJ2X2NudHRhYl9p
bnNlcnRDb250cmFjdGlvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfaW5z
ZXJ0Q29udHJhY3Rpb24pCi0jZGVmaW5lIHVwcnZfY250dGFiX2lzVGFpbG9yZWQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2lzVGFpbG9yZWQpCi0jZGVmaW5lIHVwcnZfY250
dGFiX29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX29wZW4pCi0jZGVm
aW5lIHVwcnZfY250dGFiX3NldENvbnRyYWN0aW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cHJ2X2NudHRhYl9zZXRDb250cmFjdGlvbikKLSNkZWZpbmUgdXBydl9jb2xsSXRlcmF0ZUF0RW5k
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NvbGxJdGVyYXRlQXRFbmQpCiAjZGVmaW5l
IHVwcnZfY29tcGFyZUFTQ0lJUHJvcGVydHlOYW1lcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9jb21wYXJlQVNDSUlQcm9wZXJ0eU5hbWVzKQogI2RlZmluZSB1cHJ2X2NvbXBhcmVFQkNE
SUNQcm9wZXJ0eU5hbWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NvbXBhcmVFQkNE
SUNQcm9wZXJ0eU5hbWVzKQogI2RlZmluZSB1cHJ2X2NvbXBhcmVJbnZBc2NpaSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl9jb21wYXJlSW52QXNjaWkpCkBAIC0xMzE0LDggKzEyOTMsOCBA
QAogI2RlZmluZSB1cHJ2X2RlY051bWJlclZlcnNpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfZGVjTnVtYmVyVmVyc2lvbikKICNkZWZpbmUgdXBydl9kZWNOdW1iZXJYb3IgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVjTnVtYmVyWG9yKQogI2RlZmluZSB1cHJ2X2RlY051
bWJlclplcm8gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVjTnVtYmVyWmVybykKKyNk
ZWZpbmUgdXBydl9kZWxldGVDb25kaXRpb25hbENFMzIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfZGVsZXRlQ29uZGl0aW9uYWxDRTMyKQogI2RlZmluZSB1cHJ2X2RlbGV0ZVVPYmplY3Qg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVsZXRlVU9iamVjdCkKLSNkZWZpbmUgdXBy
dl9kZWxldGVfY29sbEl0ZXJhdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVsZXRl
X2NvbGxJdGVyYXRlKQogI2RlZmluZSB1cHJ2X2RsX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X2RsX2Nsb3NlKQogI2RlZmluZSB1cHJ2X2RsX29wZW4gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVwcnZfZGxfb3BlbikKICNkZWZpbmUgdXBydl9kbHN5bV9mdW5jIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2Rsc3ltX2Z1bmMpCkBAIC0xMzQwLDggKzEzMTksNiBAQAog
I2RlZmluZSB1cHJ2X2dldFN0YXRpY0N1cnJlbmN5TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXBydl9nZXRTdGF0aWNDdXJyZW5jeU5hbWUpCiAjZGVmaW5lIHVwcnZfZ2V0VVRDdGltZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9nZXRVVEN0aW1lKQogI2RlZmluZSB1cHJ2X2hh
dmVQcm9wZXJ0aWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2hhdmVQcm9wZXJ0aWVz
KQotI2RlZmluZSB1cHJ2X2luaXRfY29sbEl0ZXJhdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfaW5pdF9jb2xsSXRlcmF0ZSkKLSNkZWZpbmUgdXBydl9pbml0X3BjZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl9pbml0X3BjZSkKICNkZWZpbmUgdXBydl9pbnQzMkNvbXBhcmF0
b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaW50MzJDb21wYXJhdG9yKQogI2RlZmlu
ZSB1cHJ2X2lzQVNDSUlMZXR0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaXNBU0NJ
SUxldHRlcikKICNkZWZpbmUgdXBydl9pc0luZmluaXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1cHJ2X2lzSW5maW5pdGUpCkBAIC0xMzU5LDcgKzEzMzYsNiBAQAogI2RlZmluZSB1cHJ2X21h
eGltdW1QdHIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfbWF4aW11bVB0cikKICNkZWZp
bmUgdXBydl9taW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfbWluKQogI2RlZmluZSB1
cHJ2X21vZGYgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfbW9kZikKLSNkZWZpbmUgdXBy
dl9uZXdfY29sbEl0ZXJhdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfbmV3X2NvbGxJ
dGVyYXRlKQogI2RlZmluZSB1cHJ2X3BhcnNlQ3VycmVuY3kgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVwcnZfcGFyc2VDdXJyZW5jeSkKICNkZWZpbmUgdXBydl9wYXRoSXNBYnNvbHV0ZSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9wYXRoSXNBYnNvbHV0ZSkKICNkZWZpbmUgdXBydl9w
b3cgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfcG93KQpAQCAtMTM3OSwxNiArMTM1NSw2
IEBACiAjZGVmaW5lIHVwcnZfdHJ1bmMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdHJ1
bmMpCiAjZGVmaW5lIHVwcnZfdHpuYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3R6
bmFtZSkKICNkZWZpbmUgdXBydl90enNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl90
enNldCkKLSNkZWZpbmUgdXBydl91Y2FfYWRkQW5FbGVtZW50IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X3VjYV9hZGRBbkVsZW1lbnQpCi0jZGVmaW5lIHVwcnZfdWNhX2Fzc2VtYmxlVGFi
bGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNhX2Fzc2VtYmxlVGFibGUpCi0jZGVm
aW5lIHVwcnZfdWNhX2Nhbm9uaWNhbENsb3N1cmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVw
cnZfdWNhX2Nhbm9uaWNhbENsb3N1cmUpCi0jZGVmaW5lIHVwcnZfdWNhX2Nsb3NlVGVtcFRhYmxl
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9jbG9zZVRlbXBUYWJsZSkKLSNkZWZp
bmUgdXBydl91Y2FfZ2V0Q29kZVBvaW50RnJvbVJhdyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl91Y2FfZ2V0Q29kZVBvaW50RnJvbVJhdykKLSNkZWZpbmUgdXBydl91Y2FfZ2V0SW1wbGlj
aXRGcm9tUmF3IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9nZXRJbXBsaWNpdEZy
b21SYXcpCi0jZGVmaW5lIHVwcnZfdWNhX2dldFJhd0Zyb21Db2RlUG9pbnQgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfdWNhX2dldFJhd0Zyb21Db2RlUG9pbnQpCi0jZGVmaW5lIHVwcnZf
dWNhX2dldFJhd0Zyb21JbXBsaWNpdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2Ff
Z2V0UmF3RnJvbUltcGxpY2l0KQotI2RlZmluZSB1cHJ2X3VjYV9pbml0SW1wbGljaXRDb25zdGFu
dHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNhX2luaXRJbXBsaWNpdENvbnN0YW50
cykKLSNkZWZpbmUgdXBydl91Y2FfaW5pdFRlbXBUYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXBydl91Y2FfaW5pdFRlbXBUYWJsZSkKICNkZWZpbmUgdXBydl91aW50MTZDb21wYXJhdG9y
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VpbnQxNkNvbXBhcmF0b3IpCiAjZGVmaW5l
IHVwcnZfdWludDMyQ29tcGFyYXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91aW50
MzJDb21wYXJhdG9yKQogI2RlZmluZSB1cHJ2X3VubWFwRmlsZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXBydl91bm1hcEZpbGUpCkBAIC0xNDIyLDggKzEzODgsOSBAQAogI2RlZmluZSB1cmVn
ZXhfZ2V0VVRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9nZXRVVGV4dCkKICNk
ZWZpbmUgdXJlZ2V4X2dyb3VwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXAp
CiAjZGVmaW5lIHVyZWdleF9ncm91cENvdW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVn
ZXhfZ3JvdXBDb3VudCkKKyNkZWZpbmUgdXJlZ2V4X2dyb3VwTnVtYmVyRnJvbUNOYW1lIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXBOdW1iZXJGcm9tQ05hbWUpCisjZGVmaW5l
IHVyZWdleF9ncm91cE51bWJlckZyb21OYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVn
ZXhfZ3JvdXBOdW1iZXJGcm9tTmFtZSkKICNkZWZpbmUgdXJlZ2V4X2dyb3VwVVRleHQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9ncm91cFVUZXh0KQotI2RlZmluZSB1cmVnZXhfZ3Jv
dXBVVGV4dERlZXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9ncm91cFVUZXh0RGVl
cCkKICNkZWZpbmUgdXJlZ2V4X2hhc0FuY2hvcmluZ0JvdW5kcyBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXJlZ2V4X2hhc0FuY2hvcmluZ0JvdW5kcykKICNkZWZpbmUgdXJlZ2V4X2hhc1RyYW5z
cGFyZW50Qm91bmRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfaGFzVHJhbnNwYXJl
bnRCb3VuZHMpCiAjZGVmaW5lIHVyZWdleF9oaXRFbmQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVyZWdleF9oaXRFbmQpCkBAIC0xNTE4LDYgKzE0ODUsNyBAQAogI2RlZmluZSB1cmVzX29wZW5B
dmFpbGFibGVMb2NhbGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX29wZW5BdmFpbGFi
bGVMb2NhbGVzKQogI2RlZmluZSB1cmVzX29wZW5EaXJlY3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVyZXNfb3BlbkRpcmVjdCkKICNkZWZpbmUgdXJlc19vcGVuRmlsbEluIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cmVzX29wZW5GaWxsSW4pCisjZGVmaW5lIHVyZXNfb3Blbk5vRGVmYXVs
dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlc19vcGVuTm9EZWZhdWx0KQogI2RlZmluZSB1
cmVzX29wZW5VIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX29wZW5VKQogI2RlZmluZSB1
cmVzX3Jlc2V0SXRlcmF0b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfcmVzZXRJdGVy
YXRvcikKICNkZWZpbmUgdXJlc19zd2FwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX3N3
YXApCkBAIC0xNzIyLDYgKzE2OTAsNyBAQAogI2RlZmluZSB1dHJhbnNfY291bnRBdmFpbGFibGVJ
RHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc19jb3VudEF2YWlsYWJsZUlEcykKICNk
ZWZpbmUgdXRyYW5zX2dldEF2YWlsYWJsZUlEIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJh
bnNfZ2V0QXZhaWxhYmxlSUQpCiAjZGVmaW5lIHV0cmFuc19nZXRJRCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodXRyYW5zX2dldElEKQorI2RlZmluZSB1dHJhbnNfZ2V0U291cmNlU2V0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfZ2V0U291cmNlU2V0KQogI2RlZmluZSB1dHJhbnNf
Z2V0VW5pY29kZUlEIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfZ2V0VW5pY29kZUlE
KQogI2RlZmluZSB1dHJhbnNfb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX29w
ZW4pCiAjZGVmaW5lIHV0cmFuc19vcGVuSURzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJh
bnNfb3BlbklEcykKQEAgLTE3MzEsNiArMTcwMCw3IEBACiAjZGVmaW5lIHV0cmFuc19yZXBfY2Fz
ZUNvbnRleHRJdGVyYXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3JlcF9jYXNl
Q29udGV4dEl0ZXJhdG9yKQogI2RlZmluZSB1dHJhbnNfc2V0RmlsdGVyIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1dHJhbnNfc2V0RmlsdGVyKQogI2RlZmluZSB1dHJhbnNfc3RyaXBSdWxlcyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3N0cmlwUnVsZXMpCisjZGVmaW5lIHV0cmFu
c190b1J1bGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfdG9SdWxlcykKICNkZWZp
bmUgdXRyYW5zX3RyYW5zIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfdHJhbnMpCiAj
ZGVmaW5lIHV0cmFuc190cmFuc0luY3JlbWVudGFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
dHJhbnNfdHJhbnNJbmNyZW1lbnRhbCkKICNkZWZpbmUgdXRyYW5zX3RyYW5zSW5jcmVtZW50YWxV
Q2hhcnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc190cmFuc0luY3JlbWVudGFsVUNo
YXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VzY3Jp
cHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgKaW5kZXgg
NTcyNTVjNGY5ODQ0YWZhYjUzZmZjMThhMzFhZDc5ZThlMmUzNDIzMy4uYjIxN2M4MTQ3MjhhYzEx
MWQwYTRjZmE3NTUwZDM5MjY4YTg3YTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1
L3VuaWNvZGUvdXNjcmlwdC5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0g
KiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hp
bmVzCisgKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNz
IE1hY2hpbmVzCiAgKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKICAqCkBAIC0yMSwyNSArMjEsMzEgQEAKICAqIFxmaWxlCiAg
KiBcYnJpZWYgQyBBUEk6IFVuaWNvZGUgU2NyaXB0IEluZm9ybWF0aW9uCiAgKi8KLSAKKwogLyoq
CiAgKiBDb25zdGFudHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29kZXMuCiAgKgotICogTWFueSBv
ZiB0aGVzZSBzY3JpcHQgY29kZXMgLSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50
eHQgLQotICogYXJlIGNoYXJhY3RlciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3Jp
cHQgcHJvcGVydHkuCi0gKiBTZWUgVUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5p
Y29kZS5vcmcvcmVwb3J0cy90cjI0LykuCisgKiBUaGUgY3VycmVudCBzZXQgb2Ygc2NyaXB0IGNv
ZGUgY29uc3RhbnRzIHN1cHBvcnRzIGF0IGxlYXN0IGFsbCBzY3JpcHRzCisgKiB0aGF0IGFyZSBl
bmNvZGVkIGluIHRoZSB2ZXJzaW9uIG9mIFVuaWNvZGUgd2hpY2ggSUNVIGN1cnJlbnRseSBzdXBw
b3J0cy4KKyAqIFRoZSBuYW1lcyBvZiB0aGUgY29uc3RhbnRzIGFyZSB1c3VhbGx5IGRlcml2ZWQg
ZnJvbSB0aGUKKyAqIFVuaWNvZGUgc2NyaXB0IHByb3BlcnR5IHZhbHVlIGFsaWFzZXMuCisgKiBT
ZWUgVUFYICMyNCBVbmljb2RlIFNjcmlwdCBQcm9wZXJ0eSAoaHR0cDovL3d3dy51bmljb2RlLm9y
Zy9yZXBvcnRzL3RyMjQvKQorICogYW5kIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL1VD
RC9sYXRlc3QvdWNkL1Byb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCAuCiAgKgogICogU3RhcnRpbmcg
d2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9yIG1vc3QgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcwot
ICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkgZXhjbHVkaW5nIHByaXZhdGUtdXNlIGNvZGVzIFFh
YWEuLlFhYngpLgotICogRm9yIHNjcmlwdHMgZm9yIHdoaWNoIHRoZXJlIGFyZSBjb2RlcyBpbiBJ
U08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QKLSAqIHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFj
dGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBhcmUgbm8gVW5pY29kZSBjaGFyYWN0ZXJzCi0gKiBh
c3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0cy4KKyAqIGFyZSBpbmNsdWRlZCwgZm9yIHVzZSB3
aXRoIGxhbmd1YWdlIHRhZ3MsIENMRFIgZGF0YSwgYW5kIHNpbWlsYXIuCisgKiBTb21lIG9mIHRo
b3NlIGNvZGVzIGFyZSBub3QgdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2Ug
KFVDRCkuCisgKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZl
IGEgVUNEIHNjcmlwdCBwcm9wZXJ0eSB2YWx1ZSBvZgorICogSGFucyBvciBIYW50LiBBbGwgSGFu
IGlkZW9ncmFwaHMgaGF2ZSB0aGUgSGFuaSBzY3JpcHQgcHJvcGVydHkgdmFsdWUgaW4gVW5pY29k
ZS4KICAqCi0gKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZl
IGEgVUNEIHNjcmlwdCBjb2RlIG9mCi0gKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBo
cyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBjb2RlLgotICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0
IGNvZGVzIGFyZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICogUHJpdmF0ZS11c2UgY29kZXMgUWFh
YS4uUWFieCBhcmUgbm90IGluY2x1ZGVkLgogICoKLSAqIElTTyAxNTkyNCBzY3JpcHQgY29kZXMg
YXJlIGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICogU3RhcnRpbmcg
d2l0aCBJQ1UgNTUsIHNjcmlwdCBjb2RlcyBhcmUgb25seSBhZGRlZCB3aGVuIHRoZWlyIHNjcmlw
dHMKKyAqIGhhdmUgYmVlbiBvciB3aWxsIGNlcnRhaW5seSBiZSBlbmNvZGVkIGluIFVuaWNvZGUs
CisgKiBhbmQgaGF2ZSBiZWVuIGFzc2lnbmVkIFVuaWNvZGUgc2NyaXB0IHByb3BlcnR5IHZhbHVl
IGFsaWFzZXMsCisgKiB0byBlbnN1cmUgdGhhdCB0aGVpciBzY3JpcHQgbmFtZXMgYXJlIHN0YWJs
ZSBhbmQgbWF0Y2ggdGhlIG5hbWVzIG9mIHRoZSBjb25zdGFudHMuCisgKiBTY3JpcHQgY29kZXMg
bGlrZSBMYXRmIGFuZCBBcmFuIHRoYXQgYXJlIG5vdCBzdWJqZWN0IHRvIHNlcGFyYXRlIGVuY29k
aW5nCisgKiBtYXkgYmUgYWRkZWQgYXQgYW55IHRpbWUuCiAgKgogICogQHN0YWJsZSBJQ1UgMi4y
CiAgKi8KQEAgLTE4Niw3ICsxOTIsNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAg
ICAgLyoqIEBzdGFibGUgSUNVIDMuNCAqLwogICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0g
NjEsIC8qIFhwZW8gKi8KIAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCAqLworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIFVuaWNvZGUgYW5kIElTTyAxNTky
NCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLwogICAgICAgVVNDUklQVF9CQUxJTkVT
RSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCiAgICAgICAvKiogQHN0YWJs
ZSBJQ1UgMy42ICovCkBAIC0yNzgsNyArMjg0LDYgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2Rl
IHsKICAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjYgKi8KICAgICAgIFVTQ1JJUFRfVU5LTk9XTiAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZv
ciB1bmNvZGVkIHNjcmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCiAKLSAgICAg
IC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KICAgICAgIC8qKiBAc3RhYmxl
IElDVSAzLjggKi8KICAgICAgIFVTQ1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDQsLyogQ2FyaSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuOCAqLwpAQCAtMzA0LDcg
KzMwOSw2IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0YWJsZSBJ
Q1UgMy44ICovCiAgICAgICBVU0NSSVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0g
MTE1LC8qIE10ZWkgKi8KIAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuMCAqLwogICAgICAgVVNDUklQVF9JTVBFUklB
TF9BUkFNQUlDICAgICAgICAgICAgICA9IDExNiwvKiBBcm1pICovCiAgICAgICAvKiogQHN0YWJs
ZSBJQ1UgNC4wICovCkBAIC0zMzQsNyArMzM4LDYgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2Rl
IHsKICAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjAgKi8KICAgICAgIFVTQ1JJUFRfU1lNQk9MUyAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5bSAqLwogCi0gICAgICAvKiBOZXcgc2Ny
aXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC40ICov
CiAgICAgICBVU0NSSVBUX0JBTVVNICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMwLC8qIEJh
bXUgKi8KICAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjQgKi8KQEAgLTM0NCwxMSArMzQ3LDE0IEBA
IHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC40ICov
CiAgICAgICBVU0NSSVBUX09MRF9TT1VUSF9BUkFCSUFOICAgICAgICAgICAgID0gMTMzLC8qIFNh
cmIgKi8KIAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCAqLwogICAg
ICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9CQVNTQV9WQUggICAgICAg
ICAgICAgICAgICAgICA9IDEzNCwvKiBCYXNzICovCi0gICAgICAvKiogQHN0YWJsZSBJQ1UgNC42
ICovCi0gICAgICBVU0NSSVBUX0RVUExPWUFOX1NIT1JUQU5EICAgICAgICAgICAgID0gMTM1LC8q
IER1cGwgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgICAgVVNDUklQVF9EVVBM
T1lBTiAgICAgICAgICAgICAgICAgICAgICA9IDEzNSwvKiBEdXBsICovCisjaWZuZGVmIFVfSElE
RV9ERVBSRUNBVEVEX0FQSQorICAgICAgLyoqIEBkZXByZWNhdGVkIElDVSA1NCBUeXBvLCB1c2Ug
VVNDUklQVF9EVVBMT1lBTiAqLworICAgICAgVVNDUklQVF9EVVBMT1lBTl9TSE9SVEFORCAgICAg
ICAgICAgICA9IFVTQ1JJUFRfRFVQTE9ZQU4sCisjZW5kaWYgIC8qIFVfSElERV9ERVBSRUNBVEVE
X0FQSSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9FTEJB
U0FOICAgICAgICAgICAgICAgICAgICAgICA9IDEzNiwvKiBFbGJhICovCiAgICAgICAvKiogQHN0
YWJsZSBJQ1UgNC42ICovCkBAIC0zNTcsNyArMzYzLDcgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRD
b2RlIHsKICAgICAgIFVTQ1JJUFRfS1BFTExFICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzgs
LyogS3BlbCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9M
T01BICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwvKiBMb21hICovCi0gICAgICAvKiog
QHN0YWJsZSBJQ1UgNC42ICovCisgICAgICAvKiogTWVuZGUgS2lrYWt1aSBAc3RhYmxlIElDVSA0
LjYgKi8KICAgICAgIFVTQ1JJUFRfTUVOREUgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDAs
LyogTWVuZCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9N
RVJPSVRJQ19DVVJTSVZFICAgICAgICAgICAgICA9IDE0MSwvKiBNZXJjICovCkBAIC0zNjcsOCAr
MzczLDEwIEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICBVU0NSSVBUX05BQkFU
QUVBTiAgICAgICAgICAgICAgICAgICAgID0gMTQzLC8qIE5iYXQgKi8KICAgICAgIC8qKiBAc3Rh
YmxlIElDVSA0LjYgKi8KICAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAgICAgICAgICAgICAgICAg
ICAgPSAxNDQsLyogUGFsbSAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBV
U0NSSVBUX0tIVURBV0FESSAgICAgICAgICAgICAgICAgICAgID0gMTQ1LC8qIFNpbmQgKi8KICAg
ICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KLSAgICAgIFVTQ1JJUFRfU0lOREhJICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxNDUsLyogU2luZCAqLworICAgICAgVVNDUklQVF9TSU5ESEkgICAg
ICAgICAgICAgICAgICAgICAgICA9IFVTQ1JJUFRfS0hVREFXQURJLAogICAgICAgLyoqIEBzdGFi
bGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9XQVJBTkdfQ0lUSSAgICAgICAgICAgICAgICAg
ICA9IDE0NiwvKiBXYXJhICovCiAKQEAgLTQwMywyMiArNDExLDQ0IEBAIHR5cGVkZWYgZW51bSBV
U2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNTIgKi8KICAgICAgIFVTQ1JJUFRf
TUFIQUpBTkkgICAgICAgICAgICAgICAgICAgICAgPSAxNjAsLyogTWFoaiAqLwogCi0gICAgICAv
KiBQcml2YXRlIHVzZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkICov
Ci0KLSAgICAgIC8qKiBAc3RhYmxlIElDVSAyLjIgKi8KLSAgICAgIFVTQ1JJUFRfQ09ERV9MSU1J
VCAgICA9IDE2MQorICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX0FI
T00gICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYxLC8qIEFob20gKi8KKyAgICAgIC8qKiBA
c3RhYmxlIElDVSA1NCAqLworICAgICAgVVNDUklQVF9IQVRSQU4gICAgICAgICAgICAgICAgICAg
ICAgICA9IDE2MiwvKiBIYXRyICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAg
IFVTQ1JJUFRfTU9ESSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjMsLyogTW9kaSAqLwor
ICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX01VTFRBTkkgICAgICAg
ICAgICAgICAgICAgICAgID0gMTY0LC8qIE11bHQgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1
NCAqLworICAgICAgVVNDUklQVF9QQVVfQ0lOX0hBVSAgICAgICAgICAgICAgICAgICA9IDE2NSwv
KiBQYXVjICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVTQ1JJUFRfU0lE
REhBTSAgICAgICAgICAgICAgICAgICAgICAgPSAxNjYsLyogU2lkZCAqLworCisgICAgICAvKioK
KyAgICAgICAqIE9uZSBoaWdoZXIgdGhhbiB0aGUgbGFzdCBzY3JpcHQgY29kZSBjb25zdGFudC4K
KyAgICAgICAqIFRoaXMgdmFsdWUgaW5jcmVhc2VzIGFzIGNvbnN0YW50cyBmb3Igc2NyaXB0IGNv
ZGVzIGFyZSBhZGRlZC4KKyAgICAgICAqCisgICAgICAgKiBUaGVyZSBhcmUgY29uc3RhbnRzIGZv
ciBVbmljb2RlIDcgc2NyaXB0IHByb3BlcnR5IHZhbHVlcy4KKyAgICAgICAqIFRoZXJlIGFyZSBj
b25zdGFudHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29kZXMgYXNzaWduZWQgb24gb3IgYmVmb3Jl
IDIwMTMtMTAtMTIuCisgICAgICAgKiBUaGVyZSBhcmUgbm8gY29uc3RhbnRzIGZvciBwcml2YXRl
IHVzZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4CisgICAgICAgKiBleGNlcHQgYXMgdXNlZCBpbiB0
aGUgVUNELgorICAgICAgICoKKyAgICAgICAqIEBzdGFibGUgSUNVIDIuMgorICAgICAgICovCisg
ICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxNjcKIH0gVVNjcmlwdENvZGU7CiAKIC8qKgot
ICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBsb2NhbGUgb3Ig
SVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAqIEdldHMgdGhlIHNjcmlwdCBjb2Rl
cyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGxvY2FsZSBvciBJU08gMTU5MjQgYWJicmV2aWF0
aW9uIG9yIG5hbWUuIAogICogRmlsbHMgaW4gVVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4gIk1hbGF5
YW0iIE9SICJNbHltIi4KICAqIEZpbGxzIGluIFVTQ1JJUFRfTEFUSU4gZ2l2ZW4gImVuIiBPUiAi
ZW5fVVMiIAotICogSWYgcmVxdWlyZWQgY2FwYWNpdHkgaXMgZ3JlYXRlciB0aGFuIGNhcGFjaXR5
IG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgdGhlbiB0aGUgZXJyb3IgY29kZQotICogaXMgc2V0
IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGFuZCB0aGUgcmVxdWlyZWQgY2FwYWNpdHkgaXMg
cmV0dXJuZWQKKyAqIElmIHRoZSByZXF1aXJlZCBjYXBhY2l0eSBpcyBncmVhdGVyIHRoYW4gdGhl
IGNhcGFjaXR5IG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIsCisgKiB0aGVuIHRoZSBlcnJvciBj
b2RlIGlzIHNldCB0byBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUiBhbmQgdGhlIHJlcXVpcmVkIGNh
cGFjaXR5IGlzIHJldHVybmVkLgogICoKICAqIDxwPk5vdGU6IFRvIHNlYXJjaCBieSBzaG9ydCBv
ciBsb25nIHNjcmlwdCBhbGlhcyBvbmx5LCB1c2UKLSAqIHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0o
VUNIQVJfU0NSSVBULCBhbGlhcykgaW5zdGVhZC4gIFRoaXMgZG9lcworICogdV9nZXRQcm9wZXJ0
eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAgVGhhdCBkb2VzCiAgKiBh
IGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2NhbGUgZGF0YS4KKyAqCiAgKiBA
cGFyYW0gbmFtZU9yQWJick9yTG9jYWxlIG5hbWUgb2YgdGhlIHNjcmlwdCwgYXMgZ2l2ZW4gaW4K
ICAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgSVNPIDE1OTI0IGNvZGUgb3IgbG9jYWxl
CiAgKiBAcGFyYW0gZmlsbEluIHRoZSBVU2NyaXB0Q29kZSBidWZmZXIgdG8gZmlsbCBpbiB0aGUg
c2NyaXB0IGNvZGUKQEAgLTQzMSwyMiArNDYxLDI1IEBAIFVfU1RBQkxFIGludDMyX3QgIFVfRVhQ
T1JUMgogdXNjcmlwdF9nZXRDb2RlKGNvbnN0IGNoYXIqIG5hbWVPckFiYnJPckxvY2FsZSxVU2Ny
aXB0Q29kZSogZmlsbEluLGludDMyX3QgY2FwYWNpdHksVUVycm9yQ29kZSAqZXJyKTsKIAogLyoq
Ci0gKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQg
Y29kZS4gCi0gKiBSZXR1cm5zICAiTWFsYXlhbSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAq
IFJldHVybnMgdGhlIGxvbmcgVW5pY29kZSBzY3JpcHQgbmFtZSwgaWYgdGhlcmUgaXMgb25lLgor
ICogT3RoZXJ3aXNlIHJldHVybnMgdGhlIDQtbGV0dGVyIElTTyAxNTkyNCBzY3JpcHQgY29kZS4K
KyAqIFJldHVybnMgIk1hbGF5YW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNLgorICoKICAqIEBw
YXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2RlIGVudW0KLSAqIEByZXR1cm4gc2NyaXB0IGxvbmcg
bmFtZSBhcyBnaXZlbiBpbgotICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlm
IHNjcmlwdENvZGUgaXMgaW52YWxpZAorICogQHJldHVybiBsb25nIHNjcmlwdCBuYW1lIGFzIGdp
dmVuIGluIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgdGhlIDQtbGV0dGVyIGNvZGUsCisg
KiBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAogICogQHN0YWJsZSBJQ1UgMi40CiAg
Ki8KIFVfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCiB1c2NyaXB0X2dldE5hbWUoVVNj
cmlwdENvZGUgc2NyaXB0Q29kZSk7CiAKIC8qKgotICogR2V0cyBhIHNjcmlwdCBuYW1lIGFzc29j
aWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAotICogUmV0dXJucyAgIk1seW0iIGdp
dmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBSZXR1cm5zIHRoZSA0LWxldHRlciBJU08gMTU5MjQg
c2NyaXB0IGNvZGUsCisgKiB3aGljaCBpcyB0aGUgc2FtZSBhcyB0aGUgc2hvcnQgVW5pY29kZSBz
Y3JpcHQgbmFtZSBpZiBVbmljb2RlIGhhcyBuYW1lcyBmb3IgdGhlIHNjcmlwdC4KKyAqIFJldHVy
bnMgIk1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNLgorICoKICAqIEBwYXJhbSBzY3JpcHRD
b2RlIFVTY3JpcHRDb2RlIGVudW0KLSAqIEByZXR1cm4gc2NyaXB0IGFiYnJldmlhdGVkIG5hbWUg
YXMgZ2l2ZW4gaW4KLSAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3Jp
cHRDb2RlIGlzIGludmFsaWQKKyAqIEByZXR1cm4gc2hvcnQgc2NyaXB0IG5hbWUgKDQtbGV0dGVy
IGNvZGUpLCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAogICogQHN0YWJsZSBJQ1Ug
Mi40CiAgKi8KIFVfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCkBAIC01MTcsMjcgKzU1
MCwyNSBAQCB1c2NyaXB0X2dldFNjcmlwdEV4dGVuc2lvbnMoVUNoYXIzMiBjLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFVTY3JpcHRDb2RlICpzY3JpcHRzLCBpbnQzMl90IGNhcGFjaXR5
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKmVycm9yQ29kZSk7CiAK
LSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQotCiAvKioKICAqIFNjcmlwdCB1c2FnZSBjb25zdGFu
dHMuCiAgKiBTZWUgVUFYICMzMSBVbmljb2RlIElkZW50aWZpZXIgYW5kIFBhdHRlcm4gU3ludGF4
LgogICogaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzEvI1RhYmxlX0NhbmRpZGF0
ZV9DaGFyYWN0ZXJzX2Zvcl9FeGNsdXNpb25fZnJvbV9JZGVudGlmaWVycwogICoKLSAqIEBkcmFm
dCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KIHR5cGVkZWYgZW51bSBVU2NyaXB0VXNh
Z2UgewotICAgIC8qKiBOb3QgZW5jb2RlZCBpbiBVbmljb2RlLiBAZHJhZnQgSUNVIDUxICovCisg
ICAgLyoqIE5vdCBlbmNvZGVkIGluIFVuaWNvZGUuIEBzdGFibGUgSUNVIDUxICovCiAgICAgVVND
UklQVF9VU0FHRV9OT1RfRU5DT0RFRCwKLSAgICAvKiogVW5rbm93biBzY3JpcHQgdXNhZ2UuIEBk
cmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogVW5rbm93biBzY3JpcHQgdXNhZ2UuIEBzdGFibGUgSUNV
IDUxICovCiAgICAgVVNDUklQVF9VU0FHRV9VTktOT1dOLAotICAgIC8qKiBDYW5kaWRhdGUgZm9y
IEV4Y2x1c2lvbiBmcm9tIElkZW50aWZpZXJzLiBAZHJhZnQgSUNVIDUxICovCisgICAgLyoqIENh
bmRpZGF0ZSBmb3IgRXhjbHVzaW9uIGZyb20gSWRlbnRpZmllcnMuIEBzdGFibGUgSUNVIDUxICov
CiAgICAgVVNDUklQVF9VU0FHRV9FWENMVURFRCwKLSAgICAvKiogTGltaXRlZCBVc2Ugc2NyaXB0
LiBAZHJhZnQgSUNVIDUxICovCisgICAgLyoqIExpbWl0ZWQgVXNlIHNjcmlwdC4gQHN0YWJsZSBJ
Q1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX0xJTUlURURfVVNFLAotICAgIC8qKiBBc3BpcmF0
aW9uYWwgVXNlIHNjcmlwdC4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBBc3BpcmF0aW9uYWwg
VXNlIHNjcmlwdC4gQHN0YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX0FTUElSQVRJ
T05BTCwKLSAgICAvKiogUmVjb21tZW5kZWQgc2NyaXB0LiBAZHJhZnQgSUNVIDUxICovCisgICAg
LyoqIFJlY29tbWVuZGVkIHNjcmlwdC4gQHN0YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VT
QUdFX1JFQ09NTUVOREVECiB9IFVTY3JpcHRVc2FnZTsKIApAQCAtNTUxLDkgKzU4Miw5IEBAIHR5
cGVkZWYgZW51bSBVU2NyaXB0VXNhZ2UgewogICogQHBhcmFtIGNhcGFjaXR5IG51bWJlciBvZiBV
Q2hhcnMgaW4gdGhlIGRlc3QgYXJyYXkKICAqIEBwYXJhbSBwRXJyb3JDb2RlIHN0YW5kYXJkIElD
VSBpbi9vdXQgZXJyb3IgY29kZSwgbXVzdCBwYXNzIFVfU1VDQ0VTUygpIG9uIGlucHV0CiAgKiBA
cmV0dXJuIHRoZSBzdHJpbmcgbGVuZ3RoLCBldmVuIGlmIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9S
Ci0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCi1VX0RSQUZUIGludDMy
X3QgVV9FWFBPUlQyCitVX1NUQUJMRSBpbnQzMl90IFVfRVhQT1JUMgogdXNjcmlwdF9nZXRTYW1w
bGVTdHJpbmcoVVNjcmlwdENvZGUgc2NyaXB0LCBVQ2hhciAqZGVzdCwgaW50MzJfdCBjYXBhY2l0
eSwgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAKICNpZiBVX1NIT1dfQ1BMVVNQTFVTX0FQSQpA
QCAtNTY5LDcgKzYwMCw3IEBAIFVfTkFNRVNQQUNFX0VORAogICoKICAqIEBwYXJhbSBzY3JpcHQg
c2NyaXB0IGNvZGUKICAqIEByZXR1cm4gdGhlIHNhbXBsZSBjaGFyYWN0ZXIgc3RyaW5nCi0gKiBA
ZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCiBVX0NPTU1PTl9BUEkgaWN1OjpV
bmljb2RlU3RyaW5nIFVfRVhQT1JUMgogdXNjcmlwdF9nZXRTYW1wbGVVbmljb2RlU3RyaW5nKFVT
Y3JpcHRDb2RlIHNjcmlwdCk7CkBAIC01ODMsOSArNjE0LDkgQEAgdXNjcmlwdF9nZXRTYW1wbGVV
bmljb2RlU3RyaW5nKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAgKiBAcGFyYW0gc2NyaXB0IHNjcmlw
dCBjb2RlCiAgKiBAcmV0dXJuIHNjcmlwdCB1c2FnZQogICogQHNlZSBVU2NyaXB0VXNhZ2UKLSAq
IEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KLVVfRFJBRlQgVVNjcmlwdFVz
YWdlIFVfRVhQT1JUMgorVV9TVEFCTEUgVVNjcmlwdFVzYWdlIFVfRVhQT1JUMgogdXNjcmlwdF9n
ZXRVc2FnZShVU2NyaXB0Q29kZSBzY3JpcHQpOwogCiAvKioKQEAgLTU5NCw5ICs2MjUsOSBAQCB1
c2NyaXB0X2dldFVzYWdlKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAgKgogICogQHBhcmFtIHNjcmlw
dCBzY3JpcHQgY29kZQogICogQHJldHVybiBUUlVFIGlmIHRoZSBzY3JpcHQgaXMgcmlnaHQtdG8t
bGVmdAotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBV
Qm9vbCBVX0VYUE9SVDIKK1VfU1RBQkxFIFVCb29sIFVfRVhQT1JUMgogdXNjcmlwdF9pc1JpZ2h0
VG9MZWZ0KFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAKIC8qKgpAQCAtNjA2LDkgKzYzNyw5IEBAIHVz
Y3JpcHRfaXNSaWdodFRvTGVmdChVU2NyaXB0Q29kZSBzY3JpcHQpOwogICoKICAqIEBwYXJhbSBz
Y3JpcHQgc2NyaXB0IGNvZGUKICAqIEByZXR1cm4gVFJVRSBpZiB0aGUgc2NyaXB0IGFsbG93cyBs
aW5lIGJyZWFrcyBiZXR3ZWVuIGxldHRlcnMKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUg
SUNVIDUxCiAgKi8KLVVfRFJBRlQgVUJvb2wgVV9FWFBPUlQyCitVX1NUQUJMRSBVQm9vbCBVX0VY
UE9SVDIKIHVzY3JpcHRfYnJlYWtzQmV0d2VlbkxldHRlcnMoVVNjcmlwdENvZGUgc2NyaXB0KTsK
IAogLyoqCkBAIC02MTcsMTEgKzY0OCw5IEBAIHVzY3JpcHRfYnJlYWtzQmV0d2VlbkxldHRlcnMo
VVNjcmlwdENvZGUgc2NyaXB0KTsKICAqCiAgKiBAcGFyYW0gc2NyaXB0IHNjcmlwdCBjb2RlCiAg
KiBAcmV0dXJuIFRSVUUgaWYgdGhlIHNjcmlwdCBpcyBjYXNlZAotICogQGRyYWZ0IElDVSA1MQor
ICogQHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBVQm9vbCBVX0VYUE9SVDIKK1VfU1RBQkxF
IFVCb29sIFVfRVhQT1JUMgogdXNjcmlwdF9pc0Nhc2VkKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAK
LSNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLwotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaWN1L3VuaWNvZGUvdXNldC5oCmluZGV4IDQwNTEwY2Q0MTY3YzhmNzdkNTA2NjFkZmZm
N2ZlMDliOWVmODA1MzIuLmViM2M5ZTZhMDZhNmY5ZmY5NDkzNWVlODEwZTljYTg5MWRmNjAxMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2V0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VzZXQuaApAQCAtMSw3ICsxLDcg
QEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAyMDAy
LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMp
IDIwMDItMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0
aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgpAQCAtOTgsOCArOTgsOCBAQCBlbnVtIHsKICAqCiAgKiBUaGUgZnVuY3Rpb25hbGl0
eSBpcyBzdHJhaWdodGZvcndhcmQgZm9yIHNldHMgd2l0aCBvbmx5IHNpbmdsZSBjb2RlIHBvaW50
cywKICAqIHdpdGhvdXQgc3RyaW5ncyAod2hpY2ggaXMgdGhlIGNvbW1vbiBjYXNlKToKLSAqIC0g
VVNFVF9TUEFOX0NPTlRBSU5FRCBhbmQgVVNFVF9TUEFOX1NJTVBMRQotICogICB3b3JrIHRoZSBz
YW1lLgorICogLSBVU0VUX1NQQU5fQ09OVEFJTkVEIGFuZCBVU0VUX1NQQU5fU0lNUExFIHdvcmsg
dGhlIHNhbWUuCisgKiAtIFVTRVRfU1BBTl9DT05UQUlORUQgYW5kIFVTRVRfU1BBTl9TSU1QTEUg
YXJlIGludmVyc2VzIG9mIFVTRVRfU1BBTl9OT1RfQ09OVEFJTkVELgogICogLSBzcGFuKCkgYW5k
IHNwYW5CYWNrKCkgcGFydGl0aW9uIGFueSBzdHJpbmcgdGhlIHNhbWUgd2F5IHdoZW4KICAqICAg
YWx0ZXJuYXRpbmcgYmV0d2VlbiBzcGFuKFVTRVRfU1BBTl9OT1RfQ09OVEFJTkVEKSBhbmQKICAq
ICAgc3BhbihlaXRoZXIgImNvbnRhaW5lZCIgY29uZGl0aW9uKS4KQEAgLTE0OSw3ICsxNDksOCBA
QCBlbnVtIHsKICAqLwogdHlwZWRlZiBlbnVtIFVTZXRTcGFuQ29uZGl0aW9uIHsKICAgICAvKioK
LSAgICAgKiBDb250aW51ZSBhIHNwYW4oKSB3aGlsZSB0aGVyZSBpcyBubyBzZXQgZWxlbWVudCBh
dCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUg
dGhlcmUgaXMgbm8gc2V0IGVsZW1lbnQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCisgICAgICog
SW5jcmVtZW50cyBieSBvbmUgY29kZSBwb2ludCBhdCBhIHRpbWUuCiAgICAgICogU3RvcHMgYmVm
b3JlIHRoZSBmaXJzdCBzZXQgZWxlbWVudCAoY2hhcmFjdGVyIG9yIHN0cmluZykuCiAgICAgICog
KEZvciBjb2RlIHBvaW50cyBvbmx5LCB0aGlzIGlzIGxpa2Ugd2hpbGUgY29udGFpbnMoY3VycmVu
dCk9PUZBTFNFKS4KICAgICAgKgpAQCAtMTYxLDIyICsxNjIsMjMgQEAgdHlwZWRlZiBlbnVtIFVT
ZXRTcGFuQ29uZGl0aW9uIHsKICAgICAgKi8KICAgICBVU0VUX1NQQU5fTk9UX0NPTlRBSU5FRCA9
IDAsCiAgICAgLyoqCi0gICAgICogQ29udGludWUgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBz
ZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBTcGFucyB0aGUgbG9u
Z2VzdCBzdWJzdHJpbmcgdGhhdCBpcyBhIGNvbmNhdGVuYXRpb24gb2Ygc2V0IGVsZW1lbnRzIChj
aGFyYWN0ZXJzIG9yIHN0cmluZ3MpLgogICAgICAqIChGb3IgY2hhcmFjdGVycyBvbmx5LCB0aGlz
IGlzIGxpa2Ugd2hpbGUgY29udGFpbnMoY3VycmVudCk9PVRSVUUpLgogICAgICAqCiAgICAgICog
V2hlbiBzcGFuKCkgcmV0dXJucywgdGhlIHN1YnN0cmluZyBiZXR3ZWVuIHdoZXJlIGl0IHN0YXJ0
ZWQgYW5kIHRoZSBwb3NpdGlvbgogICAgICAqIGl0IHJldHVybmVkIGNvbnNpc3RzIG9ubHkgb2Yg
c2V0IGVsZW1lbnRzIChjaGFyYWN0ZXJzIG9yIHN0cmluZ3MpIHRoYXQgYXJlIGluIHRoZSBzZXQu
CiAgICAgICoKLSAgICAgKiBJZiBhIHNldCBjb250YWlucyBzdHJpbmdzLCB0aGVuIHRoZSBzcGFu
IHdpbGwgYmUgdGhlIGxvbmdlc3Qgc3Vic3RyaW5nCi0gICAgICogbWF0Y2hpbmcgYW55IG9mIHRo
ZSBwb3NzaWJsZSBjb25jYXRlbmF0aW9ucyBvZiBzZXQgZWxlbWVudHMgKGNoYXJhY3RlcnMgb3Ig
c3RyaW5ncykuCi0gICAgICogKFRoZXJlIG11c3QgYmUgYSBzaW5nbGUsIG5vbi1vdmVybGFwcGlu
ZyBjb25jYXRlbmF0aW9uIG9mIGNoYXJhY3RlcnMgb3Igc3RyaW5ncy4pCi0gICAgICogVGhpcyBp
cyBlcXVpdmFsZW50IHRvIGEgUE9TSVggcmVndWxhciBleHByZXNzaW9uIGZvciAoT1Igb2YgZWFj
aCBzZXQgZWxlbWVudCkqLgorICAgICAqIElmIGEgc2V0IGNvbnRhaW5zIHN0cmluZ3MsIHRoZW4g
dGhlIHNwYW4gd2lsbCBiZSB0aGUgbG9uZ2VzdCBzdWJzdHJpbmcgZm9yIHdoaWNoIHRoZXJlCisg
ICAgICogZXhpc3RzIGF0IGxlYXN0IG9uZSBub24tb3ZlcmxhcHBpbmcgY29uY2F0ZW5hdGlvbiBv
ZiBzZXQgZWxlbWVudHMgKGNoYXJhY3RlcnMgb3Igc3RyaW5ncykuCisgICAgICogVGhpcyBpcyBl
cXVpdmFsZW50IHRvIGEgUE9TSVggcmVndWxhciBleHByZXNzaW9uIGZvciA8Y29kZT4oT1Igb2Yg
ZWFjaCBzZXQgZWxlbWVudCkqPC9jb2RlPi4KKyAgICAgKiAoSmF2YS9JQ1UvUGVybCByZWdleCBz
dG9wcyBhdCB0aGUgZmlyc3QgbWF0Y2ggb2YgYW4gT1IuKQogICAgICAqCiAgICAgICogQHN0YWJs
ZSBJQ1UgMy44CiAgICAgICovCiAgICAgVVNFVF9TUEFOX0NPTlRBSU5FRCA9IDEsCiAgICAgLyoq
Ci0gICAgICogQ29udGludWUgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBzZXQgZWxlbWVudCBh
dCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUg
dGhlcmUgaXMgYSBzZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBJ
bmNyZW1lbnRzIGJ5IHRoZSBsb25nZXN0IG1hdGNoaW5nIGVsZW1lbnQgYXQgZWFjaCBwb3NpdGlv
bi4KICAgICAgKiAoRm9yIGNoYXJhY3RlcnMgb25seSwgdGhpcyBpcyBsaWtlIHdoaWxlIGNvbnRh
aW5zKGN1cnJlbnQpPT1UUlVFKS4KICAgICAgKgogICAgICAqIFdoZW4gc3BhbigpIHJldHVybnMs
IHRoZSBzdWJzdHJpbmcgYmV0d2VlbiB3aGVyZSBpdCBzdGFydGVkIGFuZCB0aGUgcG9zaXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c3RyaW5nLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXN0cmluZy5oCmluZGV4IGQyZWEz
MWM2NzQ3ZjhmMWMxZWIwMzcwZTI4NDNjM2Y2NDQ5OGIwZjEuLjZkMTQxZThkZjYzMzhkYzhlNGVk
MGM5ZjQ0Yjc2YmIzYWM1MWEwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
Y3UvdW5pY29kZS91c3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmlj
b2RlL3VzdHJpbmcuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29w
eXJpZ2h0IChDKSAxOTk4LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyog
ICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgogKgpAQCAtMTMxMSw3ICsxMzExLDYgQEAgdV9zdHJGcm9tVVRGOChVQ2hhciAq
ZGVzdCwKIAogLyoqCiAgKiBDb252ZXJ0IGEgVVRGLTE2IHN0cmluZyB0byBVVEYtOC4KLSAqIElm
IHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkLCB0aGVuIHRoZSBVX0lOVkFMSURf
Q0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KICAqCiAgKiBTYW1lIGFzIHVfc3RyVG9VVEY4
KCkgZXhjZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdoaWNoIGlzIG91dHB1dCBmb3IK
ICAqIGlsbGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHdpdGggdGhl
IFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0xMzU2LDcgKzEzNTUsNiBAQCB1
X3N0clRvVVRGOFdpdGhTdWIoY2hhciAqZGVzdCwKIAogLyoqCiAgKiBDb252ZXJ0IGEgVVRGLTgg
c3RyaW5nIHRvIFVURi0xNi4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9y
bWVkLCB0aGVuIHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KICAq
CiAgKiBTYW1lIGFzIHVfc3RyRnJvbVVURjgoKSBleGNlcHQgZm9yIHRoZSBhZGRpdGlvbmFsIHN1
YmNoYXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1ZW5jZXMsIGlu
c3RlYWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29k
ZS4KQEAgLTE1MjEsNyArMTUxOSw2IEBAIHVfc3RyRnJvbVVURjMyKFVDaGFyICAgKmRlc3QsCiAK
IC8qKgogICogQ29udmVydCBhIFVURi0xNiBzdHJpbmcgdG8gVVRGLTMyLgotICogSWYgdGhlIGlu
cHV0IHN0cmluZyBpcyBub3Qgd2VsbC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZP
VU5EIGVycm9yIGNvZGUgaXMgc2V0LgogICoKICAqIFNhbWUgYXMgdV9zdHJUb1VURjMyKCkgZXhj
ZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdoaWNoIGlzIG91dHB1dCBmb3IKICAqIGls
bGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHdpdGggdGhlIFVfSU5W
QUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0xNTY2LDcgKzE1NjMsNiBAQCB1X3N0clRv
VVRGMzJXaXRoU3ViKFVDaGFyMzIgKmRlc3QsCiAKIC8qKgogICogQ29udmVydCBhIFVURi0zMiBz
dHJpbmcgdG8gVVRGLTE2LgotICogSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3Qgd2VsbC1mb3Jt
ZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUgaXMgc2V0LgogICoK
ICAqIFNhbWUgYXMgdV9zdHJGcm9tVVRGMzIoKSBleGNlcHQgZm9yIHRoZSBhZGRpdGlvbmFsIHN1
YmNoYXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1ZW5jZXMsIGlu
c3RlYWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29k
ZS4KQEAgLTE2NTIsNyArMTY0OCw4IEBAIHVfc3RyVG9KYXZhTW9kaWZpZWRVVEY4KAogCiAvKioK
ICAqIENvbnZlcnQgYSBKYXZhIE1vZGlmaWVkIFVURi04IHN0cmluZyB0byBhIDE2LWJpdCBVbmlj
b2RlIHN0cmluZy4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkLCB0
aGVuIHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KKyAqIElmIHRo
ZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkIGFuZCBubyBzdWJzdGl0dXRpb24gY2hh
ciBpcyBzcGVjaWZpZWQsIAorICogdGhlbiB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3Ig
Y29kZSBpcyBzZXQuCiAgKgogICogVGhpcyBmdW5jdGlvbiBiZWhhdmVzIGFjY29yZGluZyB0byB0
aGUgZG9jdW1lbnRhdGlvbiBmb3IgSmF2YSBEYXRhSW5wdXQucmVhZFVURigpCiAgKiBleGNlcHQg
dGhhdCBpdCB0YWtlcyBhIGxlbmd0aCBwYXJhbWV0ZXIgcmF0aGVyIHRoYW4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dGY4LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaWN1L3VuaWNvZGUvdXRmOC5oCmluZGV4IDIxZTVmM2QwNDc5MDUzMTU1ZjI5NGM0
Mjg4NGY0Mjc0ZGE1NDRlYjguLjdiZDBiMGU4NTI2MGYwMjBhODg1ZDU5YWJjMjRiZjMwNTA5N2Qy
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dGY4LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V0ZjguaApAQCAtMSw3ICsx
LDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAx
OTk5LTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQg
KEMpIDE5OTktMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBv
cmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgpAQCAtNzgsOSArNzgsOSBAQCB1dGY4X2NvdW50VHJhaWxCeXRlc1syNTZdOwog
ICogQGludGVybmFsCiAgKi8KICNkZWZpbmUgVThfQ09VTlRfVFJBSUxfQllURVMobGVhZEJ5dGUp
IFwKLSAgICAoKGxlYWRCeXRlKTwweGYwID8gXAotICAgICAgICAoKGxlYWRCeXRlKT49MHhjMCkr
KChsZWFkQnl0ZSk+PTB4ZTApIDogXAotICAgICAgICAobGVhZEJ5dGUpPDB4ZmUgPyAzKygobGVh
ZEJ5dGUpPj0weGY4KSsoKGxlYWRCeXRlKT49MHhmYykgOiAwKQorICAgICgodWludDhfdCkobGVh
ZEJ5dGUpPDB4ZjAgPyBcCisgICAgICAgICgodWludDhfdCkobGVhZEJ5dGUpPj0weGMwKSsoKHVp
bnQ4X3QpKGxlYWRCeXRlKT49MHhlMCkgOiBcCisgICAgICAgICh1aW50OF90KShsZWFkQnl0ZSk8
MHhmZSA/IDMrKCh1aW50OF90KShsZWFkQnl0ZSk+PTB4ZjgpKygodWludDhfdCkobGVhZEJ5dGUp
Pj0weGZjKSA6IDApCiAKIC8qKgogICogQ291bnRzIHRoZSB0cmFpbCBieXRlcyBmb3IgYSBVVEYt
OCBsZWFkIGJ5dGUgb2YgYSB2YWxpZCBVVEYtOCBzZXF1ZW5jZS4KQEAgLTI1Myw3ICsyNTMsNiBA
QCB1dGY4X2JhY2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50
MzJfdCBpKTsKICAgICBVOF9ORVhUKHMsIF91OF9nZXRfaW5kZXgsIGxlbmd0aCwgYyk7IFwKIH0K
IAotI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCiAvKioKICAqIEdldCBhIGNvZGUgcG9pbnQgZnJv
bSBhIHN0cmluZyBhdCBhIHJhbmRvbS1hY2Nlc3Mgb2Zmc2V0LAogICogd2l0aG91dCBjaGFuZ2lu
ZyB0aGUgb2Zmc2V0LgpAQCAtMjc3LDE0ICsyNzYsMTMgQEAgdXRmOF9iYWNrMVNhZmVCb2R5KGNv
bnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAgKiBAcGFyYW0gbGVu
Z3RoIGludDMyX3Qgc3RyaW5nIGxlbmd0aAogICogQHBhcmFtIGMgb3V0cHV0IFVDaGFyMzIgdmFy
aWFibGUsIHNldCB0byBVK0ZGRkQgaW4gY2FzZSBvZiBhbiBlcnJvcgogICogQHNlZSBVOF9HRVQK
LSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KICNkZWZpbmUgVThfR0VU
X09SX0ZGRkQocywgc3RhcnQsIGksIGxlbmd0aCwgYykgeyBcCiAgICAgaW50MzJfdCBfdThfZ2V0
X2luZGV4PShpKTsgXAogICAgIFU4X1NFVF9DUF9TVEFSVChzLCBzdGFydCwgX3U4X2dldF9pbmRl
eCk7IFwKICAgICBVOF9ORVhUX09SX0ZGRkQocywgX3U4X2dldF9pbmRleCwgbGVuZ3RoLCBjKTsg
XAogfQotI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KIAogLyogZGVmaW5pdGlvbnMgd2l0
aCBmb3J3YXJkIGl0ZXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gKi8KIApAQCAtMzY4LDcgKzM2Niw2IEBAIHV0ZjhfYmFjazFTYWZlQm9keShjb25zdCB1aW50
OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwogICAgIH0gXAogfQogCi0jaWZuZGVm
IFVfSElERV9EUkFGVF9BUEkKIC8qKgogICogR2V0IGEgY29kZSBwb2ludCBmcm9tIGEgc3RyaW5n
IGF0IGEgY29kZSBwb2ludCBib3VuZGFyeSBvZmZzZXQsCiAgKiBhbmQgYWR2YW5jZSB0aGUgb2Zm
c2V0IHRvIHRoZSBuZXh0IGNvZGUgcG9pbnQgYm91bmRhcnkuCkBAIC0zOTEsNyArMzg4LDcgQEAg
dXRmOF9iYWNrMVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMy
X3QgaSk7CiAgKiBAcGFyYW0gbGVuZ3RoIGludDMyX3Qgc3RyaW5nIGxlbmd0aAogICogQHBhcmFt
IGMgb3V0cHV0IFVDaGFyMzIgdmFyaWFibGUsIHNldCB0byBVK0ZGRkQgaW4gY2FzZSBvZiBhbiBl
cnJvcgogICogQHNlZSBVOF9ORVhUCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1
MQogICovCiAjZGVmaW5lIFU4X05FWFRfT1JfRkZGRChzLCBpLCBsZW5ndGgsIGMpIHsgXAogICAg
IChjKT0odWludDhfdCkocylbKGkpKytdOyBcCkBAIC00MTksNyArNDE2LDYgQEAgdXRmOF9iYWNr
MVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAg
ICAgICAgIH0gXAogICAgIH0gXAogfQotI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KIAog
LyoqCiAgKiBBcHBlbmQgYSBjb2RlIHBvaW50IHRvIGEgc3RyaW5nLCBvdmVyd3JpdGluZyAxIHRv
IDQgYnl0ZXMuCkBAIC02NzYsNyArNjcyLDYgQEAgdXRmOF9iYWNrMVNhZmVCb2R5KGNvbnN0IHVp
bnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAgICAgfSBcCiB9CiAKLSNpZm5k
ZWYgVV9ISURFX0RSQUZUX0FQSQogLyoqCiAgKiBNb3ZlIHRoZSBzdHJpbmcgb2Zmc2V0IGZyb20g
b25lIGNvZGUgcG9pbnQgYm91bmRhcnkgdG8gdGhlIHByZXZpb3VzIG9uZQogICogYW5kIGdldCB0
aGUgY29kZSBwb2ludCBiZXR3ZWVuIHRoZW0uCkBAIC02OTksNyArNjk0LDcgQEAgdXRmOF9iYWNr
MVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAg
KiBAcGFyYW0gaSBpbnQzMl90IHN0cmluZyBvZmZzZXQsIG11c3QgYmUgc3RhcnQ8aQogICogQHBh
cmFtIGMgb3V0cHV0IFVDaGFyMzIgdmFyaWFibGUsIHNldCB0byBVK0ZGRkQgaW4gY2FzZSBvZiBh
biBlcnJvcgogICogQHNlZSBVOF9QUkVWCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElD
VSA1MQogICovCiAjZGVmaW5lIFU4X1BSRVZfT1JfRkZGRChzLCBzdGFydCwgaSwgYykgeyBcCiAg
ICAgKGMpPSh1aW50OF90KShzKVstLShpKV07IFwKQEAgLTcwNyw3ICs3MDIsNiBAQCB1dGY4X2Jh
Y2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsK
ICAgICAgICAgKGMpPXV0ZjhfcHJldkNoYXJTYWZlQm9keSgoY29uc3QgdWludDhfdCAqKXMsIHN0
YXJ0LCAmKGkpLCBjLCAtMyk7IFwKICAgICB9IFwKIH0KLSNlbmRpZiAvKiBVX0hJREVfRFJBRlRf
QVBJICovCiAKIC8qKgogICogTW92ZSB0aGUgc3RyaW5nIG9mZnNldCBmcm9tIG9uZSBjb2RlIHBv
aW50IGJvdW5kYXJ5IHRvIHRoZSBwcmV2aW91cyBvbmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXR5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L3VuaWNvZGUvdXR5cGVzLmgKaW5kZXggOGY5MjRjOWQxNDI0MTc5Mjg0NjRiNzk0NDc5NjEy
MTc2MDEwMjliNi4uNWI5ODc4MzFjM2Q3ZGFkMzNmMWU4YWVmNDg2ZTVlMjAyNGM2ODAzMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V0eXBlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dHlwZXMuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTIsIEludGVy
bmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNSwg
SW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhl
cnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgpAQCAtNjQxLDEzICs2
NDEsMTkgQEAgdHlwZWRlZiBlbnVtIFVFcnJvckNvZGUgewogICAgIFVfUkVHRVhfSU5WQUxJRF9G
TEFHLCAgICAgICAgICAgICAgICAgLyoqPCBJbnZhbGlkIHZhbHVlIGZvciBtYXRjaCBtb2RlIGZs
YWdzLiAgICAgICAgICAgICAgICAqLwogICAgIFVfUkVHRVhfTE9PS19CRUhJTkRfTElNSVQsICAg
ICAgICAgICAgLyoqPCBMb29rLUJlaGluZCBwYXR0ZXJuIG1hdGNoZXMgbXVzdCBoYXZlIGEgYm91
bmRlZCBtYXhpbXVtIGxlbmd0aC4gICAgKi8KICAgICBVX1JFR0VYX1NFVF9DT05UQUlOU19TVFJJ
TkcsICAgICAgICAgIC8qKjwgUmVnZXhwcyBjYW5ub3QgaGF2ZSBVbmljb2RlU2V0cyBjb250YWlu
aW5nIHN0cmluZ3MuKi8KLSAgICBVX1JFR0VYX09DVEFMX1RPT19CSUcsICAgICAgICAgICAgICAg
IC8qKjwgT2N0YWwgY2hhcmFjdGVyIGNvbnN0YW50cyBtdXN0IGJlIDw9IDAzNzcuICAgICAgICAg
Ki8KLSAgICBVX1JFR0VYX01JU1NJTkdfQ0xPU0VfQlJBQ0tFVCwgICAgICAgIC8qKjwgTWlzc2lu
ZyBjbG9zaW5nIGJyYWNrZXQgb24gYSBicmFja2V0IGV4cHJlc3Npb24uICAgKi8KKyNpZm5kZWYg
VV9ISURFX0RFUFJFQ0FURURfQVBJCisgICAgVV9SRUdFWF9PQ1RBTF9UT09fQklHLCAgICAgICAg
ICAgICAgICAvKio8IE9jdGFsIGNoYXJhY3RlciBjb25zdGFudHMgbXVzdCBiZSA8PSAwMzc3LiBA
ZGVwcmVjYXRlZCBJQ1UgNTQuIFRoaXMgZXJyb3IgY2Fubm90IG9jY3VyLiAqLworI2VuZGlmICAv
KiBVX0hJREVfREVQUkVDQVRFRF9BUEkgKi8KKyAgICBVX1JFR0VYX01JU1NJTkdfQ0xPU0VfQlJB
Q0tFVD1VX1JFR0VYX1NFVF9DT05UQUlOU19TVFJJTkcrMiwgLyoqPCBNaXNzaW5nIGNsb3Npbmcg
YnJhY2tldCBvbiBhIGJyYWNrZXQgZXhwcmVzc2lvbi4gKi8KICAgICBVX1JFR0VYX0lOVkFMSURf
UkFOR0UsICAgICAgICAgICAgICAgIC8qKjwgSW4gYSBjaGFyYWN0ZXIgcmFuZ2UgW3gteV0sIHgg
aXMgZ3JlYXRlciB0aGFuIHkuICAgKi8KICAgICBVX1JFR0VYX1NUQUNLX09WRVJGTE9XLCAgICAg
ICAgICAgICAgIC8qKjwgUmVndWxhciBleHByZXNzaW9uIGJhY2t0cmFjayBzdGFjayBvdmVyZmxv
dy4gICAgICAgKi8KICAgICBVX1JFR0VYX1RJTUVfT1VULCAgICAgICAgICAgICAgICAgICAgIC8q
KjwgTWF4aW11bSBhbGxvd2VkIG1hdGNoIHRpbWUgZXhjZWVkZWQgICAgICAgICAgICAgICAgKi8K
ICAgICBVX1JFR0VYX1NUT1BQRURfQllfQ0FMTEVSLCAgICAgICAgICAgIC8qKjwgTWF0Y2hpbmcg
b3BlcmF0aW9uIGFib3J0ZWQgYnkgdXNlciBjYWxsYmFjayBmbi4gICAgKi8KLSAgICBVX1JFR0VY
X0VSUk9SX0xJTUlULCAgICAgICAgICAgICAgICAgIC8qKjwgVGhpcyBtdXN0IGFsd2F5cyBiZSB0
aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0aGUgbGltaXQgZm9yIHJlZ2V4cCBlcnJvcnMgKi8K
KyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgIFVfUkVHRVhfUEFUVEVSTl9UT09fQklHLCAg
ICAgICAgICAgICAgLyoqPCBQYXR0ZXJuIGV4Y2VlZHMgbGltaXRzIG9uIHNpemUgb3IgY29tcGxl
eGl0eS4gQGRyYWZ0IElDVSA1NSAqLworICAgIFVfUkVHRVhfSU5WQUxJRF9DQVBUVVJFX0dST1VQ
X05BTUUsICAgLyoqPCBJbnZhbGlkIGNhcHR1cmUgZ3JvdXAgbmFtZS4gQGRyYWZ0IElDVSA1NSAq
LworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisgICAgVV9SRUdFWF9FUlJPUl9MSU1J
VD1VX1JFR0VYX1NUT1BQRURfQllfQ0FMTEVSKzMsIC8qKjwgVGhpcyBtdXN0IGFsd2F5cyBiZSB0
aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0aGUgbGltaXQgZm9yIHJlZ2V4cCBlcnJvcnMgKi8K
IAogICAgIC8qCiAgICAgICogVGhlIGVycm9yIGNvZGUgaW4gdGhlIHJhbmdlIDB4MTA0MDAtMHgx
MDRmZiBhcmUgcmVzZXJ2ZWQgZm9yIElETkEgcmVsYXRlZCBlcnJvciBjb2RlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9pY3UvTElDRU5TRSBiL1NvdXJjZS9XVEYvaWN1L0xJQ0VOU0UKaW5kZXgg
Mzg1ZDEzMGNkMDYyZTAwOTI1Y2UyYWZmZTIwZDBkZjgxY2U3NWQ5ZS4uZDZmMGVlYmJjNjU5MDE4
ZGQwYzk0ZTRhMjg1Y2U3Y2Y3NjhkOGNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9pY3UvTElD
RU5TRQorKysgYi9Tb3VyY2UvV1RGL2ljdS9MSUNFTlNFCkBAIC0xLDYgKzEsNiBAQAogQ09QWVJJ
R0hUIEFORCBQRVJNSVNTSU9OIE5PVElDRQogCi1Db3B5cmlnaHQgKGMpIDE5OTUtMjAwNiBJbnRl
cm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMKK0NvcHly
aWdodCAoYykgMTk5NS0yMDE1IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9y
YXRpb24gYW5kIG90aGVycwogCiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL2ljdS9SRUFETUUgYi9Tb3VyY2UvV1RGL2ljdS9SRUFETUUKaW5kZXggMzg5ZTJl
ODAxM2I5YzBiZDYyNDg2OWQyMDJjMTM4Nzk0NWFkNzU5ZS4uMzI2ZWZlMTc5ODY0NTA5NWU5YTZj
NGVjM2EyOWNkMmQ0OTE0YjEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9pY3UvUkVBRE1FCisr
KyBiL1NvdXJjZS9XVEYvaWN1L1JFQURNRQpAQCAtMSw0ICsxLDEyIEBACi1UaGUgaGVhZGVycyBp
biB0aGlzIGRpcmVjdG9yeSBhcmUgZm9yIGNvbXBpbGluZyBvbiBNYWMgT1MgWCAxMC40LgotVGhl
IE1hYyBPUyBYIDEwLjQgcmVsZWFzZSBpbmNsdWRlcyB0aGUgSUNVIGJpbmFyeSwgYnV0IG5vdCBJ
Q1UgaGVhZGVycy4KK1RoZSBoZWFkZXJzIGluIHRoaXMgZGlyZWN0b3J5IGFyZSBmb3IgY29tcGls
aW5nIG9uIE1hYyBPUyBYIDEwLjQgYW5kIG5ld2VyLgorVGhlIE1hYyBPUyBYIDEwLjQgYW5kIHN1
YnNlcXVlbnQgcmVsZWFzZXMgaW5jbHVkZSB0aGUgSUNVIGJpbmFyeSwgYnV0IG5vdCBJQ1UgaGVh
ZGVycy4KKwogRm9yIG90aGVyIHBsYXRmb3JtcywgaW5zdGFsbGVkIElDVSBoZWFkZXJzIHNob3Vs
ZCBiZSB1c2VkIHJhdGhlciB0aGFuIHRoZXNlLgotVGhleSBhcmUgc3BlY2lmaWMgdG8gTWFjIE9T
IFggMTAuNC4KK1RoZXkgYXJlIHNwZWNpZmljIHRvIHRoZSBNYWMgT1MgWCBwbGF0Zm9ybS4KKwor
VGhlIGhlYWRlcnMgaGVyZSBhcmUgZnJvbSBJQ1UgdmVyc2lvbiA1NS4xIGRvd25sb2FkZWQgZnJv
bSB0aGUgSUNVIHByb2plY3QuCitodHRwOi8vc2l0ZS5pY3UtcHJvamVjdC5vcmcvZG93bmxvYWQv
NTUjVE9DLUlDVTRDLURvd25sb2FkCisKK1RoZSBmb2xsb3dpbmcgY2hhbmdlcyBhcmUgbmVlZGVk
IGFnYWluIGlmIHlvdSB1cGRhdGUgdGhlIGZpbGVzOgordXR5cGVzLmg6NjIgVV9TSE9XX0NQTFVT
UExVU19BUEkgMAordWNvbmZpZy5oOjkwIFVfRElTQUJMRV9SRU5BTUlORyAxCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL2xvY2FscG9pbnRlci5oIGIvU291cmNlL1dURi9pY3Uv
dW5pY29kZS9sb2NhbHBvaW50ZXIuaAppbmRleCBlM2NjYjI1ODE1NGNjMjE2MDk4ZWJjMjczOWZi
N2I2ODIyMDU5Yzk4Li5lM2FhYmY2NWMzODA3MDZmYTA4ODUzNjk3NDg3YzcyN2FiOWFiYWVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL2xvY2FscG9pbnRlci5oCisrKyBiL1Nv
dXJjZS9XVEYvaWN1L3VuaWNvZGUvbG9jYWxwb2ludGVyLmgKQEAgLTEsNyArMSw3IEBACiAvKgog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgogKgotKiAgIENvcHlyaWdodCAoQykgMjAwOS0yMDEyLCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAyMDA5LTIw
MTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQg
b3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
QEAgLTE5MSw2ICsxOTEsMjYgQEAgcHVibGljOgogICAgICAqIEBzdGFibGUgSUNVIDQuNAogICAg
ICAqLwogICAgIGV4cGxpY2l0IExvY2FsUG9pbnRlcihUICpwPU5VTEwpIDogTG9jYWxQb2ludGVy
QmFzZTxUPihwKSB7fQorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisgICAgLyoqCisgICAgICog
Q29uc3RydWN0b3IgdGFrZXMgb3duZXJzaGlwIGFuZCByZXBvcnRzIGFuIGVycm9yIGlmIE5VTEwu
CisgICAgICoKKyAgICAgKiBUaGlzIGNvbnN0cnVjdG9yIGlzIGludGVuZGVkIHRvIGJlIHVzZWQg
d2l0aCBvdGhlci1jbGFzcyBjb25zdHJ1Y3RvcnMKKyAgICAgKiB0aGF0IG1heSByZXBvcnQgYSBm
YWlsdXJlIFVFcnJvckNvZGUsCisgICAgICogc28gdGhhdCBjYWxsZXJzIG5lZWQgdG8gY2hlY2sg
b25seSBmb3IgVV9GQUlMVVJFKGVycm9yQ29kZSkKKyAgICAgKiBhbmQgbm90IGFsc28gc2VwYXJh
dGVseSBmb3IgaXNOdWxsKCkuCisgICAgICoKKyAgICAgKiBAcGFyYW0gcCBzaW1wbGUgcG9pbnRl
ciB0byBhbiBvYmplY3QgdGhhdCBpcyBhZG9wdGVkCisgICAgICogQHBhcmFtIGVycm9yQ29kZSBp
bi9vdXQgVUVycm9yQ29kZSwgc2V0IHRvIFVfTUVNT1JZX0FMTE9DQVRJT05fRVJST1IKKyAgICAg
KiAgICAgaWYgcD09TlVMTCBhbmQgbm8gb3RoZXIgZmFpbHVyZSBjb2RlIGhhZCBiZWVuIHNldAor
ICAgICAqIEBkcmFmdCBJQ1UgNTUKKyAgICAgKi8KKyAgICBMb2NhbFBvaW50ZXIoVCAqcCwgVUVy
cm9yQ29kZSAmZXJyb3JDb2RlKSA6IExvY2FsUG9pbnRlckJhc2U8VD4ocCkgeworICAgICAgICBp
ZihwPT1OVUxMICYmIFVfU1VDQ0VTUyhlcnJvckNvZGUpKSB7CisgICAgICAgICAgICBlcnJvckNv
ZGU9VV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUjsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAg
LyogVV9ISURFX0RSQUZUX0FQSSAqLwogICAgIC8qKgogICAgICAqIERlc3RydWN0b3IgZGVsZXRl
cyB0aGUgb2JqZWN0IGl0IG93bnMuCiAgICAgICogQHN0YWJsZSBJQ1UgNC40CkBAIC0yMDgsNiAr
MjI4LDM0IEBAIHB1YmxpYzoKICAgICAgICAgZGVsZXRlIExvY2FsUG9pbnRlckJhc2U8VD46OnB0
cjsKICAgICAgICAgTG9jYWxQb2ludGVyQmFzZTxUPjo6cHRyPXA7CiAgICAgfQorI2lmbmRlZiBV
X0hJREVfRFJBRlRfQVBJCisgICAgLyoqCisgICAgICogRGVsZXRlcyB0aGUgb2JqZWN0IGl0IG93
bnMsCisgICAgICogYW5kIGFkb3B0cyAodGFrZXMgb3duZXJzaGlwIG9mKSB0aGUgb25lIHBhc3Nl
ZCBpbi4KKyAgICAgKgorICAgICAqIElmIFVfRkFJTFVSRShlcnJvckNvZGUpLCB0aGVuIHRoZSBj
dXJyZW50IG9iamVjdCBpcyByZXRhaW5lZCBhbmQgdGhlIG5ldyBvbmUgZGVsZXRlZC4KKyAgICAg
KgorICAgICAqIElmIFVfU1VDQ0VTUyhlcnJvckNvZGUpIGJ1dCB0aGUgaW5wdXQgcG9pbnRlciBp
cyBOVUxMLAorICAgICAqIHRoZW4gVV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUiBpcyBzZXQsCisg
ICAgICogdGhlIGN1cnJlbnQgb2JqZWN0IGlzIGRlbGV0ZWQsIGFuZCBOVUxMIGlzIHNldC4KKyAg
ICAgKgorICAgICAqIEBwYXJhbSBwIHNpbXBsZSBwb2ludGVyIHRvIGFuIG9iamVjdCB0aGF0IGlz
IGFkb3B0ZWQKKyAgICAgKiBAcGFyYW0gZXJyb3JDb2RlIGluL291dCBVRXJyb3JDb2RlLCBzZXQg
dG8gVV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUgorICAgICAqICAgICBpZiBwPT1OVUxMIGFuZCBu
byBvdGhlciBmYWlsdXJlIGNvZGUgaGFkIGJlZW4gc2V0CisgICAgICogQGRyYWZ0IElDVSA1NQor
ICAgICAqLworICAgIHZvaWQgYWRvcHRJbnN0ZWFkQW5kQ2hlY2tFcnJvckNvZGUoVCAqcCwgVUVy
cm9yQ29kZSAmZXJyb3JDb2RlKSB7CisgICAgICAgIGlmKFVfU1VDQ0VTUyhlcnJvckNvZGUpKSB7
CisgICAgICAgICAgICBkZWxldGUgTG9jYWxQb2ludGVyQmFzZTxUPjo6cHRyOworICAgICAgICAg
ICAgTG9jYWxQb2ludGVyQmFzZTxUPjo6cHRyPXA7CisgICAgICAgICAgICBpZihwPT1OVUxMKSB7
CisgICAgICAgICAgICAgICAgZXJyb3JDb2RlPVVfTUVNT1JZX0FMTE9DQVRJT05fRVJST1I7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWxldGUgcDsKKyAg
ICAgICAgfQorICAgIH0KKyNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogfTsKIAogLyoq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL2ljdS91bmljb2RlL3BsYXRmb3JtLmgKaW5kZXggMWIyYWIzMDZlYTMzNzgyOWZkOTliMmMw
ZjI4MjcwZDI5YzdiYjJmZi4uNDgyOTAwMDY5ZDEwY2E4NzI2OTNlYTgxOWM1ZTQzNGVmNGNlZWQy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9pY3UvdW5pY29kZS9wbGF0Zm9ybS5oCisrKyBiL1Nv
dXJjZS9XVEYvaWN1L3VuaWNvZGUvcGxhdGZvcm0uaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxMywgSW50ZXJu
YXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDE1LCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEy
MSwxMCArMTIxLDE2IEBACiAjZGVmaW5lIFVfUEZfUU5YIDM3MDAKIC8qKiBMaW51eCBpcyBhIFVu
aXgtbGlrZSBvcGVyYXRpbmcgc3lzdGVtLiBAaW50ZXJuYWwgKi8KICNkZWZpbmUgVV9QRl9MSU5V
WCA0MDAwCisvKioKKyAqIE5hdGl2ZSBDbGllbnQgaXMgcHJldHR5IGNsb3NlIHRvIExpbnV4Lgor
ICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vbmF0aXZlLWNsaWVudCBhbmQKKyAq
ICBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9uYXRpdmVjbGllbnQKKyAqICBAaW50ZXJuYWwKKyAq
LworI2RlZmluZSBVX1BGX0JST1dTRVJfTkFUSVZFX0NMSUVOVCA0MDIwCiAvKiogQW5kcm9pZCBp
cyBiYXNlZCBvbiBMaW51eC4gQGludGVybmFsICovCiAjZGVmaW5lIFVfUEZfQU5EUk9JRCA0MDUw
Ci0vKiogIkNsYXNzaWMiIE1hYyBPUyAoMTk4NC0yMDAxKSBAaW50ZXJuYWwgKi8KLSNkZWZpbmUg
VV9QRl9DTEFTU0lDX01BQ09TIDgwMDAKKy8qIE1heGltdW0gdmFsdWUgZm9yIExpbnV4LWJhc2Vk
IHBsYXRmb3JtIGlzIDQ0OTkgKi8KIC8qKiB6L09TIGlzIHRoZSBzdWNjZXNzb3IgdG8gT1MvMzkw
IHdoaWNoIHdhcyB0aGUgc3VjY2Vzc29yIHRvIE1WUy4gQGludGVybmFsICovCiAjZGVmaW5lIFVf
UEZfT1MzOTAgOTAwMAogLyoqICJJQk0gaSIgaXMgdGhlIGN1cnJlbnQgbmFtZSBvZiB3aGF0IHVz
ZWQgdG8gYmUgaTUvT1MgYW5kIGVhcmxpZXIgT1MvNDAwLiBAaW50ZXJuYWwgKi8KQEAgLTE0Miw2
ICsxNDgsOCBAQAogIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfQU5EUk9JRAogICAgIC8qIEFu
ZHJvaWQgd2NoYXJfdCBzdXBwb3J0IGRlcGVuZHMgb24gdGhlIEFQSSBsZXZlbC4gKi8KICMgICBp
bmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZlbC5oPgorI2VsaWYgZGVmaW5lZChfX25hdGl2ZV9jbGll
bnRfXykKKyMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0JST1dTRVJfTkFUSVZFX0NMSUVOVAog
I2VsaWYgZGVmaW5lZChsaW51eCkgfHwgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19s
aW51eCkKICMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0xJTlVYCiAjZWxpZiBkZWZpbmVkKF9f
QVBQTEVfXykgJiYgZGVmaW5lZChfX01BQ0hfXykKQEAgLTE2OSw4ICsxNzcsNiBAQAogIyAgIGRl
ZmluZSBVX1BMQVRGT1JNIFVfUEZfSFBVWAogI2VsaWYgZGVmaW5lZChzZ2kpIHx8IGRlZmluZWQo
X19zZ2kpCiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9JUklYCi0jZWxpZiBkZWZpbmVkKG1h
Y2ludG9zaCkKLSMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0NMQVNTSUNfTUFDT1MKICNlbGlm
IGRlZmluZWQoX19RTlhfXykgfHwgZGVmaW5lZChfX1FOWE5UT19fKQogIyAgIGRlZmluZSBVX1BM
QVRGT1JNIFVfUEZfUU5YCiAjZWxpZiBkZWZpbmVkKF9fVE9TX01WU19fKQpAQCAtMjMwLDcgKzIz
Niw3IEBACiAgKi8KICNpZmRlZiBVX1BMQVRGT1JNX0lNUExFTUVOVFNfUE9TSVgKICAgICAvKiBV
c2UgdGhlIHByZWRlZmluZWQgdmFsdWUuICovCi0jZWxpZiBVX1BMQVRGT1JNX1VTRVNfT05MWV9X
SU4zMl9BUEkgfHwgVV9QTEFURk9STSA9PSBVX1BGX0NMQVNTSUNfTUFDT1MKKyNlbGlmIFVfUExB
VEZPUk1fVVNFU19PTkxZX1dJTjMyX0FQSQogIyAgIGRlZmluZSBVX1BMQVRGT1JNX0lNUExFTUVO
VFNfUE9TSVggMAogI2Vsc2UKICMgICBkZWZpbmUgVV9QTEFURk9STV9JTVBMRU1FTlRTX1BPU0lY
IDEKQEAgLTI0Myw3ICsyNDksNyBAQAogICovCiAjaWZkZWYgVV9QTEFURk9STV9JU19MSU5VWF9C
QVNFRAogICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1ZS4gKi8KLSNlbGlmIFVfUEZfTElO
VVggPD0gVV9QTEFURk9STSAmJiBVX1BMQVRGT1JNIDw9IFVfUEZfQU5EUk9JRAorI2VsaWYgVV9Q
Rl9MSU5VWCA8PSBVX1BMQVRGT1JNICYmIFVfUExBVEZPUk0gPD0gNDQ5OQogIyAgIGRlZmluZSBV
X1BMQVRGT1JNX0lTX0xJTlVYX0JBU0VEIDEKICNlbHNlCiAjICAgZGVmaW5lIFVfUExBVEZPUk1f
SVNfTElOVVhfQkFTRUQgMApAQCAtNTc5LDcgKzU4NSw3IEBACiAgKi8KICNpZmRlZiBVX1NJWkVP
Rl9XQ0hBUl9UCiAgICAgLyogVXNlIHRoZSBwcmVkZWZpbmVkIHZhbHVlLiAqLwotI2VsaWYgKFVf
UExBVEZPUk0gPT0gVV9QRl9BTkRST0lEICYmIF9fQU5EUk9JRF9BUElfXyA8IDkpIHx8IFVfUExB
VEZPUk0gPT0gVV9QRl9DTEFTU0lDX01BQ09TCisjZWxpZiAoVV9QTEFURk9STSA9PSBVX1BGX0FO
RFJPSUQgJiYgX19BTkRST0lEX0FQSV9fIDwgOSkKICAgICAvKgogICAgICAqIENsYXNzaWMgTWFj
IE9TIGFuZCBNYWMgT1MgWCBiZWZvcmUgMTAuMyAoUGFudGhlcikgZGlkIG5vdCBzdXBwb3J0IHdj
aGFyX3Qgb3Igd3N0cmluZy4KICAgICAgKiBOZXdlciBNYWMgT1MgWCBoYXMgc2l6ZSA0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9pY3UvdW5pY29kZS9wdXRpbC5oIGIvU291cmNlL1dURi9pY3Uv
dW5pY29kZS9wdXRpbC5oCmluZGV4IDZmYzdlOWNkNWE2MmE1NTk0NmFlNmQ3Nzg3YmYyNWQyMzYx
MTBhMWEuLmRmMWIxN2JhZDBmNjUzNTEwZmRmMThkZDRjNzhlYWQ5NGE4YTIyODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvcHV0aWwuaAorKysgYi9Tb3VyY2UvV1RGL2ljdS91
bmljb2RlL3B1dGlsLmgKQEAgLTEsNyArMSw3IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CiAqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTEsIEludGVybmF0aW9uYWwgQnVzaW5lc3Mg
TWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNp
bmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJl
c2VydmVkLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC02Niw2ICs2Niw3IEBACiAgKi8K
IFVfU1RBQkxFIGNvbnN0IGNoYXIqIFVfRVhQT1JUMiB1X2dldERhdGFEaXJlY3Rvcnkodm9pZCk7
CiAKKwogLyoqIAogICogU2V0IHRoZSBJQ1UgZGF0YSBkaXJlY3RvcnkuIAogICogVGhlIGRhdGEg
ZGlyZWN0b3J5IGlzIHdoZXJlIGNvbW1vbiBmb3JtYXQgSUNVIGRhdGEgZmlsZXMgKC5kYXQgZmls
ZXMpCkBAIC04NywyMCArODgsMzYgQEAgVV9TVEFCTEUgY29uc3QgY2hhciogVV9FWFBPUlQyIHVf
Z2V0RGF0YURpcmVjdG9yeSh2b2lkKTsKICAqLwogVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgdV9z
ZXREYXRhRGlyZWN0b3J5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSk7CiAKKyNpZm5kZWYgVV9ISURF
X0lOVEVSTkFMX0FQSQorLyoqCisgICogUmV0dXJuIHRoZSB0aW1lIHpvbmUgZmlsZXMgb3ZlcnJp
ZGUgZGlyZWN0b3J5LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYKKyAgKiBubyBkaXJlY3Rvcnkgd2Fz
IHNwZWNpZmllZC4gQ2VydGFpbiB0aW1lIHpvbmUgcmVzb3VyY2VzIHdpbGwgYmUgcHJlZmVycmVu
dGlhbGx5CisgICogbG9hZGVkIGZyb20gaW5kaXZpZHVhbCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9y
eS4KKyAgKgorICAqIEByZXR1cm4gdGhlIHRpbWUgem9uZSBkYXRhIG92ZXJyaWRlIGRpcmVjdG9y
eS4KKyAgKiBAaW50ZXJuYWwKKyAgKi8gCitVX0lOVEVSTkFMIGNvbnN0IGNoYXIgKiBVX0VYUE9S
VDIgdV9nZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5KFVFcnJvckNvZGUgKnN0YXR1cyk7CisKKy8q
KgorICAqIFNldCB0aGUgdGltZSB6b25lIGZpbGVzIG92ZXJyaWRlIGRpcmVjdG9yeS4KKyAgKiBU
aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZTsgaXQgbXVzdCBub3QgYmUgY2FsbGVkIGNv
bmN1cnJlbnRseSB3aXRoCisgICogICB1X2dldFRpbWVab25lRmlsZXNEaXJlY3RvcnkoKSBvciBh
bnkgb3RoZXIgdXNlIG9mIElDVSB0aW1lIHpvbmUgZnVuY3Rpb25zLgorICAqIFRoaXMgZnVuY3Rp
b24gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJlZm9yZSB1c2luZyBhbnkgSUNVIHNlcnZpY2UgdGhh
dAorICAqICAgd2lsbCBhY2Nlc3MgdGhlIHRpbWUgem9uZSBkYXRhLgorICAqIEBpbnRlcm5hbAor
ICAqLworVV9JTlRFUk5BTCB2b2lkIFVfRVhQT1JUMiB1X3NldFRpbWVab25lRmlsZXNEaXJlY3Rv
cnkoY29uc3QgY2hhciAqcGF0aCwgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9I
SURFX0lOVEVSTkFMX0FQSSAqLworCisKIC8qKgogICogQHsKICAqIEZpbGVzeXN0ZW0gZmlsZSBh
bmQgcGF0aCBzZXBhcmF0b3IgY2hhcmFjdGVycy4KICAqIEV4YW1wbGU6ICcvJyBhbmQgJzonIG9u
IFVuaXgsICdcXCcgYW5kICc7JyBvbiBXaW5kb3dzLgogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8K
LSNpZiBVX1BMQVRGT1JNID09IFVfUEZfQ0xBU1NJQ19NQUNPUwotIyAgIGRlZmluZSBVX0ZJTEVf
U0VQX0NIQVIgJzonCi0jICAgZGVmaW5lIFVfRklMRV9BTFRfU0VQX0NIQVIgJzonCi0jICAgZGVm
aW5lIFVfUEFUSF9TRVBfQ0hBUiAnOycKLSMgICBkZWZpbmUgVV9GSUxFX1NFUF9TVFJJTkcgIjoi
Ci0jICAgZGVmaW5lIFVfRklMRV9BTFRfU0VQX1NUUklORyAiOiIKLSMgICBkZWZpbmUgVV9QQVRI
X1NFUF9TVFJJTkcgIjsiCi0jZWxpZiBVX1BMQVRGT1JNX1VTRVNfT05MWV9XSU4zMl9BUEkKKyNp
ZiBVX1BMQVRGT1JNX1VTRVNfT05MWV9XSU4zMl9BUEkKICMgICBkZWZpbmUgVV9GSUxFX1NFUF9D
SEFSICdcXCcKICMgICBkZWZpbmUgVV9GSUxFX0FMVF9TRVBfQ0hBUiAnLycKICMgICBkZWZpbmUg
VV9QQVRIX1NFUF9DSEFSICc7JwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9pY3UvdW5pY29kZS9z
dGRfc3RyaW5nLmggYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3N0ZF9zdHJpbmcuaAppbmRleCA2
N2IxZDZjNWFhZDEwYTBiNjI4MzdjMjUyNTQ3NzYzNWI2YjAxZjIyLi4wNTk1NWM1ZDFlNzI3Zjhl
MzViY2FlYjdkOTVmODVhNzBkNjMwY2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmlj
b2RlL3N0ZF9zdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3N0ZF9zdHJpbmcu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29w
eXJpZ2h0IChDKSAyMDA5LTIwMTEsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyog
ICBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTgsNyArMTgsNyBAQAogI2RlZmluZSBfX1NURF9T
VFJJTkdfSF9fCiAKIC8qKgotICogXGZpbGUgCisgKiBcZmlsZQogICogXGJyaWVmIEMrKyBBUEk6
IENlbnRyYWwgSUNVIGhlYWRlciBmb3IgaW5jbHVkaW5nIHRoZSBDKysgc3RhbmRhcmQgJmx0O3N0
cmluZyZndDsKICAqICAgICAgICAgICAgICAgICBoZWFkZXIgYW5kIGZvciByZWxhdGVkIGRlZmlu
aXRpb25zLgogICovCkBAIC0yNyw2ICsyNyw5IEBACiAKICNpZiBVX0hBVkVfU1REX1NUUklORwog
CisjaWYgIWRlZmluZWQoX01TQ19WRVIpCituYW1lc3BhY2Ugc3RkIHsgY2xhc3MgdHlwZV9pbmZv
OyB9IC8vIFdPUktBUk9VTkQ6IGh0dHA6Ly9sbHZtLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD0x
MzM2NAorI2VuZGlmCiAjaW5jbHVkZSA8c3RyaW5nPgogCiAjZW5kaWYgIC8vIFVfSEFWRV9TVERf
U1RSSU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VicmsuaCBiL1NvdXJj
ZS9XVEYvaWN1L3VuaWNvZGUvdWJyay5oCmluZGV4IGU5YzBlZjYyN2I2NzI3OWY4NmU0NjA0NGJm
MGYyNTcxMDJlMGM2Y2QuLjliZGI0ZDVkOWRlMzE4OGUzZmVkNzJlMzllZmViNzUyYjVkYTViMDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWJyay5oCisrKyBiL1NvdXJjZS9X
VEYvaWN1L3VuaWNvZGUvdWJyay5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgotKiBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVz
cyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorKiBDb3B5cmlnaHQgKEMpIDE5OTYt
MjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3Ro
ZXJzLgogKiBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpA
QCAtMzc4LDEwICszNzgsOSBAQCBVX1NUQUJMRSBpbnQzMl90IFVfRVhQT1JUMgogdWJya19wcmV2
aW91cyhVQnJlYWtJdGVyYXRvciAqYmkpOwogCiAvKioKLSAqIFNldCB0aGUgaXRlcmF0b3IgcG9z
aXRpb24gdG8gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIHRleHQgYmVp
bmcgc2Nhbm5lZC4KLSAqIFRoaXMgaXMgbm90IGFsd2F5cyB0aGUgc2FtZSBhcyBpbmRleCAwIG9m
IHRoZSB0ZXh0LgorICogU2V0IHRoZSBpdGVyYXRvciBwb3NpdGlvbiB0byB6ZXJvLCB0aGUgc3Rh
cnQgb2YgdGhlIHRleHQgYmVpbmcgc2Nhbm5lZC4KICAqIEBwYXJhbSBiaSBUaGUgYnJlYWsgaXRl
cmF0b3IgdG8gdXNlLgotICogQHJldHVybiBUaGUgY2hhcmFjdGVyIGluZGV4IG9mIHRoZSBmaXJz
dCBjaGFyYWN0ZXIgaW4gdGhlIHRleHQgYmVpbmcgc2Nhbm5lZC4KKyAqIEByZXR1cm4gVGhlIG5l
dyBpdGVyYXRvciBwb3NpdGlvbiAoemVybykuCiAgKiBAc2VlIHVicmtfbGFzdAogICogQHN0YWJs
ZSBJQ1UgMi4wCiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNoYXIu
aCBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNoYXIuaAppbmRleCAxYTViNzFiNDYzZTQ4MzZl
ZTUxMzUyYmFhYzZiNGU0YzcyNjNmMzFlLi4xZDNhZTBkZDQzZjQzNWZiZjAxZWMyZGVlMGU1MTYz
OTIxZDZlNTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VjaGFyLmgKKysr
IGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91Y2hhci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxMywgSW50ZXJuYXRpb25hbCBC
dXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDE0LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0zOSw3ICszOSw3IEBAIFVfQ0RF
Q0xfQkVHSU4KICAqIEBzZWUgdV9nZXRVbmljb2RlVmVyc2lvbgogICogQHN0YWJsZSBJQ1UgMi4w
CiAgKi8KLSNkZWZpbmUgVV9VTklDT0RFX1ZFUlNJT04gIjYuMyIKKyNkZWZpbmUgVV9VTklDT0RF
X1ZFUlNJT04gIjcuMCIKIAogLyoqCiAgKiBcZmlsZQpAQCAtMTQ1Miw4ICsxNDUyLDc1IEBAIGVu
dW0gVUJsb2NrQ29kZSB7CiAgICAgLyoqIEBzdGFibGUgSUNVIDQ5ICovCiAgICAgVUJMT0NLX1RB
S1JJID0gMjIwLCAvKlsxMTY4MF0qLwogCi0gICAgLyoqIEBzdGFibGUgSUNVIDIuMCAqLwotICAg
IFVCTE9DS19DT1VOVCA9IDIyMSwKKyAgICAvKiBOZXcgYmxvY2tzIGluIFVuaWNvZGUgNy4wICov
CisKKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfQkFTU0FfVkFIID0gMjIx
LCAvKlsxNkFEMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19DQVVD
QVNJQU5fQUxCQU5JQU4gPSAyMjIsIC8qWzEwNTMwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX0NPUFRJQ19FUEFDVF9OVU1CRVJTID0gMjIzLCAvKlsxMDJFMF0qLwor
ICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19DT01CSU5JTkdfRElBQ1JJVElD
QUxfTUFSS1NfRVhURU5ERUQgPSAyMjQsIC8qWzFBQjBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICBVQkxPQ0tfRFVQTE9ZQU4gPSAyMjUsIC8qWzFCQzAwXSovCisgICAgLyoqIEBz
dGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0VMQkFTQU4gPSAyMjYsIC8qWzEwNTAwXSovCisg
ICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0dFT01FVFJJQ19TSEFQRVNfRVhU
RU5ERUQgPSAyMjcsIC8qWzFGNzgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAg
VUJMT0NLX0dSQU5USEEgPSAyMjgsIC8qWzExMzAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX0tIT0pLSSA9IDIyOSwgLypbMTEyMDBdKi8KKyAgICAvKiogQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfS0hVREFXQURJID0gMjMwLCAvKlsxMTJCMF0qLworICAg
IC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19MQVRJTl9FWFRFTkRFRF9FID0gMjMx
LCAvKltBQjMwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0xJTkVB
Ul9BID0gMjMyLCAvKlsxMDYwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVC
TE9DS19NQUhBSkFOSSA9IDIzMywgLypbMTExNTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVQkxPQ0tfTUFOSUNIQUVBTiA9IDIzNCwgLypbMTBBQzBdKi8KKyAgICAvKiogQHN0
YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTUVOREVfS0lLQUtVSSA9IDIzNSwgLypbMUU4MDBd
Ki8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTU9ESSA9IDIzNiwgLypb
MTE2MDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTVJPID0gMjM3
LCAvKlsxNkE0MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19NWUFO
TUFSX0VYVEVOREVEX0IgPSAyMzgsIC8qW0E5RTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVQkxPQ0tfTkFCQVRBRUFOID0gMjM5LCAvKlsxMDg4MF0qLworICAgIC8qKiBAc3Rh
YmxlIElDVSA1NCAqLworICAgIFVCTE9DS19PTERfTk9SVEhfQVJBQklBTiA9IDI0MCwgLypbMTBB
ODBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfT0xEX1BFUk1JQyA9
IDI0MSwgLypbMTAzNTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tf
T1JOQU1FTlRBTF9ESU5HQkFUUyA9IDI0MiwgLypbMUY2NTBdKi8KKyAgICAvKiogQHN0YWJsZSBJ
Q1UgNTQgKi8KKyAgICBVQkxPQ0tfUEFIQVdIX0hNT05HID0gMjQzLCAvKlsxNkIwMF0qLworICAg
IC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19QQUxNWVJFTkUgPSAyNDQsIC8qWzEw
ODYwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1BBVV9DSU5fSEFV
ID0gMjQ1LCAvKlsxMUFDMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9D
S19QU0FMVEVSX1BBSExBVkkgPSAyNDYsIC8qWzEwQjgwXSovCisgICAgLyoqIEBzdGFibGUgSUNV
IDU0ICovCisgICAgVUJMT0NLX1NIT1JUSEFORF9GT1JNQVRfQ09OVFJPTFMgPSAyNDcsIC8qWzFC
Q0EwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1NJRERIQU0gPSAy
NDgsIC8qWzExNTgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1NJ
TkhBTEFfQVJDSEFJQ19OVU1CRVJTID0gMjQ5LCAvKlsxMTFFMF0qLworICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVCTE9DS19TVVBQTEVNRU5UQUxfQVJST1dTX0MgPSAyNTAsIC8qWzFG
ODAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1RJUkhVVEEgPSAy
NTEsIC8qWzExNDgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1dB
UkFOR19DSVRJID0gMjUyLCAvKlsxMThBMF0qLworCisgICAgLyoqIEBzdGFibGUgSUNVIDIuMCAq
LworICAgIFVCTE9DS19DT1VOVCA9IDI1MywKIAogICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8K
ICAgICBVQkxPQ0tfSU5WQUxJRF9DT0RFPS0xCkBAIC0xNjYyLDYgKzE3MjksMzQgQEAgdHlwZWRl
ZiBlbnVtIFVKb2luaW5nR3JvdXAgewogICAgIFVfSkdfRkFSU0lfWUVILCAvKio8IEBzdGFibGUg
SUNVIDQuNCAqLwogICAgIFVfSkdfTllBLCAgICAgICAvKio8IEBzdGFibGUgSUNVIDQuNCAqLwog
ICAgIFVfSkdfUk9ISU5HWUFfWUVILCAgLyoqPCBAc3RhYmxlIElDVSA0OSAqLworICAgIFVfSkdf
TUFOSUNIQUVBTl9BTEVQSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fQVlJTiwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5f
QkVUSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fREFMRVRI
LCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9ESEFNRURILCAg
LyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9GSVZFLCAgLyoqPCBA
c3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9HSU1FTCwgIC8qKjwgQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fSEVUSCwgIC8qKjwgQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fSFVORFJFRCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVX0pHX01BTklDSEFFQU5fS0FQSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAg
ICBVX0pHX01BTklDSEFFQU5fTEFNRURILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVf
SkdfTUFOSUNIQUVBTl9NRU0sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5J
Q0hBRUFOX05VTiwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5f
T05FLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9QRSwgIC8q
KjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fUU9QSCwgIC8qKjwgQHN0
YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fUkVTSCwgIC8qKjwgQHN0YWJsZSBJ
Q1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fU0FESEUsICAvKio8IEBzdGFibGUgSUNVIDU0
ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1NBTUVLSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICBVX0pHX01BTklDSEFFQU5fVEFXLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVf
SkdfTUFOSUNIQUVBTl9URU4sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5J
Q0hBRUFOX1RFVEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFO
X1RIQU1FREgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RX
RU5UWSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fV0FXLCAg
LyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9ZT0RILCAgLyoqPCBA
c3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9aQVlJTiwgIC8qKjwgQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVX0pHX1NUUkFJR0hUX1dBVywgIC8qKjwgQHN0YWJsZSBJQ1UgNTQg
Ki8KICAgICBVX0pHX0NPVU5UCiB9IFVKb2luaW5nR3JvdXA7CiAKQEAgLTI3NDAsNyArMjgzNSw3
IEBAIHVfY2hhck5hbWUoVUNoYXIzMiBjb2RlLCBVQ2hhck5hbWVDaG9pY2UgbmFtZUNob2ljZSwK
ICAqCiAgKiBAZGVwcmVjYXRlZCBJQ1UgNDkKICAqLwotVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9S
VDIKK1VfREVQUkVDQVRFRCBpbnQzMl90IFVfRVhQT1JUMgogdV9nZXRJU09Db21tZW50KFVDaGFy
MzIgYywKICAgICAgICAgICAgICAgICBjaGFyICpkZXN0LCBpbnQzMl90IGRlc3RDYXBhY2l0eSwK
ICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNudi5oIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91Y252
LmgKaW5kZXggYzVmYzJkYzc4NTZhMTZlMjFmZDMwNzkxN2I3MzgwMjdmNTY2MDU5ZC4uNTY0NjU2
YzI4NGY4ZTAyNzBiMmM5NTYyNTQzMjJiNDQ0M2IzMDM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9pY3UvdW5pY29kZS91Y252LmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91Y252LmgK
QEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMTk5
OS0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChD
KSAxOTk5LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3Jh
dGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAq
ICB1Y252Lmg6CkBAIC0xOCw3ICsxOCw3IEBACiAKIC8qKgogICogXGZpbGUKLSAqIFxicmllZiBD
IEFQSTogQ2hhcmFjdGVyIGNvbnZlcnNpb24gCisgKiBcYnJpZWYgQyBBUEk6IENoYXJhY3RlciBj
b252ZXJzaW9uCiAgKgogICogPGgyPkNoYXJhY3RlciBDb252ZXJzaW9uIEMgQVBJPC9oMj4KICAq
CkBAIC0zOSw3ICszOSw3IEBACiAgKiBvciB7QGxpbmsgdWNudl9zZXRUb1VDYWxsQmFjaygpIH0g
b24gdGhlIGNvbnZlcnRlci4gVGhlIGhlYWRlciB1Y252X2Vyci5oIGRlZmluZXMKICAqIG1hbnkg
b3RoZXIgY2FsbGJhY2sgYWN0aW9ucyB0aGF0IGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgYSBjaGFy
YWN0ZXIgc3Vic3RpdHV0aW9uLjwvcD4KICAqCi0gKiA8cD5Nb3JlIGluZm9ybWF0aW9uIGFib3V0
IHRoaXMgQVBJIGNhbiBiZSBmb3VuZCBpbiBvdXIgCisgKiA8cD5Nb3JlIGluZm9ybWF0aW9uIGFi
b3V0IHRoaXMgQVBJIGNhbiBiZSBmb3VuZCBpbiBvdXIKICAqIDxhIGhyZWY9Imh0dHA6Ly9pY3Ut
cHJvamVjdC5vcmcvdXNlcmd1aWRlL2NvbnZlcnNpb24uaHRtbCI+VXNlcidzCiAgKiBHdWlkZTwv
YT4uPC9wPgogICovCkBAIC0xMTYsNyArMTE2LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICAvKiog
QHN0YWJsZSBJQ1UgMi4wICovCiAgICAgVUNOVl9MTUJDU18xID0gMTEsCiAgICAgLyoqIEBzdGFi
bGUgSUNVIDIuMCAqLwotICAgIFVDTlZfTE1CQ1NfMiwgCisgICAgVUNOVl9MTUJDU18yLAogICAg
IC8qKiBAc3RhYmxlIElDVSAyLjAgKi8KICAgICBVQ05WX0xNQkNTXzMsCiAgICAgLyoqIEBzdGFi
bGUgSUNVIDIuMCAqLwpAQCAtMjM3LDcgKzIzNyw3IEBAIFVfQ0RFQ0xfRU5ECiAjZGVmaW5lIFVD
TlZfT1BUSU9OX1NFUF9DSEFSICcsJwogCiAvKioKLSAqIFN0cmluZyB2ZXJzaW9uIG9mIFVDTlZf
T1BUSU9OX1NFUF9DSEFSLiAKKyAqIFN0cmluZyB2ZXJzaW9uIG9mIFVDTlZfT1BUSU9OX1NFUF9D
SEFSLgogICogQHNlZSB1Y252X29wZW4KICAqIEBzdGFibGUgSUNVIDIuMAogICovCkBAIC0yNTEs
NyArMjUxLDcgQEAgVV9DREVDTF9FTkQKICNkZWZpbmUgVUNOVl9WQUxVRV9TRVBfQ0hBUiAnPScK
IAogLyoqCi0gKiBTdHJpbmcgdmVyc2lvbiBvZiBVQ05WX1ZBTFVFX1NFUF9DSEFSLiAKKyAqIFN0
cmluZyB2ZXJzaW9uIG9mIFVDTlZfVkFMVUVfU0VQX0NIQVIuCiAgKiBAc2VlIHVjbnZfb3Blbgog
ICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KQEAgLTI2OSw3ICsyNjksNyBAQCBVX0NERUNMX0VORAog
CiAvKioKICAqIENvbnZlcnRlciBvcHRpb24gZm9yIHNwZWNpZnlpbmcgYSB2ZXJzaW9uIHNlbGVj
dG9yICgwLi45KSBmb3Igc29tZSBjb252ZXJ0ZXJzLgotICogRm9yIGV4YW1wbGUsIAorICogRm9y
IGV4YW1wbGUsCiAgKiBcY29kZQogICogICB1Y252X29wZW4oIlVURi03LHZlcnNpb249MSIsICZl
cnJvckNvZGUpOwogICogXGVuZGNvZGUKQEAgLTM2MSwyOSArMzYxLDI5IEBAIHVjbnZfY29tcGFy
ZU5hbWVzKGNvbnN0IGNoYXIgKm5hbWUxLCBjb25zdCBjaGFyICpuYW1lMik7CiAgKiBAc2VlIHVj
bnZfY29tcGFyZU5hbWVzCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9TVEFCTEUgVUNvbnZl
cnRlciogVV9FWFBPUlQyIAorVV9TVEFCTEUgVUNvbnZlcnRlciogVV9FWFBPUlQyCiB1Y252X29w
ZW4oY29uc3QgY2hhciAqY29udmVydGVyTmFtZSwgVUVycm9yQ29kZSAqZXJyKTsKIAogCiAvKioK
LSAqIENyZWF0ZXMgYSBVbmljb2RlIGNvbnZlcnRlciB3aXRoIHRoZSBuYW1lcyBzcGVjaWZpZWQg
YXMgdW5pY29kZSBzdHJpbmcuIAorICogQ3JlYXRlcyBhIFVuaWNvZGUgY29udmVydGVyIHdpdGgg
dGhlIG5hbWVzIHNwZWNpZmllZCBhcyB1bmljb2RlIHN0cmluZy4KICAqIFRoZSBuYW1lIHNob3Vs
ZCBiZSBsaW1pdGVkIHRvIHRoZSBBU0NJSS03IGFscGhhbnVtZXJpY3MgcmFuZ2UuCiAgKiBUaGUg
YWN0dWFsIG5hbWUgd2lsbCBiZSByZXNvbHZlZCB3aXRoIHRoZSBhbGlhcyBmaWxlCiAgKiB1c2lu
ZyBhIGNhc2UtaW5zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmlzb24gdGhhdCBpZ25vcmVzCiAgKiBs
ZWFkaW5nIHplcm9lcyBhbmQgYWxsIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycy4KICAqIEUu
Zy4sIHRoZSBuYW1lcyAiVVRGOCIsICJ1dGYtOCIsICJ1KlRAZjA4IiBhbmQgIlV0ZiA4IiBhcmUg
YWxsIGVxdWl2YWxlbnQuCiAgKiAoU2VlIGFsc28gdWNudl9jb21wYXJlTmFtZXMoKS4pCi0gKiBJ
ZiA8VFQ+TlVMTDwvVFQ+IGlzIHBhc3NlZCBmb3IgdGhlIGNvbnZlcnRlciBuYW1lLCBpdCB3aWxs
IGNyZWF0ZSAKKyAqIElmIDxUVD5OVUxMPC9UVD4gaXMgcGFzc2VkIGZvciB0aGUgY29udmVydGVy
IG5hbWUsIGl0IHdpbGwgY3JlYXRlCiAgKiBvbmUgd2l0aCB0aGUgdWNudl9nZXREZWZhdWx0TmFt
ZSgpIHJldHVybiB2YWx1ZS4KICAqIElmIHRoZSBhbGlhcyBpcyBhbWJpZ3VvdXMsIHRoZW4gdGhl
IHByZWZlcnJlZCBjb252ZXJ0ZXIgaXMgdXNlZAogICogYW5kIHRoZSBzdGF0dXMgaXMgc2V0IHRv
IFVfQU1CSUdVT1VTX0FMSUFTX1dBUk5JTkcuCiAgKgogICogPHA+U2VlIHVjbnZfb3BlbiBmb3Ig
dGhlIGNvbXBsZXRlIGRldGFpbHM8L3A+Ci0gKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBVQ29u
dmVydGVyIHRhYmxlIGluIGEgemVybyB0ZXJtaW5hdGVkIAorICogQHBhcmFtIG5hbWUgTmFtZSBv
ZiB0aGUgVUNvbnZlcnRlciB0YWJsZSBpbiBhIHplcm8gdGVybWluYXRlZAogICogICAgICAgIFVu
aWNvZGUgc3RyaW5nCi0gKiBAcGFyYW0gZXJyIG91dGdvaW5nIGVycm9yIHN0YXR1cyA8VFQ+VV9N
RU1PUllfQUxMT0NBVElPTl9FUlJPUiwgCisgKiBAcGFyYW0gZXJyIG91dGdvaW5nIGVycm9yIHN0
YXR1cyA8VFQ+VV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUiwKICAqICAgICAgICBVX0ZJTEVfQUND
RVNTX0VSUk9SPC9UVD4KLSAqIEByZXR1cm4gdGhlIGNyZWF0ZWQgVW5pY29kZSBjb252ZXJ0ZXIg
b2JqZWN0LCBvciA8VFQ+TlVMTDwvVFQ+IGlmIGFuIAorICogQHJldHVybiB0aGUgY3JlYXRlZCBV
bmljb2RlIGNvbnZlcnRlciBvYmplY3QsIG9yIDxUVD5OVUxMPC9UVD4gaWYgYW4KICAqICAgICAg
ICBlcnJvciBvY2N1cmVkCiAgKiBAc2VlIHVjbnZfb3BlbgogICogQHNlZSB1Y252X29wZW5DQ1NJ
RApAQCAtMzkxLDcgKzM5MSw3IEBAIHVjbnZfb3Blbihjb25zdCBjaGFyICpjb252ZXJ0ZXJOYW1l
LCBVRXJyb3JDb2RlICplcnIpOwogICogQHNlZSB1Y252X2NvbXBhcmVOYW1lcwogICogQHN0YWJs
ZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIFVDb252ZXJ0ZXIqIFVfRVhQT1JUMiAKK1VfU1RBQkxF
IFVDb252ZXJ0ZXIqIFVfRVhQT1JUMgogdWNudl9vcGVuVShjb25zdCBVQ2hhciAqbmFtZSwKICAg
ICAgICAgICAgVUVycm9yQ29kZSAqZXJyKTsKIApAQCAtNDY2LDIwICs0NjYsMjAgQEAgdWNudl9v
cGVuQ0NTSUQoaW50MzJfdCBjb2RlcGFnZSwKIAogLyoqCiAgKiA8cD5DcmVhdGVzIGEgVUNvbnZl
cnRlciBvYmplY3Qgc3BlY2lmaWVkIGZyb20gYSBwYWNrYWdlTmFtZSBhbmQgYSBjb252ZXJ0ZXJO
YW1lLjwvcD4KLSAqIAorICoKICAqIDxwPlRoZSBwYWNrYWdlTmFtZSBhbmQgY29udmVydGVyTmFt
ZSBtdXN0IHBvaW50IHRvIGFuIElDVSB1ZGF0YSBvYmplY3QsIGFzIGRlZmluZWQgYnkKICAqICAg
PGNvZGU+IHVkYXRhX29wZW4oIHBhY2thZ2VOYW1lLCAiY252IiwgY29udmVydGVyTmFtZSwgZXJy
KSA8L2NvZGU+IG9yIGVxdWl2YWxlbnQuCiAgKiBUeXBpY2FsbHksIHBhY2thZ2VOYW1lIHdpbGwg
cmVmZXIgdG8gYSAoLmRhdCkgZmlsZSwgb3IgdG8gYSBwYWNrYWdlIHJlZ2lzdGVyZWQgd2l0aAog
ICogdWRhdGFfc2V0QXBwRGF0YSgpLiBVc2luZyBhIGZ1bGwgZmlsZSBvciBkaXJlY3RvcnkgcGF0
aG5hbWUgZm9yIHBhY2thZ2VOYW1lIGlzIGRlcHJlY2F0ZWQuPC9wPgotICogCisgKgogICogPHA+
VGhlIG5hbWUgd2lsbCBOT1QgYmUgbG9va2VkIHVwIGluIHRoZSBhbGlhcyBtZWNoYW5pc20sIG5v
ciB3aWxsIHRoZSBjb252ZXJ0ZXIgYmUKICAqIHN0b3JlZCBpbiB0aGUgY29udmVydGVyIGNhY2hl
IG9yIHRoZSBhbGlhcyB0YWJsZS4gVGhlIG9ubHkgd2F5IHRvIG9wZW4gZnVydGhlciBjb252ZXJ0
ZXJzCi0gKiBpcyBjYWxsIHRoaXMgZnVuY3Rpb24gbXVsdGlwbGUgdGltZXMsIG9yIHVzZSB0aGUg
dWNudl9zYWZlQ2xvbmUoKSBmdW5jdGlvbiB0byBjbG9uZSBhIAorICogaXMgY2FsbCB0aGlzIGZ1
bmN0aW9uIG11bHRpcGxlIHRpbWVzLCBvciB1c2UgdGhlIHVjbnZfc2FmZUNsb25lKCkgZnVuY3Rp
b24gdG8gY2xvbmUgYQogICogJ21hc3RlcicgY29udmVydGVyLjwvcD4KICAqCiAgKiA8cD5BIGZ1
dHVyZSB2ZXJzaW9uIG9mIElDVSBtYXkgYWRkIGFsaWFzIHRhYmxlIGxvb2t1cHMgYW5kL29yIGNh
Y2hpbmcKICAqIHRvIHRoaXMgZnVuY3Rpb24uPC9wPgotICogCisgKgogICogPHA+RXhhbXBsZSBV
c2U6CiAgKiAgICAgIDxjb2RlPmNudiA9IHVjbnZfb3BlblBhY2thZ2UoIm15YXBwIiwgIm15Y29u
dmVydGVyIiwgJmVycik7PC9jb2RlPgogICogPC9wPgpAQCAtNDk0LDcgKzQ5NCw3IEBAIHVjbnZf
b3BlbkNDU0lEKGludDMyX3QgY29kZXBhZ2UsCiAgKiBAc2VlIHVjbnZfY2xvc2UKICAqIEBzdGFi
bGUgSUNVIDIuMgogICovCi1VX1NUQUJMRSBVQ29udmVydGVyKiBVX0VYUE9SVDIgCitVX1NUQUJM
RSBVQ29udmVydGVyKiBVX0VYUE9SVDIKIHVjbnZfb3BlblBhY2thZ2UoY29uc3QgY2hhciAqcGFj
a2FnZU5hbWUsIGNvbnN0IGNoYXIgKmNvbnZlcnRlck5hbWUsIFVFcnJvckNvZGUgKmVycik7CiAK
IC8qKgpAQCAtNTIyLDcgKzUyMiw3IEBAIHVjbnZfb3BlblBhY2thZ2UoY29uc3QgY2hhciAqcGFj
a2FnZU5hbWUsIGNvbnN0IGNoYXIgKmNvbnZlcnRlck5hbWUsIFVFcnJvckNvZGUKICAqCiAgKiBA
cGFyYW0gY252IGNvbnZlcnRlciB0byBiZSBjbG9uZWQKICAqIEBwYXJhbSBzdGFja0J1ZmZlciA8
ZW0+RGVwcmVjYXRlZCBmdW5jdGlvbmFsaXR5IGFzIG9mIElDVSA1MiwgdXNlIE5VTEwuPC9lbT48
YnI+Ci0gKiAgdXNlciBhbGxvY2F0ZWQgc3BhY2UgZm9yIHRoZSBuZXcgY2xvbmUuIElmIE5VTEwg
bmV3IG1lbW9yeSB3aWxsIGJlIGFsbG9jYXRlZC4gCisgKiAgdXNlciBhbGxvY2F0ZWQgc3BhY2Ug
Zm9yIHRoZSBuZXcgY2xvbmUuIElmIE5VTEwgbmV3IG1lbW9yeSB3aWxsIGJlIGFsbG9jYXRlZC4K
ICAqICBJZiBidWZmZXIgaXMgbm90IGxhcmdlIGVub3VnaCwgbmV3IG1lbW9yeSB3aWxsIGJlIGFs
bG9jYXRlZC4KICAqICBDbGllbnRzIGNhbiB1c2UgdGhlIFVfQ05WX1NBRkVDTE9ORV9CVUZGRVJT
SVpFLiBUaGlzIHdpbGwgcHJvYmFibHkgYmUgZW5vdWdoIHRvIGF2b2lkIG1lbW9yeSBhbGxvY2F0
aW9ucy4KICAqIEBwYXJhbSBwQnVmZmVyU2l6ZSA8ZW0+RGVwcmVjYXRlZCBmdW5jdGlvbmFsaXR5
IGFzIG9mIElDVSA1MiwgdXNlIE5VTEwgb3IgMS48L2VtPjxicj4KQEAgLTUzNiwxMCArNTM2LDEw
IEBAIHVjbnZfb3BlblBhY2thZ2UoY29uc3QgY2hhciAqcGFja2FnZU5hbWUsIGNvbnN0IGNoYXIg
KmNvbnZlcnRlck5hbWUsIFVFcnJvckNvZGUKICAqIEByZXR1cm4gcG9pbnRlciB0byB0aGUgbmV3
IGNsb25lCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9TVEFCTEUgVUNvbnZlcnRlciAqIFVf
RVhQT1JUMiAKLXVjbnZfc2FmZUNsb25lKGNvbnN0IFVDb252ZXJ0ZXIgKmNudiwgCitVX1NUQUJM
RSBVQ29udmVydGVyICogVV9FWFBPUlQyCit1Y252X3NhZmVDbG9uZShjb25zdCBVQ29udmVydGVy
ICpjbnYsCiAgICAgICAgICAgICAgICB2b2lkICAgICAgICAgICAgICpzdGFja0J1ZmZlciwKLSAg
ICAgICAgICAgICAgIGludDMyX3QgICAgICAgICAgKnBCdWZmZXJTaXplLCAKKyAgICAgICAgICAg
ICAgIGludDMyX3QgICAgICAgICAgKnBCdWZmZXJTaXplLAogICAgICAgICAgICAgICAgVUVycm9y
Q29kZSAgICAgICAqc3RhdHVzKTsKIAogI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkKQEAg
LTU5NSw3ICs1OTUsNyBAQCBVX05BTUVTUEFDRV9FTkQKICAqCiAgKiBAcGFyYW0gY29udmVydGVy
IHRoZSBVbmljb2RlIGNvbnZlcnRlcgogICogQHBhcmFtIHN1YkNoYXJzIHRoZSBzdWJzaXR1dGlv
biBjaGFyYWN0ZXJzCi0gKiBAcGFyYW0gbGVuIG9uIGlucHV0IHRoZSBjYXBhY2l0eSBvZiBzdWJD
aGFycywgb24gb3V0cHV0IHRoZSBudW1iZXIgCisgKiBAcGFyYW0gbGVuIG9uIGlucHV0IHRoZSBj
YXBhY2l0eSBvZiBzdWJDaGFycywgb24gb3V0cHV0IHRoZSBudW1iZXIKICAqIG9mIGJ5dGVzIGNv
cGllZCB0byBpdAogICogQHBhcmFtICBlcnIgdGhlIG91dGdvaW5nIGVycm9yIHN0YXR1cyBjb2Rl
LgogICogSWYgdGhlIHN1YnN0aXR1dGlvbiBjaGFyYWN0ZXIgYXJyYXkgaXMgdG9vIHNtYWxsLCBh
bgpAQCAtNjkzLDcgKzY5Myw3IEBAIHVjbnZfZ2V0SW52YWxpZENoYXJzKGNvbnN0IFVDb252ZXJ0
ZXIgKmNvbnZlcnRlciwKICAqCiAgKiBAcGFyYW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNvbnZl
cnRlcgogICogQHBhcmFtIGVyclVDaGFycyB0aGUgVUNoYXJzIHdoaWNoIHdlcmUgaW4gZXJyb3IK
LSAqIEBwYXJhbSBsZW4gb24gaW5wdXQgdGhlIGNhcGFjaXR5IG9mIGVyclVDaGFycywgb24gb3V0
cHV0IHRoZSBudW1iZXIgb2YgCisgKiBAcGFyYW0gbGVuIG9uIGlucHV0IHRoZSBjYXBhY2l0eSBv
ZiBlcnJVQ2hhcnMsIG9uIG91dHB1dCB0aGUgbnVtYmVyIG9mCiAgKiAgVUNoYXJzIHdoaWNoIHdl
cmUgY29waWVkIHRvIGl0CiAgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0dXMgY29kZS4KICAq
IElmIHRoZSBzdWJzdGl0dXRpb24gY2hhcmFjdGVyIGFycmF5IGlzIHRvbyBzbWFsbCwgYW4KQEAg
LTcyNCw3ICs3MjQsNyBAQCB1Y252X3Jlc2V0KFVDb252ZXJ0ZXIgKmNvbnZlcnRlcik7CiAgKiBA
cGFyYW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNvbnZlcnRlcgogICogQHN0YWJsZSBJQ1UgMi4w
CiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAorVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIK
IHVjbnZfcmVzZXRUb1VuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyKTsKIAogLyoqCkBAIC03
MzUsNyArNzM1LDcgQEAgdWNudl9yZXNldFRvVW5pY29kZShVQ29udmVydGVyICpjb252ZXJ0ZXIp
OwogICogQHBhcmFtIGNvbnZlcnRlciB0aGUgVW5pY29kZSBjb252ZXJ0ZXIKICAqIEBzdGFibGUg
SUNVIDIuMAogICovCi1VX1NUQUJMRSB2b2lkIFVfRVhQT1JUMiAKK1VfU1RBQkxFIHZvaWQgVV9F
WFBPUlQyCiB1Y252X3Jlc2V0RnJvbVVuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyKTsKIAog
LyoqCkBAIC03NzksOCArNzc5LDEwIEBAIHVjbnZfcmVzZXRGcm9tVW5pY29kZShVQ29udmVydGVy
ICpjb252ZXJ0ZXIpOwogICogLSBJU08tMjAyMi1DTjogOCAoNC1ieXRlIGRlc2lnbmF0b3Igc2Vx
dWVuY2VzICsgMi1ieXRlIFNTMi9TUzMgKyBEQkNTKQogICoKICAqIEBwYXJhbSBjb252ZXJ0ZXIg
VGhlIFVuaWNvZGUgY29udmVydGVyLgotICogQHJldHVybiBUaGUgbWF4aW11bSBudW1iZXIgb2Yg
Ynl0ZXMgcGVyIFVDaGFyIHRoYXQgYXJlIG91dHB1dCBieSB1Y252X2Zyb21Vbmljb2RlKCksCi0g
KiAgICAgICAgIHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBVQ05WX0dFVF9NQVhfQllURVNfRk9S
X1NUUklORyBmb3IgYnVmZmVyIGFsbG9jYXRpb24uCisgKiBAcmV0dXJuIFRoZSBtYXhpbXVtIG51
bWJlciBvZiBieXRlcyBwZXIgVUNoYXIgKDE2IGJpdCBjb2RlIHVuaXQpCisgKiAgICB0aGF0IGFy
ZSBvdXRwdXQgYnkgdWNudl9mcm9tVW5pY29kZSgpLAorICogICAgdG8gYmUgdXNlZCB0b2dldGhl
ciB3aXRoIFVDTlZfR0VUX01BWF9CWVRFU19GT1JfU1RSSU5HCisgKiAgICBmb3IgYnVmZmVyIGFs
bG9jYXRpb24uCiAgKgogICogQHNlZSBVQ05WX0dFVF9NQVhfQllURVNfRk9SX1NUUklORwogICog
QHNlZSB1Y252X2dldE1pbkNoYXJTaXplCkBAIC04MTIsMTAgKzgxNCwxMCBAQCB1Y252X2dldE1h
eENoYXJTaXplKGNvbnN0IFVDb252ZXJ0ZXIgKmNvbnZlcnRlcik7CiAgICAgICgoKGludDMyX3Qp
KGxlbmd0aCkrMTApKihpbnQzMl90KShtYXhDaGFyU2l6ZSkpCiAKIC8qKgotICogUmV0dXJucyB0
aGUgbWluaW11bSBieXRlIGxlbmd0aCBmb3IgY2hhcmFjdGVycyBpbiB0aGlzIGNvZGVwYWdlLiAK
KyAqIFJldHVybnMgdGhlIG1pbmltdW0gYnl0ZSBsZW5ndGggKHBlciBjb2RlcG9pbnQpIGZvciBj
aGFyYWN0ZXJzIGluIHRoaXMgY29kZXBhZ2UuCiAgKiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIDEg
b3IgMi4KICAqIEBwYXJhbSBjb252ZXJ0ZXIgdGhlIFVuaWNvZGUgY29udmVydGVyCi0gKiBAcmV0
dXJuIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcyBhbGxvd2VkIGJ5IHRoaXMgcGFydGljdWxh
ciBjb252ZXJ0ZXIKKyAqIEByZXR1cm4gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ5dGVzIHBlciBj
b2RlcG9pbnQgYWxsb3dlZCBieSB0aGlzIHBhcnRpY3VsYXIgY29udmVydGVyCiAgKiBAc2VlIHVj
bnZfZ2V0TWF4Q2hhclNpemUKICAqIEBzdGFibGUgSUNVIDIuMAogICovCkBAIC04MjMsNyArODI1
LDcgQEAgVV9TVEFCTEUgaW50OF90IFVfRVhQT1JUMgogdWNudl9nZXRNaW5DaGFyU2l6ZShjb25z
dCBVQ29udmVydGVyICpjb252ZXJ0ZXIpOwogCiAvKioKLSAqIFJldHVybnMgdGhlIGRpc3BsYXkg
bmFtZSBvZiB0aGUgY29udmVydGVyIHBhc3NlZCBpbiBiYXNlZCBvbiB0aGUgTG9jYWxlIAorICog
UmV0dXJucyB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBjb252ZXJ0ZXIgcGFzc2VkIGluIGJhc2Vk
IG9uIHRoZSBMb2NhbGUKICAqIHBhc3NlZCBpbi4gSWYgdGhlIGxvY2FsZSBjb250YWlucyBubyBk
aXNwbGF5IG5hbWUsIHRoZSBpbnRlcm5hbCBBU0NJSQogICogbmFtZSB3aWxsIGJlIGZpbGxlZCBp
bi4KICAqCkBAIC04NDUsNyArODQ3LDcgQEAgdWNudl9nZXREaXNwbGF5TmFtZShjb25zdCBVQ29u
dmVydGVyICpjb252ZXJ0ZXIsCiAKIC8qKgogICogR2V0cyB0aGUgaW50ZXJuYWwsIGNhbm9uaWNh
bCBuYW1lIG9mIHRoZSBjb252ZXJ0ZXIgKHplcm8tdGVybWluYXRlZCkuCi0gKiBUaGUgbGlmZXRp
bWUgb2YgdGhlIHJldHVybmVkIHN0cmluZyB3aWxsIGJlIHRoYXQgb2YgdGhlIGNvbnZlcnRlciAK
KyAqIFRoZSBsaWZldGltZSBvZiB0aGUgcmV0dXJuZWQgc3RyaW5nIHdpbGwgYmUgdGhhdCBvZiB0
aGUgY29udmVydGVyCiAgKiBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbi4KICAqIEBwYXJhbSBjb252
ZXJ0ZXIgdGhlIFVuaWNvZGUgY29udmVydGVyCiAgKiBAcGFyYW0gZXJyIFVFcnJvckNvZGUgc3Rh
dHVzCkBAIC04NTMsNyArODU1LDcgQEAgdWNudl9nZXREaXNwbGF5TmFtZShjb25zdCBVQ29udmVy
dGVyICpjb252ZXJ0ZXIsCiAgKiBAc2VlIHVjbnZfZ2V0RGlzcGxheU5hbWUKICAqIEBzdGFibGUg
SUNVIDIuMAogICovCi1VX1NUQUJMRSBjb25zdCBjaGFyICogVV9FWFBPUlQyIAorVV9TVEFCTEUg
Y29uc3QgY2hhciAqIFVfRVhQT1JUMgogdWNudl9nZXROYW1lKGNvbnN0IFVDb252ZXJ0ZXIgKmNv
bnZlcnRlciwgVUVycm9yQ29kZSAqZXJyKTsKIAogLyoqCkBAIC04ODQsMTAgKzg4NiwxMCBAQCB1
Y252X2dldENDU0lEKGNvbnN0IFVDb252ZXJ0ZXIgKmNvbnZlcnRlciwKICAgICAgICAgICAgICAg
VUVycm9yQ29kZSAqZXJyKTsKIAogLyoqCi0gKiBHZXRzIGEgY29kZXBhZ2UgcGxhdGZvcm0gYXNz
b2NpYXRlZCB3aXRoIHRoZSBjb252ZXJ0ZXIuIEN1cnJlbnRseSwgCisgKiBHZXRzIGEgY29kZXBh
Z2UgcGxhdGZvcm0gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb252ZXJ0ZXIuIEN1cnJlbnRseSwKICAq
IG9ubHkgPFRUPlVDTlZfSUJNPC9UVD4gd2lsbCBiZSByZXR1cm5lZC4KLSAqIERvZXMgbm90IHRl
c3QgaWYgdGhlIGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+IG9yIGlmIGNvbnZlcnRlcidzIGRh
dGEgCi0gKiB0YWJsZSBpcyA8VFQ+TlVMTDwvVFQ+LiAKKyAqIERvZXMgbm90IHRlc3QgaWYgdGhl
IGNvbnZlcnRlciBpcyA8VFQ+TlVMTDwvVFQ+IG9yIGlmIGNvbnZlcnRlcidzIGRhdGEKKyAqIHRh
YmxlIGlzIDxUVD5OVUxMPC9UVD4uCiAgKiBAcGFyYW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNv
bnZlcnRlcgogICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUuCiAgKiBAcmV0dXJu
IFRoZSBjb2RlcGFnZSBwbGF0Zm9ybQpAQCAtODk5LDcgKzkwMSw3IEBAIHVjbnZfZ2V0UGxhdGZv
cm0oY29uc3QgVUNvbnZlcnRlciAqY29udmVydGVyLAogCiAvKioKICAqIEdldHMgdGhlIHR5cGUg
b2YgdGhlIGNvbnZlcnRlcgotICogZS5nLiBTQkNTLCBNQkNTLCBEQkNTLCBVVEY4LCBVVEYxNl9C
RSwgVVRGMTZfTEUsIElTT18yMDIyLCAKKyAqIGUuZy4gU0JDUywgTUJDUywgREJDUywgVVRGOCwg
VVRGMTZfQkUsIFVURjE2X0xFLCBJU09fMjAyMiwKICAqIEVCQ0RJQ19TVEFURUZVTCwgTEFUSU5f
MQogICogQHBhcmFtIGNvbnZlcnRlciBhIHZhbGlkLCBvcGVuZWQgY29udmVydGVyCiAgKiBAcmV0
dXJuIHRoZSB0eXBlIG9mIHRoZSBjb252ZXJ0ZXIKQEAgLTkxMSwyMCArOTEzLDIwIEBAIHVjbnZf
Z2V0VHlwZShjb25zdCBVQ29udmVydGVyICogY29udmVydGVyKTsKIC8qKgogICogR2V0cyB0aGUg
InN0YXJ0ZXIiIChsZWFkKSBieXRlcyBmb3IgY29udmVydGVycyBvZiB0eXBlIE1CQ1MuCiAgKiBX
aWxsIGZpbGwgaW4gYW4gPFRUPlVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUjwvVFQ+IGlmIGNvbnZl
cnRlciBwYXNzZWQgaW4KLSAqIGlzIG5vdCBNQkNTLiBGaWxscyBpbiBhbiBhcnJheSBvZiB0eXBl
IFVCb29sLCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgYnl0ZSAKKyAqIGlzIG5vdCBNQkNTLiBGaWxs
cyBpbiBhbiBhcnJheSBvZiB0eXBlIFVCb29sLCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgYnl0ZQog
ICogYXMgb2Zmc2V0IHRvIHRoZSBhcnJheS4gRm9yIGV4YW1wbGUsIGlmIChzdGFydGVyc1sweDIw
XSA9PSBUUlVFKSBhdCByZXR1cm4sCiAgKiBpdCBtZWFucyB0aGF0IHRoZSBieXRlIDB4MjAgaXMg
YSBzdGFydGVyIGJ5dGUgaW4gdGhpcyBjb252ZXJ0ZXIuCiAgKiBDb250ZXh0IHBvaW50ZXJzIGFy
ZSBhbHdheXMgb3duZWQgYnkgdGhlIGNhbGxlci4KLSAqIAorICoKICAqIEBwYXJhbSBjb252ZXJ0
ZXIgYSB2YWxpZCwgb3BlbmVkIGNvbnZlcnRlciBvZiB0eXBlIE1CQ1MKICAqIEBwYXJhbSBzdGFy
dGVycyBhbiBhcnJheSBvZiBzaXplIDI1NiB0byBiZSBmaWxsZWQgaW4KLSAqIEBwYXJhbSBlcnIg
ZXJyb3Igc3RhdHVzLCA8VFQ+VV9JTExFR0FMX0FSR1VNRU5UX0VSUk9SPC9UVD4gaWYgdGhlIAor
ICogQHBhcmFtIGVyciBlcnJvciBzdGF0dXMsIDxUVD5VX0lMTEVHQUxfQVJHVU1FTlRfRVJST1I8
L1RUPiBpZiB0aGUKICAqIGNvbnZlcnRlciBpcyBub3QgYSB0eXBlIHdoaWNoIGNhbiByZXR1cm4g
c3RhcnRlcnMuCiAgKiBAc2VlIHVjbnZfZ2V0VHlwZQogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8K
IFVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCi11Y252X2dldFN0YXJ0ZXJzKGNvbnN0IFVDb252ZXJ0
ZXIqIGNvbnZlcnRlciwgCit1Y252X2dldFN0YXJ0ZXJzKGNvbnN0IFVDb252ZXJ0ZXIqIGNvbnZl
cnRlciwKICAgICAgICAgICAgICAgICAgVUJvb2wgc3RhcnRlcnNbMjU2XSwKICAgICAgICAgICAg
ICAgICAgVUVycm9yQ29kZSogZXJyKTsKIApAQCAtOTk3LDcgKzk5OSw3IEBAIHVjbnZfZ2V0VW5p
Y29kZVNldChjb25zdCBVQ29udmVydGVyICpjbnYsCiAKIC8qKgogICogR2V0cyB0aGUgY3VycmVu
dCBjYWxiYWNrIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIGNvbnZlcnRlciB3aGVuIGFuIGlsbGVnYWwK
LSAqICBvciBpbnZhbGlkIGNvZGVwYWdlIHNlcXVlbmNlIGlzIGZvdW5kLiAKKyAqICBvciBpbnZh
bGlkIGNvZGVwYWdlIHNlcXVlbmNlIGlzIGZvdW5kLgogICogQ29udGV4dCBwb2ludGVycyBhcmUg
YWx3YXlzIG93bmVkIGJ5IHRoZSBjYWxsZXIuCiAgKgogICogQHBhcmFtIGNvbnZlcnRlciB0aGUg
dW5pY29kZSBjb252ZXJ0ZXIKQEAgLTEwMTIsNyArMTAxNCw3IEBAIHVjbnZfZ2V0VG9VQ2FsbEJh
Y2sgKGNvbnN0IFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB2b2lkICoqY29udGV4dCk7CiAKIC8qKgotICogR2V0cyB0aGUgY3VycmVudCBjYWxsYmFj
ayBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBjb252ZXJ0ZXIgd2hlbiBpbGxlZ2FsIAorICogR2V0cyB0
aGUgY3VycmVudCBjYWxsYmFjayBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBjb252ZXJ0ZXIgd2hlbiBp
bGxlZ2FsCiAgKiBvciBpbnZhbGlkIFVuaWNvZGUgc2VxdWVuY2UgaXMgZm91bmQuCiAgKiBDb250
ZXh0IHBvaW50ZXJzIGFyZSBhbHdheXMgb3duZWQgYnkgdGhlIGNhbGxlci4KICAqCkBAIC0xMDc4
LDI2ICsxMDgwLDI2IEBAIHVjbnZfc2V0RnJvbVVDYWxsQmFjayAoVUNvbnZlcnRlciAqIGNvbnZl
cnRlciwKICAqIGNoYXJhY3RlcnMuIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW1pemVkIGZvciBjb252
ZXJ0aW5nIGEgY29udGludW91cwogICogc3RyZWFtIG9mIGRhdGEgaW4gYnVmZmVyLXNpemVkIGNo
dW5rcywgd2hlcmUgdGhlIGVudGlyZSBzb3VyY2UgYW5kCiAgKiB0YXJnZXQgZG9lcyBub3QgZml0
IGluIGF2YWlsYWJsZSBidWZmZXJzLgotICogCi0gKiBUaGUgc291cmNlIHBvaW50ZXIgaXMgYW4g
aW4vb3V0IHBhcmFtZXRlci4gSXQgc3RhcnRzIG91dCBwb2ludGluZyB3aGVyZSB0aGUgCi0gKiBj
b252ZXJzaW9uIGlzIHRvIGJlZ2luLCBhbmQgZW5kcyB1cCBwb2ludGluZyBhZnRlciB0aGUgbGFz
dCBVQ2hhciBjb25zdW1lZC4gCi0gKiAKKyAqCisgKiBUaGUgc291cmNlIHBvaW50ZXIgaXMgYW4g
aW4vb3V0IHBhcmFtZXRlci4gSXQgc3RhcnRzIG91dCBwb2ludGluZyB3aGVyZSB0aGUKKyAqIGNv
bnZlcnNpb24gaXMgdG8gYmVnaW4sIGFuZCBlbmRzIHVwIHBvaW50aW5nIGFmdGVyIHRoZSBsYXN0
IFVDaGFyIGNvbnN1bWVkLgorICoKICAqIFRhcmdldCBzaW1pbGFybHkgc3RhcnRzIG91dCBwb2lu
dGVyIGF0IHRoZSBmaXJzdCBhdmFpbGFibGUgYnl0ZSBpbiB0aGUgb3V0cHV0CiAgKiBidWZmZXIs
IGFuZCBlbmRzIHVwIHBvaW50aW5nIGFmdGVyIHRoZSBsYXN0IGJ5dGUgd3JpdHRlbiB0byB0aGUg
b3V0cHV0LgotICogCi0gKiBUaGUgY29udmVydGVyIGFsd2F5cyBhdHRlbXB0cyB0byBjb25zdW1l
IHRoZSBlbnRpcmUgc291cmNlIGJ1ZmZlciwgdW5sZXNzIAorICoKKyAqIFRoZSBjb252ZXJ0ZXIg
YWx3YXlzIGF0dGVtcHRzIHRvIGNvbnN1bWUgdGhlIGVudGlyZSBzb3VyY2UgYnVmZmVyLCB1bmxl
c3MKICAqICgxLikgdGhlIHRhcmdldCBidWZmZXIgaXMgZnVsbCwgb3IgKDIuKSBhIGZhaWxpbmcg
ZXJyb3IgaXMgcmV0dXJuZWQgZnJvbSB0aGUKICAqIGN1cnJlbnQgY2FsbGJhY2sgZnVuY3Rpb24u
ICBXaGVuIGEgc3VjY2Vzc2Z1bCBlcnJvciBzdGF0dXMgaGFzIGJlZW4KICAqIHJldHVybmVkLCBp
dCBtZWFucyB0aGF0IGFsbCBvZiB0aGUgc291cmNlIGJ1ZmZlciBoYXMgYmVlbgogICogIGNvbnN1
bWVkLiBBdCB0aGF0IHBvaW50LCB0aGUgY2FsbGVyIHNob3VsZCByZXNldCB0aGUgc291cmNlIGFu
ZAogICogIHNvdXJjZUxpbWl0IHBvaW50ZXJzIHRvIHBvaW50IHRvIHRoZSBuZXh0IGNodW5rLgot
ICogCisgKgogICogQXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIChmbHVzaD09VFJVRSksIHRoZSBp
bnB1dCBpcyBjb21wbGV0ZWx5IGNvbnN1bWVkCiAgKiB3aGVuICpzb3VyY2U9PXNvdXJjZUxpbWl0
IGFuZCBubyBlcnJvciBjb2RlIGlzIHNldC4KICAqIFRoZSBjb252ZXJ0ZXIgb2JqZWN0IGlzIHRo
ZW4gYXV0b21hdGljYWxseSByZXNldCBieSB0aGlzIGZ1bmN0aW9uLgogICogKFRoaXMgbWVhbnMg
dGhhdCBhIGNvbnZlcnRlciBuZWVkIG5vdCBiZSByZXNldCBleHBsaWNpdGx5IGJldHdlZW4gZGF0
YQogICogc3RyZWFtcyBpZiBpdCBmaW5pc2hlcyB0aGUgcHJldmlvdXMgc3RyZWFtIHdpdGhvdXQg
ZXJyb3JzLikKLSAqIAorICoKICAqIFRoaXMgaXMgYSA8ST5zdGF0ZWZ1bDwvST4gY29udmVyc2lv
bi4gQWRkaXRpb25hbGx5LCBldmVuIHdoZW4gYWxsIHNvdXJjZSBkYXRhIGhhcwogICogYmVlbiBj
b25zdW1lZCwgc29tZSBkYXRhIG1heSBiZSBpbiB0aGUgY29udmVydGVycycgaW50ZXJuYWwgc3Rh
dGUuCiAgKiBDYWxsIHRoaXMgZnVuY3Rpb24gcmVwZWF0ZWRseSwgdXBkYXRpbmcgdGhlIHRhcmdl
dCBwb2ludGVycyB3aXRoCkBAIC0xMTEwLDIwICsxMTEyLDIwIEBAIHVjbnZfc2V0RnJvbVVDYWxs
QmFjayAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqICBjb2RlcGFnZSBjaGFyYWN0ZXJzIHRv
LiBPdXRwdXQgOiBwb2ludHMgdG8gYWZ0ZXIgdGhlIGxhc3QgY29kZXBhZ2UgY2hhcmFjdGVyIGNv
cGllZAogICogIHRvIDxUVD50YXJnZXQ8L1RUPi4KICAqIEBwYXJhbSB0YXJnZXRMaW1pdCB0aGUg
cG9pbnRlciBqdXN0IGFmdGVyIGxhc3Qgb2YgdGhlIDxUVD50YXJnZXQ8L1RUPiBidWZmZXIKLSAq
IEBwYXJhbSBzb3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVyIHRvIHRoZSBz
b3VyY2UgVW5pY29kZSBjaGFyYWN0ZXIgYnVmZmVyLiAKKyAqIEBwYXJhbSBzb3VyY2UgSS9PIHBh
cmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVyIHRvIHRoZSBzb3VyY2UgVW5pY29kZSBjaGFyYWN0
ZXIgYnVmZmVyLgogICogQHBhcmFtIHNvdXJjZUxpbWl0IHRoZSBwb2ludGVyIGp1c3QgYWZ0ZXIg
dGhlIGxhc3Qgb2YgdGhlIHNvdXJjZSBidWZmZXIKICAqIEBwYXJhbSBvZmZzZXRzIGlmIE5VTEwg
aXMgcGFzc2VkLCBub3RoaW5nIHdpbGwgaGFwcGVuIHRvIGl0LCBvdGhlcndpc2UgaXQgbmVlZHMg
dG8gaGF2ZSB0aGUgc2FtZSBudW1iZXIKICAqIG9mIGFsbG9jYXRlZCBjZWxscyBhcyA8VFQ+dGFy
Z2V0PC9UVD4uIFdpbGwgZmlsbCBpbiBvZmZzZXRzIGZyb20gdGFyZ2V0IHRvIHNvdXJjZSBwb2lu
dGVyCiAgKiBlLmc6IDxUVD5vZmZzZXRzWzNdPC9UVD4gaXMgZXF1YWwgdG8gNiwgaXQgbWVhbnMg
dGhhdCB0aGUgPFRUPnRhcmdldFszXTwvVFQ+IHdhcyBhIHJlc3VsdCBvZiB0cmFuc2NvZGluZyA8
VFQ+c291cmNlWzZdPC9UVD4KICAqIEZvciBvdXRwdXQgZGF0YSBjYXJyaWVkIGFjcm9zcyBjYWxs
cywgYW5kIG90aGVyIGRhdGEgd2l0aG91dCBhIHNwZWNpZmljIHNvdXJjZSBjaGFyYWN0ZXIKLSAq
IChzdWNoIGFzIGZyb20gZXNjYXBlIHNlcXVlbmNlcyBvciBjYWxsYmFja3MpICAtMSB3aWxsIGJl
IHBsYWNlZCBmb3Igb2Zmc2V0cy4gCisgKiAoc3VjaCBhcyBmcm9tIGVzY2FwZSBzZXF1ZW5jZXMg
b3IgY2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9mZnNldHMuCiAgKiBAcGFyYW0g
Zmx1c2ggc2V0IHRvIDxUVD5UUlVFPC9UVD4gaWYgdGhlIGN1cnJlbnQgc291cmNlIGJ1ZmZlciBp
cyB0aGUgbGFzdCBhdmFpbGFibGUKICAqIGNodW5rIG9mIHRoZSBzb3VyY2UsIDxUVD5GQUxTRTwv
VFQ+IG90aGVyd2lzZS4gTm90ZSB0aGF0IGlmIGEgZmFpbGluZyBzdGF0dXMgaXMgcmV0dXJuZWQs
CiAgKiB0aGlzIGZ1bmN0aW9uIG1heSBoYXZlIHRvIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB3
aXRoIGZsdXNoIHNldCB0byA8VFQ+VFJVRTwvVFQ+IHVudGlsCiAgKiB0aGUgc291cmNlIGJ1ZmZl
ciBpcyBjb25zdW1lZC4KICAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0YXR1cy4gIDxUVD5VX0lM
TEVHQUxfQVJHVU1FTlRfRVJST1I8L1RUPiB3aWxsIGJlIHNldCBpZiB0aGUKICAqIGNvbnZlcnRl
ciBpcyA8VFQ+TlVMTDwvVFQ+LgotICogPGNvZGU+VV9CVUZGRVJfT1ZFUkZMT1dfRVJST1I8L2Nv
ZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBhbmQgdGhlcmUgaXMgCisgKiA8
Y29kZT5VX0JVRkZFUl9PVkVSRkxPV19FUlJPUjwvY29kZT4gd2lsbCBiZSBzZXQgaWYgdGhlIHRh
cmdldCBpcyBmdWxsIGFuZCB0aGVyZSBpcwogICogc3RpbGwgZGF0YSB0byBiZSB3cml0dGVuIHRv
IHRoZSB0YXJnZXQuCiAgKiBAc2VlIHVjbnZfZnJvbVVDaGFycwogICogQHNlZSB1Y252X2NvbnZl
cnQKQEAgLTExMzEsNyArMTEzMyw3IEBAIHVjbnZfc2V0RnJvbVVDYWxsQmFjayAoVUNvbnZlcnRl
ciAqIGNvbnZlcnRlciwKICAqIEBzZWUgdWNudl9zZXRUb1VDYWxsQmFjawogICogQHN0YWJsZSBJ
Q1UgMi4wCiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAorVV9TVEFCTEUgdm9pZCBVX0VY
UE9SVDIKIHVjbnZfZnJvbVVuaWNvZGUgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgICAgICAg
ICAgICAgICAgICBjaGFyICoqdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq
dGFyZ2V0TGltaXQsCkBAIC0xMTQ2LDE1ICsxMTQ4LDE1IEBAIHVjbnZfZnJvbVVuaWNvZGUgKFVD
b252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiBjaGFyYWN0ZXJzLiBUaGlzIGZ1bmN0aW9uIGlzIG9w
dGltaXplZCBmb3IgY29udmVydGluZyBhIGNvbnRpbnVvdXMKICAqIHN0cmVhbSBvZiBkYXRhIGlu
IGJ1ZmZlci1zaXplZCBjaHVua3MsIHdoZXJlIHRoZSBlbnRpcmUgc291cmNlIGFuZAogICogdGFy
Z2V0IGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUgYnVmZmVycy4KLSAqIAotICogVGhlIHNvdXJj
ZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0ZXIuIEl0IHN0YXJ0cyBvdXQgcG9pbnRpbmcg
d2hlcmUgdGhlIAotICogY29udmVyc2lvbiBpcyB0byBiZWdpbiwgYW5kIGVuZHMgdXAgcG9pbnRp
bmcgYWZ0ZXIgdGhlIGxhc3QgYnl0ZSBvZiBzb3VyY2UgY29uc3VtZWQuIAotICogCisgKgorICog
VGhlIHNvdXJjZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0ZXIuIEl0IHN0YXJ0cyBvdXQg
cG9pbnRpbmcgd2hlcmUgdGhlCisgKiBjb252ZXJzaW9uIGlzIHRvIGJlZ2luLCBhbmQgZW5kcyB1
cCBwb2ludGluZyBhZnRlciB0aGUgbGFzdCBieXRlIG9mIHNvdXJjZSBjb25zdW1lZC4KKyAqCiAg
KiBUYXJnZXQgc2ltaWxhcmx5IHN0YXJ0cyBvdXQgcG9pbnRlciBhdCB0aGUgZmlyc3QgYXZhaWxh
YmxlIFVDaGFyIGluIHRoZSBvdXRwdXQKLSAqIGJ1ZmZlciwgYW5kIGVuZHMgdXAgcG9pbnRpbmcg
YWZ0ZXIgdGhlIGxhc3QgVUNoYXIgd3JpdHRlbiB0byB0aGUgb3V0cHV0LiAKKyAqIGJ1ZmZlciwg
YW5kIGVuZHMgdXAgcG9pbnRpbmcgYWZ0ZXIgdGhlIGxhc3QgVUNoYXIgd3JpdHRlbiB0byB0aGUg
b3V0cHV0LgogICogSXQgZG9lcyBOT1QgbmVjZXNzYXJpbHkga2VlcCBVQ2hhciBzZXF1ZW5jZXMg
dG9nZXRoZXIuCi0gKiAKLSAqIFRoZSBjb252ZXJ0ZXIgYWx3YXlzIGF0dGVtcHRzIHRvIGNvbnN1
bWUgdGhlIGVudGlyZSBzb3VyY2UgYnVmZmVyLCB1bmxlc3MgCisgKgorICogVGhlIGNvbnZlcnRl
ciBhbHdheXMgYXR0ZW1wdHMgdG8gY29uc3VtZSB0aGUgZW50aXJlIHNvdXJjZSBidWZmZXIsIHVu
bGVzcwogICogKDEuKSB0aGUgdGFyZ2V0IGJ1ZmZlciBpcyBmdWxsLCBvciAoMi4pIGEgZmFpbGlu
ZyBlcnJvciBpcyByZXR1cm5lZCBmcm9tIHRoZQogICogY3VycmVudCBjYWxsYmFjayBmdW5jdGlv
bi4gIFdoZW4gYSBzdWNjZXNzZnVsIGVycm9yIHN0YXR1cyBoYXMgYmVlbgogICogcmV0dXJuZWQs
IGl0IG1lYW5zIHRoYXQgYWxsIG9mIHRoZSBzb3VyY2UgYnVmZmVyIGhhcyBiZWVuCkBAIC0xMTY2
LDcgKzExNjgsNyBAQCB1Y252X2Zyb21Vbmljb2RlIChVQ29udmVydGVyICogY29udmVydGVyLAog
ICogVGhlIGNvbnZlcnRlciBvYmplY3QgaXMgdGhlbiBhdXRvbWF0aWNhbGx5IHJlc2V0IGJ5IHRo
aXMgZnVuY3Rpb24uCiAgKiAoVGhpcyBtZWFucyB0aGF0IGEgY29udmVydGVyIG5lZWQgbm90IGJl
IHJlc2V0IGV4cGxpY2l0bHkgYmV0d2VlbiBkYXRhCiAgKiBzdHJlYW1zIGlmIGl0IGZpbmlzaGVz
IHRoZSBwcmV2aW91cyBzdHJlYW0gd2l0aG91dCBlcnJvcnMuKQotICogCisgKgogICogVGhpcyBp
cyBhIDxJPnN0YXRlZnVsPC9JPiBjb252ZXJzaW9uLiBBZGRpdGlvbmFsbHksIGV2ZW4gd2hlbiBh
bGwgc291cmNlIGRhdGEgaGFzCiAgKiBiZWVuIGNvbnN1bWVkLCBzb21lIGRhdGEgbWF5IGJlIGlu
IHRoZSBjb252ZXJ0ZXJzJyBpbnRlcm5hbCBzdGF0ZS4KICAqIENhbGwgdGhpcyBmdW5jdGlvbiBy
ZXBlYXRlZGx5LCB1cGRhdGluZyB0aGUgdGFyZ2V0IHBvaW50ZXJzIHdpdGgKQEAgLTExNzgsMjEg
KzExODAsMjEgQEAgdWNudl9mcm9tVW5pY29kZSAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAq
IEBwYXJhbSB0YXJnZXQgSS9PIHBhcmFtZXRlci4gSW5wdXQgOiBQb2ludHMgdG8gdGhlIGJlZ2lu
bmluZyBvZiB0aGUgYnVmZmVyIHRvIGNvcHkKICAqICBVQ2hhcnMgaW50by4gT3V0cHV0IDogcG9p
bnRzIHRvIGFmdGVyIHRoZSBsYXN0IFVDaGFyIGNvcGllZC4KICAqIEBwYXJhbSB0YXJnZXRMaW1p
dCB0aGUgcG9pbnRlciBqdXN0IGFmdGVyIHRoZSBlbmQgb2YgdGhlIDxUVD50YXJnZXQ8L1RUPiBi
dWZmZXIKLSAqIEBwYXJhbSBzb3VyY2UgSS9PIHBhcmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVy
IHRvIHRoZSBzb3VyY2UgY29kZXBhZ2UgYnVmZmVyLiAKKyAqIEBwYXJhbSBzb3VyY2UgSS9PIHBh
cmFtZXRlciwgcG9pbnRlciB0byBwb2ludGVyIHRvIHRoZSBzb3VyY2UgY29kZXBhZ2UgYnVmZmVy
LgogICogQHBhcmFtIHNvdXJjZUxpbWl0IHRoZSBwb2ludGVyIHRvIHRoZSBieXRlIGFmdGVyIHRo
ZSBlbmQgb2YgdGhlIHNvdXJjZSBidWZmZXIKICAqIEBwYXJhbSBvZmZzZXRzIGlmIE5VTEwgaXMg
cGFzc2VkLCBub3RoaW5nIHdpbGwgaGFwcGVuIHRvIGl0LCBvdGhlcndpc2UgaXQgbmVlZHMgdG8g
aGF2ZSB0aGUgc2FtZSBudW1iZXIKICAqIG9mIGFsbG9jYXRlZCBjZWxscyBhcyA8VFQ+dGFyZ2V0
PC9UVD4uIFdpbGwgZmlsbCBpbiBvZmZzZXRzIGZyb20gdGFyZ2V0IHRvIHNvdXJjZSBwb2ludGVy
CiAgKiBlLmc6IDxUVD5vZmZzZXRzWzNdPC9UVD4gaXMgZXF1YWwgdG8gNiwgaXQgbWVhbnMgdGhh
dCB0aGUgPFRUPnRhcmdldFszXTwvVFQ+IHdhcyBhIHJlc3VsdCBvZiB0cmFuc2NvZGluZyA8VFQ+
c291cmNlWzZdPC9UVD4KICAqIEZvciBvdXRwdXQgZGF0YSBjYXJyaWVkIGFjcm9zcyBjYWxscywg
YW5kIG90aGVyIGRhdGEgd2l0aG91dCBhIHNwZWNpZmljIHNvdXJjZSBjaGFyYWN0ZXIKLSAqIChz
dWNoIGFzIGZyb20gZXNjYXBlIHNlcXVlbmNlcyBvciBjYWxsYmFja3MpICAtMSB3aWxsIGJlIHBs
YWNlZCBmb3Igb2Zmc2V0cy4gCisgKiAoc3VjaCBhcyBmcm9tIGVzY2FwZSBzZXF1ZW5jZXMgb3Ig
Y2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9mZnNldHMuCiAgKiBAcGFyYW0gZmx1
c2ggc2V0IHRvIDxUVD5UUlVFPC9UVD4gaWYgdGhlIGN1cnJlbnQgc291cmNlIGJ1ZmZlciBpcyB0
aGUgbGFzdCBhdmFpbGFibGUKICAqIGNodW5rIG9mIHRoZSBzb3VyY2UsIDxUVD5GQUxTRTwvVFQ+
IG90aGVyd2lzZS4gTm90ZSB0aGF0IGlmIGEgZmFpbGluZyBzdGF0dXMgaXMgcmV0dXJuZWQsCiAg
KiB0aGlzIGZ1bmN0aW9uIG1heSBoYXZlIHRvIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB3aXRo
IGZsdXNoIHNldCB0byA8VFQ+VFJVRTwvVFQ+IHVudGlsCiAgKiB0aGUgc291cmNlIGJ1ZmZlciBp
cyBjb25zdW1lZC4KICAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0YXR1cy4gIDxUVD5VX0lMTEVH
QUxfQVJHVU1FTlRfRVJST1I8L1RUPiB3aWxsIGJlIHNldCBpZiB0aGUKICAqIGNvbnZlcnRlciBp
cyA8VFQ+TlVMTDwvVFQ+LgotICogPGNvZGU+VV9CVUZGRVJfT1ZFUkZMT1dfRVJST1I8L2NvZGU+
IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBhbmQgdGhlcmUgaXMgCi0gKiBzdGls
bCBkYXRhIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIHRhcmdldC4gCisgKiA8Y29kZT5VX0JVRkZFUl9P
VkVSRkxPV19FUlJPUjwvY29kZT4gd2lsbCBiZSBzZXQgaWYgdGhlIHRhcmdldCBpcyBmdWxsIGFu
ZCB0aGVyZSBpcworICogc3RpbGwgZGF0YSB0byBiZSB3cml0dGVuIHRvIHRoZSB0YXJnZXQuCiAg
KiBAc2VlIHVjbnZfZnJvbVVDaGFycwogICogQHNlZSB1Y252X2NvbnZlcnQKICAqIEBzZWUgdWNu
dl9nZXRNaW5DaGFyU2l6ZQpAQCAtMTIwMCw3ICsxMjAyLDcgQEAgdWNudl9mcm9tVW5pY29kZSAo
VUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqIEBzZWUgdWNudl9nZXROZXh0VUNoYXIKICAqIEBz
dGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSB2b2lkIFVfRVhQT1JUMiAKK1VfU1RBQkxFIHZv
aWQgVV9FWFBPUlQyCiB1Y252X3RvVW5pY29kZShVQ29udmVydGVyICpjb252ZXJ0ZXIsCiAgICAg
ICAgICAgICAgICBVQ2hhciAqKnRhcmdldCwKICAgICAgICAgICAgICAgIGNvbnN0IFVDaGFyICp0
YXJnZXRMaW1pdCwKQEAgLTEzMzEsOCArMTMzMyw4IEBAIHVjbnZfdG9VQ2hhcnMoVUNvbnZlcnRl
ciAqY252LAogICogIHVwZGF0ZWQgdG8gcG9pbnQgYWZ0ZXIgdGhlIGJ5dGVzIGNvbnN1bWVkIGlu
IHRoZSBjb252ZXJzaW9uIGNhbGwuCiAgKiBAcGFyYW0gc291cmNlTGltaXQgcG9pbnRzIHRvIHRo
ZSBlbmQgb2YgdGhlIGlucHV0IGJ1ZmZlcgogICogQHBhcmFtIGVyciBmaWxscyBpbiBlcnJvciBz
dGF0dXMgKHNlZSB1Y252X3RvVW5pY29kZSkKLSAqIDxjb2RlPlVfSU5ERVhfT1VUT0ZCT1VORFNf
RVJST1I8L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSBpbnB1dCAKLSAqIGlzIGVtcHR5IG9yIGRv
ZXMgbm90IGNvbnZlcnQgdG8gYW55IG91dHB1dCAoZS5nLjogcHVyZSBzdGF0ZS1jaGFuZ2UgCisg
KiA8Y29kZT5VX0lOREVYX09VVE9GQk9VTkRTX0VSUk9SPC9jb2RlPiB3aWxsIGJlIHNldCBpZiB0
aGUgaW5wdXQKKyAqIGlzIGVtcHR5IG9yIGRvZXMgbm90IGNvbnZlcnQgdG8gYW55IG91dHB1dCAo
ZS5nLjogcHVyZSBzdGF0ZS1jaGFuZ2UKICAqIGNvZGVzIFNJL1NPLCBlc2NhcGUgc2VxdWVuY2Vz
IGZvciBJU08gMjAyMiwKICAqIG9yIGlmIHRoZSBjYWxsYmFjayBkaWQgbm90IG91dHB1dCBhbnl0
aGluZywgLi4uKS4KICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBub3Qgc2V0IGEgPGNvZGU+VV9CVUZG
RVJfT1ZFUkZMT1dfRVJST1I8L2NvZGU+IGJlY2F1c2UKQEAgLTE0MzYsNyArMTQzOCw3IEBAIHVj
bnZfZ2V0TmV4dFVDaGFyKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiAgICAgICAgICAgICAg
ICAgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKICAqICAgICAgICAgICAgICAgICAgICBUUlVF
LCBUUlVFLAogICogICAgICAgICAgICAgICAgICAgIHBFcnJvckNvZGUpOwotICogCisgKgogICog
ICAgIG15UmVsZWFzZUNhY2hlZFVURjhDb252ZXJ0ZXIodXRmOENudik7CiAgKgogICogICAgIC8v
IHJldHVybiB0aGUgb3V0cHV0IHN0cmluZyBsZW5ndGgsIGJ1dCB3aXRob3V0IHByZWZsaWdodGlu
ZwpAQCAtMTcyNCw3ICsxNzI2LDcgQEAgdWNudl9vcGVuQWxsTmFtZXMoVUVycm9yQ29kZSAqcEVy
cm9yQ29kZSk7CiAgKiBAcmV0dXJuIG51bWJlciBvZiBuYW1lcyBvbiBhbGlhcyBsaXN0IGZvciBn
aXZlbiBhbGlhcwogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIHVpbnQxNl90IFVf
RVhQT1JUMiAKK1VfU1RBQkxFIHVpbnQxNl90IFVfRVhQT1JUMgogdWNudl9jb3VudEFsaWFzZXMo
Y29uc3QgY2hhciAqYWxpYXMsIFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwogCiAvKioKQEAgLTE3
MzksNyArMTc0MSw3IEBAIHVjbnZfY291bnRBbGlhc2VzKGNvbnN0IGNoYXIgKmFsaWFzLCBVRXJy
b3JDb2RlICpwRXJyb3JDb2RlKTsKICAqIEBzZWUgdWNudl9jb3VudEFsaWFzZXMKICAqIEBzdGFi
bGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSBjb25zdCBjaGFyICogVV9FWFBPUlQyIAorVV9TVEFC
TEUgY29uc3QgY2hhciAqIFVfRVhQT1JUMgogdWNudl9nZXRBbGlhcyhjb25zdCBjaGFyICphbGlh
cywgdWludDE2X3QgbiwgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAKIC8qKgpAQCAtMTc1NSw3
ICsxNzU3LDcgQEAgdWNudl9nZXRBbGlhcyhjb25zdCBjaGFyICphbGlhcywgdWludDE2X3Qgbiwg
VUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAgKiBAcGFyYW0gcEVycm9yQ29kZSByZXN1bHQgb2Yg
b3BlcmF0aW9uCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwotVV9TVEFCTEUgdm9pZCBVX0VYUE9S
VDIgCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgogdWNudl9nZXRBbGlhc2VzKGNvbnN0IGNoYXIg
KmFsaWFzLCBjb25zdCBjaGFyICoqYWxpYXNlcywgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAK
IC8qKgpAQCAtMTg4Nyw5ICsxODg5LDkgQEAgdWNudl9zZXREZWZhdWx0TmFtZShjb25zdCBjaGFy
ICpuYW1lKTsKICNlbmRpZiAgLyogVV9ISURFX1NZU1RFTV9BUEkgKi8KIAogLyoqCi0gKiBGaXhl
cyB0aGUgYmFja3NsYXNoIGNoYXJhY3RlciBtaXNtYXBwaW5nLiAgRm9yIGV4YW1wbGUsIGluIFNK
SVMsIHRoZSBiYWNrc2xhc2ggCi0gKiBjaGFyYWN0ZXIgaW4gdGhlIEFTQ0lJIHBvcnRpb24gaXMg
YWxzbyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgeWVuIGN1cnJlbmN5IHNpZ24uICAKLSAqIFdoZW4g
bWFwcGluZyBmcm9tIFVuaWNvZGUgY2hhcmFjdGVyIDB4MDA1QywgaXQncyB1bmNsZWFyIHdoZXRo
ZXIgdG8gbWFwIHRoZSAKKyAqIEZpeGVzIHRoZSBiYWNrc2xhc2ggY2hhcmFjdGVyIG1pc21hcHBp
bmcuICBGb3IgZXhhbXBsZSwgaW4gU0pJUywgdGhlIGJhY2tzbGFzaAorICogY2hhcmFjdGVyIGlu
IHRoZSBBU0NJSSBwb3J0aW9uIGlzIGFsc28gdXNlZCB0byByZXByZXNlbnQgdGhlIHllbiBjdXJy
ZW5jeSBzaWduLgorICogV2hlbiBtYXBwaW5nIGZyb20gVW5pY29kZSBjaGFyYWN0ZXIgMHgwMDVD
LCBpdCdzIHVuY2xlYXIgd2hldGhlciB0byBtYXAgdGhlCiAgKiBjaGFyYWN0ZXIgYmFjayB0byB5
ZW4gb3IgYmFja3NsYXNoIGluIFNKSVMuICBUaGlzIGZ1bmN0aW9uIHdpbGwgdGFrZSB0aGUgaW5w
dXQKICAqIGJ1ZmZlciBhbmQgcmVwbGFjZSBhbGwgdGhlIHllbiBzaWduIGNoYXJhY3RlcnMgd2l0
aCBiYWNrc2xhc2guICBUaGlzIGlzIG5lY2Vzc2FyeQogICogd2hlbiB0aGUgdXNlciB0cmllcyB0
byBvcGVuIGEgZmlsZSB3aXRoIHRoZSBpbnB1dCBidWZmZXIgb24gV2luZG93cy4KQEAgLTE5MTAs
NyArMTkxMiw3IEBAIHVjbnZfZml4RmlsZVNlcGFyYXRvcihjb25zdCBVQ29udmVydGVyICpjbnYs
IFVDaGFyICpzb3VyY2UsIGludDMyX3Qgc291cmNlTGVuKTsKICAqIERldGVybWluZXMgaWYgdGhl
IGNvbnZlcnRlciBjb250YWlucyBhbWJpZ3VvdXMgbWFwcGluZ3Mgb2YgdGhlIHNhbWUKICAqIGNo
YXJhY3RlciBvciBub3QuCiAgKiBAcGFyYW0gY252IHRoZSBjb252ZXJ0ZXIgdG8gYmUgdGVzdGVk
Ci0gKiBAcmV0dXJuIFRSVUUgaWYgdGhlIGNvbnZlcnRlciBjb250YWlucyBhbWJpZ3VvdXMgbWFw
cGluZyBvZiB0aGUgc2FtZSAKKyAqIEByZXR1cm4gVFJVRSBpZiB0aGUgY29udmVydGVyIGNvbnRh
aW5zIGFtYmlndW91cyBtYXBwaW5nIG9mIHRoZSBzYW1lCiAgKiBjaGFyYWN0ZXIsIEZBTFNFIG90
aGVyd2lzZS4KICAqIEBzdGFibGUgSUNVIDIuMAogICovCkBAIC0xOTI3LDEyICsxOTI5LDEyIEBA
IHVjbnZfaXNBbWJpZ3VvdXMoY29uc3QgVUNvbnZlcnRlciAqY252KTsKICAqIGh0dHA6Ly93d3cu
aWN1LXByb2plY3Qub3JnL3VzZXJndWlkZS9jb252ZXJzaW9uLWRhdGEuaHRtbCN1Y21mb3JtYXQK
ICAqCiAgKiBAcGFyYW0gY252IFRoZSBjb252ZXJ0ZXIgdG8gc2V0IHRoZSBmYWxsYmFjayBtYXBw
aW5nIHVzYWdlIG9uLgotICogQHBhcmFtIHVzZXNGYWxsYmFjayBUUlVFIGlmIHRoZSB1c2VyIHdh
bnRzIHRoZSBjb252ZXJ0ZXIgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhbGxiYWNrIAorICog
QHBhcmFtIHVzZXNGYWxsYmFjayBUUlVFIGlmIHRoZSB1c2VyIHdhbnRzIHRoZSBjb252ZXJ0ZXIg
dG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhbGxiYWNrCiAgKiBtYXBwaW5nLCBGQUxTRSBvdGhl
cndpc2UuCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqIEBzZWUgdWNudl91c2VzRmFsbGJhY2sKICAq
LwotVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgogdWNu
dl9zZXRGYWxsYmFjayhVQ29udmVydGVyICpjbnYsIFVCb29sIHVzZXNGYWxsYmFjayk7CiAKIC8q
KgpAQCAtMTk0NCw3ICsxOTQ2LDcgQEAgdWNudl9zZXRGYWxsYmFjayhVQ29udmVydGVyICpjbnYs
IFVCb29sIHVzZXNGYWxsYmFjayk7CiAgKiBAc3RhYmxlIElDVSAyLjAKICAqIEBzZWUgdWNudl9z
ZXRGYWxsYmFjawogICovCi1VX1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIgCitVX1NUQUJMRSBVQm9v
bCBVX0VYUE9SVDIKIHVjbnZfdXNlc0ZhbGxiYWNrKGNvbnN0IFVDb252ZXJ0ZXIgKmNudik7CiAK
IC8qKgpAQCAtMTk2OCwxMiArMTk3MCwxMiBAQCB1Y252X3VzZXNGYWxsYmFjayhjb25zdCBVQ29u
dmVydGVyICpjbnYpOwogICoKICAqIEBwYXJhbSBzb3VyY2UgICAgICAgICAgICBUaGUgc291cmNl
IHN0cmluZyBpbiB3aGljaCB0aGUgc2lnbmF0dXJlIHNob3VsZCBiZSBkZXRlY3RlZC4KICAqIEBw
YXJhbSBzb3VyY2VMZW5ndGggICAgICBMZW5ndGggb2YgdGhlIGlucHV0IHN0cmluZywgb3IgLTEg
aWYgdGVybWluYXRlZCB3aXRoIGEgTlVMIGJ5dGUuCi0gKiBAcGFyYW0gc2lnbmF0dXJlTGVuZ3Ro
ICAgQSBwb2ludGVyIHRvIGludDMyX3QgdG8gcmVjZWl2ZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRo
YXQgbWFrZSB1cCB0aGUgc2lnbmF0dXJlIAorICogQHBhcmFtIHNpZ25hdHVyZUxlbmd0aCAgIEEg
cG9pbnRlciB0byBpbnQzMl90IHRvIHJlY2VpdmUgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IG1h
a2UgdXAgdGhlIHNpZ25hdHVyZQogICogICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBk
ZXRlY3RlZCBVVEYuIDAgaWYgbm90IGRldGVjdGVkLgogICogICAgICAgICAgICAgICAgICAgICAg
ICAgIENhbiBiZSBhIE5VTEwgcG9pbnRlci4KICAqIEBwYXJhbSBwRXJyb3JDb2RlICAgICAgICBJ
Q1UgZXJyb3IgY29kZSBpbi9vdXQgcGFyYW1ldGVyLgogICogICAgICAgICAgICAgICAgICAgICAg
ICAgIE11c3QgZnVsZmlsbCBVX1NVQ0NFU1MgYmVmb3JlIHRoZSBmdW5jdGlvbiBjYWxsLgotICog
QHJldHVybiBUaGUgbmFtZSBvZiB0aGUgZW5jb2RpbmcgZGV0ZWN0ZWQuIE5VTEwgaWYgZW5jb2Rp
bmcgaXMgbm90IGRldGVjdGVkLiAKKyAqIEByZXR1cm4gVGhlIG5hbWUgb2YgdGhlIGVuY29kaW5n
IGRldGVjdGVkLiBOVUxMIGlmIGVuY29kaW5nIGlzIG5vdCBkZXRlY3RlZC4KICAqIEBzdGFibGUg
SUNVIDIuNAogICovCiBVX1NUQUJMRSBjb25zdCBjaGFyKiBVX0VYUE9SVDIKQEAgLTE5ODMsOCAr
MTk4NSw4IEBAIHVjbnZfZGV0ZWN0VW5pY29kZVNpZ25hdHVyZShjb25zdCBjaGFyKiBzb3VyY2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAK
IC8qKgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIFVDaGFycyBoZWxkIGluIHRoZSBjb252ZXJ0
ZXIncyBpbnRlcm5hbCBzdGF0ZSAKLSAqIGJlY2F1c2UgbW9yZSBpbnB1dCBpcyBuZWVkZWQgZm9y
IGNvbXBsZXRpbmcgdGhlIGNvbnZlcnNpb24uIFRoaXMgZnVuY3Rpb24gaXMgCisgKiBSZXR1cm5z
IHRoZSBudW1iZXIgb2YgVUNoYXJzIGhlbGQgaW4gdGhlIGNvbnZlcnRlcidzIGludGVybmFsIHN0
YXRlCisgKiBiZWNhdXNlIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGZvciBjb21wbGV0aW5nIHRoZSBj
b252ZXJzaW9uLiBUaGlzIGZ1bmN0aW9uIGlzCiAgKiB1c2VmdWwgZm9yIG1hcHBpbmcgc2VtYW50
aWNzIG9mIElDVSdzIGNvbnZlcnRlciBpbnRlcmZhY2UgdG8gdGhvc2Ugb2YgaWNvbnYsCiAgKiBh
bmQgdGhpcyBpbmZvcm1hdGlvbiBpcyBub3QgbmVlZGVkIGZvciBub3JtYWwgY29udmVyc2lvbi4K
ICAqIEBwYXJhbSBjbnYgICAgICAgVGhlIGNvbnZlcnRlciBpbiB3aGljaCB0aGUgaW5wdXQgaXMg
aGVsZApAQCAtMTk5OCw3ICsyMDAwLDcgQEAgdWNudl9mcm9tVUNvdW50UGVuZGluZyhjb25zdCBV
Q29udmVydGVyKiBjbnYsIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKIC8qKgogICogUmV0dXJucyB0
aGUgbnVtYmVyIG9mIGNoYXJzIGhlbGQgaW4gdGhlIGNvbnZlcnRlcidzIGludGVybmFsIHN0YXRl
Ci0gKiBiZWNhdXNlIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGZvciBjb21wbGV0aW5nIHRoZSBjb252
ZXJzaW9uLiBUaGlzIGZ1bmN0aW9uIGlzIAorICogYmVjYXVzZSBtb3JlIGlucHV0IGlzIG5lZWRl
ZCBmb3IgY29tcGxldGluZyB0aGUgY29udmVyc2lvbi4gVGhpcyBmdW5jdGlvbiBpcwogICogdXNl
ZnVsIGZvciBtYXBwaW5nIHNlbWFudGljcyBvZiBJQ1UncyBjb252ZXJ0ZXIgaW50ZXJmYWNlIHRv
IHRob3NlIG9mIGljb252LAogICogYW5kIHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IG5lZWRlZCBm
b3Igbm9ybWFsIGNvbnZlcnNpb24uCiAgKiBAcGFyYW0gY252ICAgICAgIFRoZSBjb252ZXJ0ZXIg
aW4gd2hpY2ggdGhlIGlucHV0IGlzIGhlbGQgYXMgaW50ZXJuYWwgc3RhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNvbC5oIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91
Y29sLmgKaW5kZXggNWE0NTliNTJhZjRhOWZkNzY4NDAwNWM3ODlhYzM1NDNlOTI4ZDkzOS4uNTEw
ZGRjOGM2YmRkY2VhZjQ5NWMzYzdlMWE3MWQ1NThlYzY0MzA5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9pY3UvdW5pY29kZS91Y29sLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91Y29s
LmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiBDb3B5cmln
aHQgKGMpIDE5OTYtMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3Jh
dGlvbiBhbmQgb3RoZXJzLgorKiBDb3B5cmlnaHQgKGMpIDE5OTYtMjAxNSwgSW50ZXJuYXRpb25h
bCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgUmlnaHRz
IFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKi8KQEAgLTI4LDIzICsyOCwxNyBA
QAogICogVGhlIEMgQVBJIGZvciBDb2xsYXRvciBwZXJmb3JtcyBsb2NhbGUtc2Vuc2l0aXZlCiAg
KiBzdHJpbmcgY29tcGFyaXNvbi4gWW91IHVzZSB0aGlzIHNlcnZpY2UgdG8gYnVpbGQKICAqIHNl
YXJjaGluZyBhbmQgc29ydGluZyByb3V0aW5lcyBmb3IgbmF0dXJhbCBsYW5ndWFnZSB0ZXh0Lgot
ICogPGVtPkltcG9ydGFudDogPC9lbT5UaGUgSUNVIGNvbGxhdGlvbiBzZXJ2aWNlIGhhcyBiZWVu
IHJlaW1wbGVtZW50ZWQgCi0gKiBpbiBvcmRlciB0byBhY2hpZXZlIGJldHRlciBwZXJmb3JtYW5j
ZSBhbmQgVUNBIGNvbXBsaWFuY2UuIAotICogRm9yIGRldGFpbHMsIHNlZSB0aGUgCi0gKiA8YSBo
cmVmPSJodHRwOi8vc291cmNlLmljdS1wcm9qZWN0Lm9yZy9yZXBvcy9pY3UvaWN1aHRtbC90cnVu
ay9kZXNpZ24vY29sbGF0aW9uL0lDVV9jb2xsYXRpb25fZGVzaWduLmh0bSI+Ci0gKiBjb2xsYXRp
b24gZGVzaWduIGRvY3VtZW50PC9hPi4KICAqIDxwPgogICogRm9yIG1vcmUgaW5mb3JtYXRpb24g
YWJvdXQgdGhlIGNvbGxhdGlvbiBzZXJ2aWNlIHNlZSAKLSAqIDxhIGhyZWY9Imh0dHA6Ly9pY3Ut
cHJvamVjdC5vcmcvdXNlcmd1aWRlL0NvbGxhdGVfSW50cm8uaHRtbCI+dGhlIHVzZXJzIGd1aWRl
PC9hPi4KKyAqIDxhIGhyZWY9Imh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2plY3Qub3JnL2NvbGxh
dGlvbiI+dGhlIFVzZXIgR3VpZGU8L2E+LgogICogPHA+CiAgKiBDb2xsYXRpb24gc2VydmljZSBw
cm92aWRlcyBjb3JyZWN0IHNvcnRpbmcgb3JkZXJzIGZvciBtb3N0IGxvY2FsZXMgc3VwcG9ydGVk
IGluIElDVS4gCiAgKiBJZiBzcGVjaWZpYyBkYXRhIGZvciBhIGxvY2FsZSBpcyBub3QgYXZhaWxh
YmxlLCB0aGUgb3JkZXJzIGV2ZW50dWFsbHkgZmFsbHMgYmFjawotICogdG8gdGhlIDxhIGhyZWY9
Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTAvIj5VQ0Egc29ydCBv
cmRlcjwvYT4uIAorICogdG8gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVw
b3J0cy90cjM1L3RyMzUtY29sbGF0aW9uLmh0bWwjUm9vdF9Db2xsYXRpb24iPkNMRFIgcm9vdCBz
b3J0IG9yZGVyPC9hPi4gCiAgKiA8cD4KICAqIFNvcnQgb3JkZXJpbmcgbWF5IGJlIGN1c3RvbWl6
ZWQgYnkgcHJvdmlkaW5nIHlvdXIgb3duIHNldCBvZiBydWxlcy4gRm9yIG1vcmUgb24KLSAqIHRo
aXMgc3ViamVjdCBzZWUgdGhlIAotICogPGEgaHJlZj0iaHR0cDovL2ljdS1wcm9qZWN0Lm9yZy91
c2VyZ3VpZGUvQ29sbGF0ZV9DdXN0b21pemF0aW9uLmh0bWwiPgotICogQ29sbGF0aW9uIGN1c3Rv
bWl6YXRpb248L2E+IHNlY3Rpb24gb2YgdGhlIHVzZXJzIGd1aWRlLgorICogdGhpcyBzdWJqZWN0
IHNlZSB0aGUgPGEgaHJlZj0iaHR0cDovL3VzZXJndWlkZS5pY3UtcHJvamVjdC5vcmcvY29sbGF0
aW9uL2N1c3RvbWl6YXRpb24iPgorICogQ29sbGF0aW9uIEN1c3RvbWl6YXRpb248L2E+IHNlY3Rp
b24gb2YgdGhlIFVzZXIgR3VpZGUuCiAgKiA8cD4KICAqIEBzZWUgICAgICAgICBVQ29sbGF0aW9u
UmVzdWx0CiAgKiBAc2VlICAgICAgICAgVU5vcm1hbGl6YXRpb25Nb2RlCkBAIC0yOTEsMTMgKzI4
NSwxNyBAQCB0eXBlZGVmIGVudW0gewogICAgICBVQ09MX0RFQ09NUE9TSVRJT05fTU9ERSA9IFVD
T0xfTk9STUFMSVpBVElPTl9NT0RFLAogICAgICAvKiogVGhlIHN0cmVuZ3RoIGF0dHJpYnV0ZS4g
Q2FuIGJlIGVpdGhlciBVQ09MX1BSSU1BUlksIFVDT0xfU0VDT05EQVJZLAogICAgICAgKiBVQ09M
X1RFUlRJQVJZLCBVQ09MX1FVQVRFUk5BUlkgb3IgVUNPTF9JREVOVElDQUwuIFRoZSB1c3VhbCBz
dHJlbmd0aAotICAgICAgKiBmb3IgbW9zdCBsb2NhbGVzIChleGNlcHQgSmFwYW5lc2UpIGlzIHRl
cnRpYXJ5LiBRdWF0ZXJuYXJ5IHN0cmVuZ3RoIAorICAgICAgKiBmb3IgbW9zdCBsb2NhbGVzIChl
eGNlcHQgSmFwYW5lc2UpIGlzIHRlcnRpYXJ5LgorICAgICAgKgorICAgICAgKiBRdWF0ZXJuYXJ5
IHN0cmVuZ3RoIAogICAgICAgKiBpcyB1c2VmdWwgd2hlbiBjb21iaW5lZCB3aXRoIHNoaWZ0ZWQg
c2V0dGluZyBmb3IgYWx0ZXJuYXRlIGhhbmRsaW5nCi0gICAgICAqIGF0dHJpYnV0ZSBhbmQgZm9y
IEpJUyB4IDQwNjEgY29sbGF0aW9uLCB3aGVuIGl0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2gKLSAg
ICAgICogYmV0d2VlbiBLYXRha2FuYSAgYW5kIEhpcmFnYW5hICh0aGlzIGlzIGFjaGlldmVkIGJ5
IHNldHRpbmcgdGhlIAotICAgICAgKiBVQ09MX0hJUkFHQU5BX1FVQVRFUk5BUlkgbW9kZSB0byBv
bi4gT3RoZXJ3aXNlLCBxdWF0ZXJuYXJ5IGxldmVsCi0gICAgICAqIGlzIGFmZmVjdGVkIG9ubHkg
YnkgdGhlIG51bWJlciBvZiBub24gaWdub3JhYmxlIGNvZGUgcG9pbnRzIGluCi0gICAgICAqIHRo
ZSBzdHJpbmcuIElkZW50aWNhbCBzdHJlbmd0aCBpcyByYXJlbHkgdXNlZnVsLCBhcyBpdCBhbW91
bnRzIAorICAgICAgKiBhdHRyaWJ1dGUgYW5kIGZvciBKSVMgWCA0MDYxIGNvbGxhdGlvbiwgd2hl
biBpdCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoCisgICAgICAqIGJldHdlZW4gS2F0YWthbmEgYW5k
IEhpcmFnYW5hLgorICAgICAgKiBPdGhlcndpc2UsIHF1YXRlcm5hcnkgbGV2ZWwKKyAgICAgICog
aXMgYWZmZWN0ZWQgb25seSBieSB0aGUgbnVtYmVyIG9mIG5vbi1pZ25vcmFibGUgY29kZSBwb2lu
dHMgaW4KKyAgICAgICogdGhlIHN0cmluZy4KKyAgICAgICoKKyAgICAgICogSWRlbnRpY2FsIHN0
cmVuZ3RoIGlzIHJhcmVseSB1c2VmdWwsIGFzIGl0IGFtb3VudHMgCiAgICAgICAqIHRvIGNvZGVw
b2ludHMgb2YgdGhlIE5GRCBmb3JtIG9mIHRoZSBzdHJpbmcuCiAgICAgICAqIEBzdGFibGUgSUNV
IDIuMAogICAgICAgKi8KQEAgLTMwNywyMSArMzA1LDMxIEBAIHR5cGVkZWYgZW51bSB7CiAgICAg
ICAqIG5vbi1pZ25vcmFibGVzIG9uIHF1YXRlcm5hcnkgbGV2ZWwgVGhpcyBpcyBhIHNuZWFreSB3
YXkgdG8gcHJvZHVjZSBKSVMKICAgICAgICogc29ydCBvcmRlci4KICAgICAgICoKLSAgICAgICog
VGhpcyBhdHRyaWJ1dGUgaXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIG9mIHRoZSBDTERSIEph
cGFuZXNlIHRhaWxvcmluZy4KLSAgICAgICogVGhlIGltcGxlbWVudGF0aW9uIG1pZ2h0IGNoYW5n
ZSB0byB1c2UgYSBkaWZmZXJlbnQgbWVjaGFuaXNtCi0gICAgICAqIHRvIGFjaGlldmUgdGhlIHNh
bWUgSmFwYW5lc2Ugc29ydCBvcmRlci4KKyAgICAgICogVGhpcyBhdHRyaWJ1dGUgd2FzIGFuIGlt
cGxlbWVudGF0aW9uIGRldGFpbCBvZiB0aGUgQ0xEUiBKYXBhbmVzZSB0YWlsb3JpbmcuCiAgICAg
ICAqIFNpbmNlIElDVSA1MCwgdGhpcyBhdHRyaWJ1dGUgaXMgbm90IHNldHRhYmxlIGFueSBtb3Jl
IHZpYSBBUEkgZnVuY3Rpb25zLgotICAgICAgKiBAZGVwcmVjYXRlZCBJQ1UgNTAgSW1wbGVtZW50
YXRpb24gZGV0YWlsLCBjYW5ub3QgYmUgc2V0IHZpYSBBUEksIG1pZ2h0IGJlIHJlbW92ZWQgZnJv
bSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICogU2luY2UgQ0xEUiAyNS9JQ1UgNTMsIGV4cGxpY2l0
IHF1YXRlcm5hcnkgcmVsYXRpb25zIGFyZSB1c2VkCisgICAgICAqIHRvIGFjaGlldmUgdGhlIHNh
bWUgSmFwYW5lc2Ugc29ydCBvcmRlci4KKyAgICAgICoKKyAgICAgICogQGRlcHJlY2F0ZWQgSUNV
IDUwIEltcGxlbWVudGF0aW9uIGRldGFpbCwgY2Fubm90IGJlIHNldCB2aWEgQVBJLCB3YXMgcmVt
b3ZlZCBmcm9tIGltcGxlbWVudGF0aW9uLgogICAgICAgKi8KICAgICAgVUNPTF9ISVJBR0FOQV9R
VUFURVJOQVJZX01PREUgPSBVQ09MX1NUUkVOR1RIICsgMSwKICNlbmRpZiAgLyogVV9ISURFX0RF
UFJFQ0FURURfQVBJICovCi0gICAgIC8qKiBXaGVuIHR1cm5lZCBvbiwgdGhpcyBhdHRyaWJ1dGUg
Z2VuZXJhdGVzIGEgY29sbGF0aW9uIGtleQotICAgICAgKiBmb3IgdGhlIG51bWVyaWMgdmFsdWUg
b2Ygc3Vic3RyaW5ncyBvZiBkaWdpdHMuCisgICAgIC8qKgorICAgICAgKiBXaGVuIHR1cm5lZCBv
biwgdGhpcyBhdHRyaWJ1dGUgbWFrZXMKKyAgICAgICogc3Vic3RyaW5ncyBvZiBkaWdpdHMgc29y
dCBhY2NvcmRpbmcgdG8gdGhlaXIgbnVtZXJpYyB2YWx1ZXMuCisgICAgICAqCiAgICAgICAqIFRo
aXMgaXMgYSB3YXkgdG8gZ2V0ICcxMDAnIHRvIHNvcnQgQUZURVIgJzInLiBOb3RlIHRoYXQgdGhl
IGxvbmdlc3QKLSAgICAgICogZGlnaXQgc3Vic3RyaW5nIHRoYXQgY2FuIGJlIHRyZWF0ZWQgYXMg
YSBzaW5nbGUgY29sbGF0aW9uIGVsZW1lbnQgaXMKKyAgICAgICogZGlnaXQgc3Vic3RyaW5nIHRo
YXQgY2FuIGJlIHRyZWF0ZWQgYXMgYSBzaW5nbGUgdW5pdCBpcwogICAgICAgKiAyNTQgZGlnaXRz
IChub3QgY291bnRpbmcgbGVhZGluZyB6ZXJvcykuIElmIGEgZGlnaXQgc3Vic3RyaW5nIGlzCiAg
ICAgICAqIGxvbmdlciB0aGFuIHRoYXQsIHRoZSBkaWdpdHMgYmV5b25kIHRoZSBsaW1pdCB3aWxs
IGJlIHRyZWF0ZWQgYXMgYQotICAgICAgKiBzZXBhcmF0ZSBkaWdpdCBzdWJzdHJpbmcgYXNzb2Np
YXRlZCB3aXRoIGEgc2VwYXJhdGUgY29sbGF0aW9uIGVsZW1lbnQuCisgICAgICAqIHNlcGFyYXRl
IGRpZ2l0IHN1YnN0cmluZy4KKyAgICAgICoKKyAgICAgICogQSAiZGlnaXQiIGluIHRoaXMgc2Vu
c2UgaXMgYSBjb2RlIHBvaW50IHdpdGggR2VuZXJhbF9DYXRlZ29yeT1OZCwKKyAgICAgICogd2hp
Y2ggZG9lcyBub3QgaW5jbHVkZSBjaXJjbGVkIG51bWJlcnMsIHJvbWFuIG51bWVyYWxzLCBldGMu
CisgICAgICAqIE9ubHkgYSBjb250aWd1b3VzIGRpZ2l0IHN1YnN0cmluZyBpcyBjb25zaWRlcmVk
LCB0aGF0IGlzLAorICAgICAgKiBub24tbmVnYXRpdmUgaW50ZWdlcnMgd2l0aG91dCBzZXBhcmF0
b3JzLgorICAgICAgKiBUaGVyZSBpcyBubyBzdXBwb3J0IGZvciBwbHVzL21pbnVzIHNpZ25zLCBk
ZWNpbWFscywgZXhwb25lbnRzLCBldGMuCisgICAgICAqCiAgICAgICAqIEBzdGFibGUgSUNVIDIu
OAogICAgICAgKi8KICAgICAgVUNPTF9OVU1FUklDX0NPTExBVElPTiA9IFVDT0xfU1RSRU5HVEgg
KyAyLCAKQEAgLTM1NCw2ICszNjIsMTQgQEAgdHlwZWRlZiBlbnVtIHsKIAogLyoqCiAgKiBPcGVu
IGEgVUNvbGxhdG9yIGZvciBjb21wYXJpbmcgc3RyaW5ncy4KKyAqCisgKiBGb3Igc29tZSBsYW5n
dWFnZXMsIG11bHRpcGxlIGNvbGxhdGlvbiB0eXBlcyBhcmUgYXZhaWxhYmxlOworICogZm9yIGV4
YW1wbGUsICJkZUBjb2xsYXRpb249cGhvbmVib29rIi4KKyAqIFN0YXJ0aW5nIHdpdGggSUNVIDU0
LCBjb2xsYXRpb24gYXR0cmlidXRlcyBjYW4gYmUgc3BlY2lmaWVkIHZpYSBsb2NhbGUga2V5d29y
ZHMgYXMgd2VsbCwKKyAqIGluIHRoZSBvbGQgbG9jYWxlIGV4dGVuc2lvbiBzeW50YXggKCJlbEBj
b2xDYXNlRmlyc3Q9dXBwZXIiKQorICogb3IgaW4gbGFuZ3VhZ2UgdGFnIHN5bnRheCAoImVsLXUt
a2YtdXBwZXIiKS4KKyAqIFNlZSA8YSBocmVmPSJodHRwOi8vdXNlcmd1aWRlLmljdS1wcm9qZWN0
Lm9yZy9jb2xsYXRpb24vYXBpIj5Vc2VyIEd1aWRlOiBDb2xsYXRpb24gQVBJPC9hPi4KKyAqCiAg
KiBUaGUgVUNvbGxhdG9yIHBvaW50ZXIgaXMgdXNlZCBpbiBhbGwgdGhlIGNhbGxzIHRvIHRoZSBD
b2xsYXRpb24gCiAgKiBzZXJ2aWNlLiBBZnRlciBmaW5pc2hlZCwgY29sbGF0b3IgbXVzdCBiZSBk
aXNwb3NlZCBvZiBieSBjYWxsaW5nCiAgKiB7QGxpbmsgI3Vjb2xfY2xvc2UgfS4KQEAgLTM2MSw4
ICszNzcsOCBAQCB0eXBlZGVmIGVudW0gewogICogICAgICAgICAgICBTcGVjaWFsIHZhbHVlcyBm
b3IgbG9jYWxlcyBjYW4gYmUgcGFzc2VkIGluIC0gCiAgKiAgICAgICAgICAgIGlmIE5VTEwgaXMg
cGFzc2VkIGZvciB0aGUgbG9jYWxlLCB0aGUgZGVmYXVsdCBsb2NhbGUKICAqICAgICAgICAgICAg
Y29sbGF0aW9uIHJ1bGVzIHdpbGwgYmUgdXNlZC4gSWYgZW1wdHkgc3RyaW5nICgiIikgb3IKLSAq
ICAgICAgICAgICAgInJvb3QiIGFyZSBwYXNzZWQsIFVDQSBydWxlcyB3aWxsIGJlIHVzZWQuCi0g
KiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhbiBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55
IGVycm9ycworICogICAgICAgICAgICAicm9vdCIgYXJlIHBhc3NlZCwgdGhlIHJvb3QgY29sbGF0
b3Igd2lsbCBiZSByZXR1cm5lZC4KKyAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGEgVUVy
cm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKICAqIEByZXR1cm4gQSBwb2ludGVyIHRvIGEg
VUNvbGxhdG9yLCBvciAwIGlmIGFuIGVycm9yIG9jY3VycmVkLgogICogQHNlZSB1Y29sX29wZW5S
dWxlcwogICogQHNlZSB1Y29sX3NhZmVDbG9uZQpAQCAtMzczLDcgKzM4OSw3IEBAIFVfU1RBQkxF
IFVDb2xsYXRvciogVV9FWFBPUlQyCiB1Y29sX29wZW4oY29uc3QgY2hhciAqbG9jLCBVRXJyb3JD
b2RlICpzdGF0dXMpOwogCiAvKioKLSAqIFByb2R1Y2UgYW4gVUNvbGxhdG9yIGluc3RhbmNlIGFj
Y29yZGluZyB0byB0aGUgcnVsZXMgc3VwcGxpZWQuCisgKiBQcm9kdWNlIGEgVUNvbGxhdG9yIGlu
c3RhbmNlIGFjY29yZGluZyB0byB0aGUgcnVsZXMgc3VwcGxpZWQuCiAgKiBUaGUgcnVsZXMgYXJl
IHVzZWQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IG9yZGVyaW5nLCBkZWZpbmVkIGluIHRoZQogICog
VUNBIGluIGEgcHJvY2VzcyBjYWxsZWQgdGFpbG9yaW5nLiBUaGUgcmVzdWx0aW5nIFVDb2xsYXRv
ciBwb2ludGVyCiAgKiBjYW4gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYXMgdGhlIG9uZSBvYnRh
aW5lZCBieSB7QGxpbmsgI3Vjb2xfc3RyY29sbCB9LgpAQCAtMzg5LDcgKzQwNSw3IEBAIHVjb2xf
b3Blbihjb25zdCBjaGFyICpsb2MsIFVFcnJvckNvZGUgKnN0YXR1cyk7CiAgKiBAcGFyYW0gcGFy
c2VFcnJvciAgQSBwb2ludGVyIHRvIFVQYXJzZUVycm9yIHRvIHJlY2lldmUgaW5mb3JtYXRpb24g
YWJvdXQgZXJyb3JzCiAgKiAgICAgICAgICAgICAgICAgICAgb2NjdXJyZWQgZHVyaW5nIHBhcnNp
bmcuIFRoaXMgYXJndW1lbnQgY2FuIGN1cnJlbnRseSBiZSBzZXQKICAqICAgICAgICAgICAgICAg
ICAgICB0byBOVUxMLCBidXQgYXQgdXNlcnMgb3duIHJpc2suIFBsZWFzZSBwcm92aWRlIGEgcmVh
bCBzdHJ1Y3R1cmUuCi0gKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhbiBVRXJyb3JDb2Rl
IHRvIHJlY2VpdmUgYW55IGVycm9ycworICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYSBV
RXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycwogICogQHJldHVybiBBIHBvaW50ZXIgdG8g
YSBVQ29sbGF0b3IuIEl0IGlzIG5vdCBndWFyYW50ZWVkIHRoYXQgTlVMTCBiZSByZXR1cm5lZCBp
biBjYXNlCiAgKiAgICAgICAgIG9mIGVycm9yIC0gcGxlYXNlIHVzZSBzdGF0dXMgYXJndW1lbnQg
dG8gY2hlY2sgZm9yIGVycm9ycy4KICAqIEBzZWUgdWNvbF9vcGVuCkBAIC00MDUsMTEgKzQyMSwx
MiBAQCB1Y29sX29wZW5SdWxlcyggY29uc3QgVUNoYXIgICAgICAgICpydWxlcywKICAgICAgICAg
ICAgICAgICBVUGFyc2VFcnJvciAgICAgICAgKnBhcnNlRXJyb3IsCiAgICAgICAgICAgICAgICAg
VUVycm9yQ29kZSAgICAgICAgICpzdGF0dXMpOwogCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVE
X0FQSQogLyoqIAogICogT3BlbiBhIGNvbGxhdG9yIGRlZmluZWQgYnkgYSBzaG9ydCBmb3JtIHN0
cmluZy4KICAqIFRoZSBzdHJ1Y3R1cmUgYW5kIHRoZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBk
ZWZpbmVkIGluIHRoZSAiTmFtaW5nIGNvbGxhdG9ycyIKICAqIHNlY3Rpb24gb2YgdGhlIHVzZXJz
IGd1aWRlOiAKLSAqIGh0dHA6Ly9pY3UtcHJvamVjdC5vcmcvdXNlcmd1aWRlL0NvbGxhdGVfQ29u
Y2VwdHMuaHRtbCNOYW1pbmdfQ29sbGF0b3JzCisgKiBodHRwOi8vdXNlcmd1aWRlLmljdS1wcm9q
ZWN0Lm9yZy9jb2xsYXRpb24vY29uY2VwdHMjVE9DLUNvbGxhdG9yLW5hbWluZy1zY2hlbWUKICAq
IEF0dHJpYnV0ZXMgYXJlIG92ZXJyaWRlbiBieSB0aGUgc3Vic2VxdWVudCBhdHRyaWJ1dGVzLiBT
bywgZm9yICJTMl9TMyIsIGZpbmFsCiAgKiBzdHJlbmd0aCB3aWxsIGJlIDMuIDMwNjZiaXMgbG9j
YWxlIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGxvY2FsZSBwYXJ0cy4KICAqIFRoZSBjYWxsIHRvIHRo
aXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBhIGNhbGwgdG8gdWNvbF9vcGVuLCBmb2xsb3dl
ZCBieSBhIApAQCAtNDM2LDIxICs0NTMsMjEgQEAgdWNvbF9vcGVuUnVsZXMoIGNvbnN0IFVDaGFy
ICAgICAgICAqcnVsZXMsCiAgKiBAc2VlIHVjb2xfc2V0VmFyaWFibGVUb3AKICAqIEBzZWUgdWNv
bF9nZXRTaG9ydERlZmluaXRpb25TdHJpbmcKICAqIEBzZWUgdWNvbF9ub3JtYWxpemVTaG9ydERl
ZmluaXRpb25TdHJpbmcKLSAqIEBzdGFibGUgSUNVIDMuMAotICoKKyAqIEBkZXByZWNhdGVkIElD
VSA1NCBVc2UgdWNvbF9vcGVuKCkgd2l0aCBsYW5ndWFnZSB0YWcgY29sbGF0aW9uIGtleXdvcmRz
IGluc3RlYWQuCiAgKi8KLVVfU1RBQkxFIFVDb2xsYXRvciogVV9FWFBPUlQyCitVX0RFUFJFQ0FU
RUQgVUNvbGxhdG9yKiBVX0VYUE9SVDIKIHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZyggY29uc3Qg
Y2hhciAqZGVmaW5pdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgVUJvb2wgZm9yY2VE
ZWZhdWx0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgVVBhcnNlRXJyb3IgKnBhcnNlRXJy
b3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKnN0YXR1cyk7CisjZW5k
aWYgIC8qIFVfSElERV9ERVBSRUNBVEVEX0FQSSAqLwogCiAjaWZuZGVmIFVfSElERV9ERVBSRUNB
VEVEX0FQSQogLyoqCiAgKiBHZXQgYSBzZXQgY29udGFpbmluZyB0aGUgY29udHJhY3Rpb25zIGRl
ZmluZWQgYnkgdGhlIGNvbGxhdG9yLiBUaGUgc2V0IGluY2x1ZGVzCi0gKiBib3RoIHRoZSBVQ0Eg
Y29udHJhY3Rpb25zIGFuZCB0aGUgY29udHJhY3Rpb25zIGRlZmluZWQgYnkgdGhlIGNvbGxhdG9y
LiBUaGlzIHNldAorICogYm90aCB0aGUgcm9vdCBjb2xsYXRvcidzIGNvbnRyYWN0aW9ucyBhbmQg
dGhlIGNvbnRyYWN0aW9ucyBkZWZpbmVkIGJ5IHRoZSBjb2xsYXRvci4gVGhpcyBzZXQKICAqIHdp
bGwgY29udGFpbiBvbmx5IHN0cmluZ3MuIElmIGEgdGFpbG9yaW5nIGV4cGxpY2l0bHkgc3VwcHJl
c3NlcyBjb250cmFjdGlvbnMgZnJvbSAKLSAqIHRoZSBVQ0EgKGxpa2UgUnVzc2lhbiksIHJlbW92
ZWQgY29udHJhY3Rpb25zIHdpbGwgbm90IGJlIGluIHRoZSByZXN1bHRpbmcgc2V0LgorICogdGhl
IHJvb3QgY29sbGF0b3IgKGxpa2UgUnVzc2lhbiksIHJlbW92ZWQgY29udHJhY3Rpb25zIHdpbGwg
bm90IGJlIGluIHRoZSByZXN1bHRpbmcgc2V0LgogICogQHBhcmFtIGNvbGwgY29sbGF0b3IgCiAg
KiBAcGFyYW0gY29udHMgdGhlIHNldCB0byBob2xkIHRoZSByZXN1bHQuIEl0IGdldHMgZW1wdGll
ZCBiZWZvcmUKICAqICAgICAgICAgICAgICBjb250cmFjdGlvbnMgYXJlIGFkZGVkLiAKQEAgLTQ2
Nyw3ICs0ODQsNyBAQCB1Y29sX2dldENvbnRyYWN0aW9ucyggY29uc3QgVUNvbGxhdG9yICpjb2xs
LAogCiAvKioKICAqIEdldCBhIHNldCBjb250YWluaW5nIHRoZSBleHBhbnNpb25zIGRlZmluZWQg
YnkgdGhlIGNvbGxhdG9yLiBUaGUgc2V0IGluY2x1ZGVzCi0gKiBib3RoIHRoZSBVQ0EgZXhwYW5z
aW9ucyBhbmQgdGhlIGV4cGFuc2lvbnMgZGVmaW5lZCBieSB0aGUgdGFpbG9yaW5nCisgKiBib3Ro
IHRoZSByb290IGNvbGxhdG9yJ3MgZXhwYW5zaW9ucyBhbmQgdGhlIGV4cGFuc2lvbnMgZGVmaW5l
ZCBieSB0aGUgdGFpbG9yaW5nCiAgKiBAcGFyYW0gY29sbCBjb2xsYXRvcgogICogQHBhcmFtIGNv
bnRyYWN0aW9ucyBpZiBub3QgTlVMTCwgdGhlIHNldCB0byBob2xkIHRoZSBjb250cmFjdGlvbnMK
ICAqIEBwYXJhbSBleHBhbnNpb25zIGlmIG5vdCBOVUxMLCB0aGUgc2V0IHRvIGhvbGQgdGhlIGV4
cGFuc2lvbnMKQEAgLTU0NSw3ICs1NjIsNyBAQCB1Y29sX3N0cmNvbGwoICAgIGNvbnN0ICAgIFVD
b2xsYXRvciAgICAqY29sbCwKICogQHBhcmFtIHNvdXJjZUxlbmd0aCBUaGUgbGVuZ3RoIG9mIHNv
dXJjZSwgb3IgLTEgaWYgbnVsbC10ZXJtaW5hdGVkLiAKICogQHBhcmFtIHRhcmdldCBUaGUgdGFy
Z2V0IFVURi04IHN0cmluZy4gCiAqIEBwYXJhbSB0YXJnZXRMZW5ndGggVGhlIGxlbmd0aCBvZiB0
YXJnZXQsIG9yIC0xIGlmIG51bGwtdGVybWluYXRlZC4gCi0qIEBwYXJhbSBzdGF0dXMgQSBwb2lu
dGVyIHRvIGFuIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzIAorKiBAcGFyYW0gc3Rh
dHVzIEEgcG9pbnRlciB0byBhIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzIAogKiBA
cmV0dXJuIFRoZSByZXN1bHQgb2YgY29tcGFyaW5nIHRoZSBzdHJpbmdzOyBvbmUgb2YgVUNPTF9F
UVVBTCwgCiAqIFVDT0xfR1JFQVRFUiwgVUNPTF9MRVNTIAogKiBAc2VlIHVjb2xfZ3JlYXRlciAK
QEAgLTYyNyw3ICs2NDQsNyBAQCB1Y29sX2VxdWFsKGNvbnN0IFVDb2xsYXRvciAqY29sbCwKICAq
IEBwYXJhbSB0SXRlciBUaGUgdGFyZ2V0IHN0cmluZyBpdGVyYXRvci4KICAqIEByZXR1cm4gVGhl
IHJlc3VsdCBvZiBjb21wYXJpbmcgdGhlIHN0cmluZ3M7IG9uZSBvZiBVQ09MX0VRVUFMLAogICog
VUNPTF9HUkVBVEVSLCBVQ09MX0xFU1MKLSAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFu
IFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzCisgKiBAcGFyYW0gc3RhdHVzIEEgcG9p
bnRlciB0byBhIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzCiAgKiBAc2VlIHVjb2xf
c3RyY29sbAogICogQHN0YWJsZSBJQ1UgMi42CiAgKi8KQEAgLTY2OCw3ICs2ODUsNyBAQCB1Y29s
X3NldFN0cmVuZ3RoKFVDb2xsYXRvciAqY29sbCwKICAqIEBwYXJhbSBjb2xsIFRoZSBVQ29sbGF0
b3IgdG8gcXVlcnkuCiAgKiBAcGFyYW0gZGVzdCBUaGUgYXJyYXkgdG8gZmlsbCB3aXRoIHRoZSBz
Y3JpcHQgb3JkZXJpbmcuCiAgKiBAcGFyYW0gZGVzdENhcGFjaXR5IFRoZSBsZW5ndGggb2YgZGVz
dC4gSWYgaXQgaXMgMCwgdGhlbiBkZXN0IG1heSBiZSBOVUxMIGFuZCB0aGUgZnVuY3Rpb24gCi0g
KiB3aWxsIG9ubHkgcmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCB3aXRob3V0IHdyaXRp
bmcgYW55IG9mIHRoZSByZXN1bHQgc3RyaW5nIChwcmUtZmxpZ2h0aW5nKS4KKyAqIHdpbGwgb25s
eSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IHdpdGhvdXQgd3JpdGluZyBhbnkgY29k
ZXMgKHByZS1mbGlnaHRpbmcpLgogICogQHBhcmFtIHBFcnJvckNvZGUgTXVzdCBiZSBhIHZhbGlk
IHBvaW50ZXIgdG8gYW4gZXJyb3IgY29kZSB2YWx1ZSwgd2hpY2ggbXVzdCBub3QgaW5kaWNhdGUg
YSAKICAqIGZhaWx1cmUgYmVmb3JlIHRoZSBmdW5jdGlvbiBjYWxsLgogICogQHJldHVybiBUaGUg
bnVtYmVyIG9mIHJlb3JkZXJpbmcgY29kZXMgd3JpdHRlbiB0byB0aGUgZGVzdCBhcnJheS4KQEAg
LTY4NSwyNyArNzAyLDMyIEBAIHVjb2xfZ2V0UmVvcmRlckNvZGVzKGNvbnN0IFVDb2xsYXRvciog
Y29sbCwKICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqcEVycm9yQ29kZSk7CiAvKiog
CiAgKiBTZXRzIHRoZSByZW9yZGVyaW5nIGNvZGVzIGZvciB0aGlzIGNvbGxhdG9yLgotICogQ29s
bGF0aW9uIHJlb3JkZXJpbmcgYWxsb3dzIHNjcmlwdHMgYW5kIHNvbWUgb3RoZXIgZGVmaW5lZCBi
bG9ja3Mgb2YgY2hhcmFjdGVycyAKLSAqIHRvIGJlIG1vdmVkIHJlbGF0aXZlIHRvIGVhY2ggb3Ro
ZXIgYXMgYSBibG9jay4gVGhpcyByZW9yZGVyaW5nIGlzIGRvbmUgb24gdG9wIG9mIAorICogQ29s
bGF0aW9uIHJlb3JkZXJpbmcgYWxsb3dzIHNjcmlwdHMgYW5kIHNvbWUgb3RoZXIgZ3JvdXBzIG9m
IGNoYXJhY3RlcnMKKyAqIHRvIGJlIG1vdmVkIHJlbGF0aXZlIHRvIGVhY2ggb3RoZXIuIFRoaXMg
cmVvcmRlcmluZyBpcyBkb25lIG9uIHRvcCBvZgogICogdGhlIERVQ0VUL0NMRFIgc3RhbmRhcmQg
Y29sbGF0aW9uIG9yZGVyLiBSZW9yZGVyaW5nIGNhbiBzcGVjaWZ5IGdyb3VwcyB0byBiZSBwbGFj
ZWQgCiAgKiBhdCB0aGUgc3RhcnQgYW5kL29yIHRoZSBlbmQgb2YgdGhlIGNvbGxhdGlvbiBvcmRl
ci4gVGhlc2UgZ3JvdXBzIGFyZSBzcGVjaWZpZWQgdXNpbmcKICAqIFVTY3JpcHQgY29kZXMgYW5k
IFVDb2xSZW9yZGVyQ29kZSBlbnRyaWVzLgorICoKICAqIDxwPkJ5IGRlZmF1bHQsIHJlb3JkZXJp
bmcgY29kZXMgc3BlY2lmaWVkIGZvciB0aGUgc3RhcnQgb2YgdGhlIG9yZGVyIGFyZSBwbGFjZWQg
aW4gdGhlIAotICogb3JkZXIgZ2l2ZW4gYWZ0ZXIgYSBncm91cCBvZiAic3BlY2lhbCIgbm9uLXNj
cmlwdCBibG9ja3MuIFRoZXNlIHNwZWNpYWwgZ3JvdXBzIG9mIGNoYXJhY3RlcnMgCisgKiBvcmRl
ciBnaXZlbiBhZnRlciBzZXZlcmFsIHNwZWNpYWwgbm9uLXNjcmlwdCBibG9ja3MuIFRoZXNlIHNw
ZWNpYWwgZ3JvdXBzIG9mIGNoYXJhY3RlcnMKICAqIGFyZSBzcGFjZSwgcHVuY3R1YXRpb24sIHN5
bWJvbCwgY3VycmVuY3ksIGFuZCBkaWdpdC4gVGhlc2Ugc3BlY2lhbCBncm91cHMgYXJlIHJlcHJl
c2VudGVkIHdpdGgKICAqIFVDb2xSZW9yZGVyQ29kZSBlbnRyaWVzLiBTY3JpcHQgZ3JvdXBzIGNh
biBiZSBpbnRlcm1pbmdsZWQgd2l0aCAKLSAqIHRoZXNlIHNwZWNpYWwgbm9uLXNjcmlwdCBibG9j
a3MgaWYgdGhvc2Ugc3BlY2lhbCBibG9ja3MgYXJlIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGluIHRo
ZSByZW9yZGVyaW5nLgorICogdGhlc2Ugc3BlY2lhbCBub24tc2NyaXB0IGdyb3VwcyBpZiB0aG9z
ZSBzcGVjaWFsIGdyb3VwcyBhcmUgZXhwbGljaXRseSBzcGVjaWZpZWQgaW4gdGhlIHJlb3JkZXJp
bmcuCisgKgogICogPHA+VGhlIHNwZWNpYWwgY29kZSBPVEhFUlMgc3RhbmRzIGZvciBhbnkgc2Ny
aXB0IHRoYXQgaXMgbm90IGV4cGxpY2l0bHkgCiAgKiBtZW50aW9uZWQgaW4gdGhlIGxpc3Qgb2Yg
cmVvcmRlcmluZyBjb2RlcyBnaXZlbi4gQW55dGhpbmcgdGhhdCBpcyBhZnRlciBPVEhFUlMKICAq
IHdpbGwgZ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSByZW9yZGVyaW5nIGluIHRoZSBvcmRlciBn
aXZlbi4KKyAqCiAgKiA8cD5UaGUgc3BlY2lhbCByZW9yZGVyIGNvZGUgREVGQVVMVCB3aWxsIHJl
c2V0IHRoZSByZW9yZGVyaW5nIGZvciB0aGlzIGNvbGxhdG9yCiAgKiB0byB0aGUgZGVmYXVsdCBm
b3IgdGhpcyBjb2xsYXRvci4gVGhlIGRlZmF1bHQgcmVvcmRlcmluZyBtYXkgYmUgdGhlIERVQ0VU
L0NMRFIgb3JkZXIgb3IgbWF5IGJlIGEgcmVvcmRlcmluZyB0aGF0CiAgKiB3YXMgc3BlY2lmaWVk
IHdoZW4gdGhpcyBjb2xsYXRvciB3YXMgY3JlYXRlZCBmcm9tIHJlc291cmNlIGRhdGEgb3IgZnJv
bSBydWxlcy4gVGhlIAotICogREVGQVVMVCBjb2RlIDxiPm11c3Q8L2I+IGJlIHRoZSBzb2xlIGNv
ZGUgc3VwcGxpZWQgd2hlbiBpdCB1c2VkLiBJZiBub3QKLSAqIHRoYXQgd2lsbCByZXN1bHQgaW4g
YW4gVV9JTExFR0FMX0FSR1VNRU5UX0VSUk9SIGJlaW5nIHNldC4KKyAqIERFRkFVTFQgY29kZSA8
Yj5tdXN0PC9iPiBiZSB0aGUgc29sZSBjb2RlIHN1cHBsaWVkIHdoZW4gaXQgaXMgdXNlZC4KKyAq
IElmIG5vdCwgdGhlbiBVX0lMTEVHQUxfQVJHVU1FTlRfRVJST1Igd2lsbCBiZSBzZXQuCisgKgog
ICogPHA+VGhlIHNwZWNpYWwgcmVvcmRlciBjb2RlIE5PTkUgd2lsbCByZW1vdmUgYW55IHJlb3Jk
ZXJpbmcgZm9yIHRoaXMgY29sbGF0b3IuCiAgKiBUaGUgcmVzdWx0IG9mIHNldHRpbmcgbm8gcmVv
cmRlcmluZyB3aWxsIGJlIHRvIGhhdmUgdGhlIERVQ0VUL0NMRFIgb3JkZXJpbmcgdXNlZC4gVGhl
IAotICogTk9ORSBjb2RlIDxiPm11c3Q8L2I+IGJlIHRoZSBzb2xlIGNvZGUgc3VwcGxpZWQgd2hl
biBpdCB1c2VkLgorICogTk9ORSBjb2RlIDxiPm11c3Q8L2I+IGJlIHRoZSBzb2xlIGNvZGUgc3Vw
cGxpZWQgd2hlbiBpdCBpcyB1c2VkLgorICoKICAqIEBwYXJhbSBjb2xsIFRoZSBVQ29sbGF0b3Ig
dG8gc2V0LgogICogQHBhcmFtIHJlb3JkZXJDb2RlcyBBbiBhcnJheSBvZiBzY3JpcHQgY29kZXMg
aW4gdGhlIG5ldyBvcmRlci4gVGhpcyBjYW4gYmUgTlVMTCBpZiB0aGUgCiAgKiBsZW5ndGggaXMg
YWxzbyBzZXQgdG8gMC4gQW4gZW1wdHkgYXJyYXkgd2lsbCBjbGVhciBhbnkgcmVvcmRlcmluZyBj
b2RlcyBvbiB0aGUgY29sbGF0b3IuCkBAIC03MjcsMTAgKzc0OSwxMyBAQCB1Y29sX3NldFJlb3Jk
ZXJDb2RlcyhVQ29sbGF0b3IqIGNvbGwsCiAvKioKICAqIFJldHJpZXZlcyB0aGUgcmVvcmRlciBj
b2RlcyB0aGF0IGFyZSBncm91cGVkIHdpdGggdGhlIGdpdmVuIHJlb3JkZXIgY29kZS4gU29tZSBy
ZW9yZGVyCiAgKiBjb2RlcyB3aWxsIGJlIGdyb3VwZWQgYW5kIG11c3QgcmVvcmRlciB0b2dldGhl
ci4KKyAqIEJlZ2lubmluZyB3aXRoIElDVSA1NSwgc2NyaXB0cyBvbmx5IHJlb3JkZXIgdG9nZXRo
ZXIgaWYgdGhleSBhcmUgcHJpbWFyeS1lcXVhbCwKKyAqIGZvciBleGFtcGxlIEhpcmFnYW5hIGFu
ZCBLYXRha2FuYS4KKyAqCiAgKiBAcGFyYW0gcmVvcmRlckNvZGUgVGhlIHJlb3JkZXIgY29kZSB0
byBkZXRlcm1pbmUgZXF1aXZhbGVuY2UgZm9yLgogICogQHBhcmFtIGRlc3QgVGhlIGFycmF5IHRv
IGZpbGwgd2l0aCB0aGUgc2NyaXB0IG9yZGVyaW5nLgogICogQHBhcmFtIGRlc3RDYXBhY2l0eSBU
aGUgbGVuZ3RoIG9mIGRlc3QuIElmIGl0IGlzIDAsIHRoZW4gZGVzdCBtYXkgYmUgTlVMTCBhbmQg
dGhlIGZ1bmN0aW9uCi0gKiB3aWxsIG9ubHkgcmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHJlc3Vs
dCB3aXRob3V0IHdyaXRpbmcgYW55IG9mIHRoZSByZXN1bHQgc3RyaW5nIChwcmUtZmxpZ2h0aW5n
KS4KKyAqIHdpbGwgb25seSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IHdpdGhvdXQg
d3JpdGluZyBhbnkgY29kZXMgKHByZS1mbGlnaHRpbmcpLgogICogQHBhcmFtIHBFcnJvckNvZGUg
TXVzdCBiZSBhIHZhbGlkIHBvaW50ZXIgdG8gYW4gZXJyb3IgY29kZSB2YWx1ZSwgd2hpY2ggbXVz
dCBub3QgaW5kaWNhdGUgCiAgKiBhIGZhaWx1cmUgYmVmb3JlIHRoZSBmdW5jdGlvbiBjYWxsLgog
ICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHJlb3JkZXJpbmcgY29kZXMgd3JpdHRlbiB0byB0aGUg
ZGVzdCBhcnJheS4KQEAgLTc1Myw3ICs3NzgsNyBAQCB1Y29sX2dldEVxdWl2YWxlbnRSZW9yZGVy
Q29kZXMoaW50MzJfdCByZW9yZGVyQ29kZSwKICAqIEBwYXJhbSBkaXNwTG9jIFRoZSBsb2NhbGUg
Zm9yIGRpc3BsYXkuCiAgKiBAcGFyYW0gcmVzdWx0IEEgcG9pbnRlciB0byBhIGJ1ZmZlciB0byBy
ZWNlaXZlIHRoZSBhdHRyaWJ1dGUuCiAgKiBAcGFyYW0gcmVzdWx0TGVuZ3RoIFRoZSBtYXhpbXVt
IHNpemUgb2YgcmVzdWx0LgotICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYW4gVUVycm9y
Q29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKKyAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRv
IGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKICAqIEByZXR1cm4gVGhlIHRvdGFs
IGJ1ZmZlciBzaXplIG5lZWRlZDsgaWYgZ3JlYXRlciB0aGFuIHJlc3VsdExlbmd0aCwKICAqIHRo
ZSBvdXRwdXQgd2FzIHRydW5jYXRlZC4KICAqIEBzdGFibGUgSUNVIDIuMApAQCAtODUwLDMxICs4
NzUsMzIgQEAgdWNvbF9nZXRLZXl3b3JkVmFsdWVzRm9yTG9jYWxlKGNvbnN0IGNoYXIqIGtleSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBzdGF0dXMpOwogCiAv
KioKLSAqIFJldHVybiB0aGUgZnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgbG9jYWxlIGZvciB0aGUg
Z2l2ZW4KLSAqIHJlcXVlc3RlZCBsb2NhbGUsIHdpdGggcmVzcGVjdCB0byBnaXZlbiBrZXl3b3Jk
LCBmb3IgdGhlCi0gKiBjb2xsYXRpb24gc2VydmljZS4gIElmIHR3byBsb2NhbGVzIHJldHVybiB0
aGUgc2FtZSByZXN1bHQsIHRoZW4KLSAqIGNvbGxhdG9ycyBpbnN0YW50aWF0ZWQgZm9yIHRoZXNl
IGxvY2FsZXMgd2lsbCBiZWhhdmUKLSAqIGVxdWl2YWxlbnRseS4gIFRoZSBjb252ZXJzZSBpcyBu
b3QgYWx3YXlzIHRydWU7IHR3byBjb2xsYXRvcnMKKyAqIFJldHVybiB0aGUgZnVuY3Rpb25hbGx5
IGVxdWl2YWxlbnQgbG9jYWxlIGZvciB0aGUgc3BlY2lmaWVkCisgKiBpbnB1dCBsb2NhbGUsIHdp
dGggcmVzcGVjdCB0byBnaXZlbiBrZXl3b3JkLCBmb3IgdGhlCisgKiBjb2xsYXRpb24gc2Vydmlj
ZS4gSWYgdHdvIGRpZmZlcmVudCBpbnB1dCBsb2NhbGUgKyBrZXl3b3JkCisgKiBjb21iaW5hdGlv
bnMgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHQgbG9jYWxlLCB0aGVuIGNvbGxhdG9ycworICogaW5z
dGFudGlhdGVkIGZvciB0aGVzZSB0d28gZGlmZmVyZW50IGlucHV0IGxvY2FsZXMgd2lsbCBiZWhh
dmUKKyAqIGVxdWl2YWxlbnRseS4gVGhlIGNvbnZlcnNlIGlzIG5vdCBhbHdheXMgdHJ1ZTsgdHdv
IGNvbGxhdG9ycwogICogbWF5IGluIGZhY3QgYmUgZXF1aXZhbGVudCwgYnV0IHJldHVybiBkaWZm
ZXJlbnQgcmVzdWx0cywgZHVlIHRvCi0gKiBpbnRlcm5hbCBkZXRhaWxzLiAgVGhlIHJldHVybiBy
ZXN1bHQgaGFzIG5vIG90aGVyIG1lYW5pbmcgdGhhbgorICogaW50ZXJuYWwgZGV0YWlscy4gVGhl
IHJldHVybiByZXN1bHQgaGFzIG5vIG90aGVyIG1lYW5pbmcgdGhhbgogICogdGhhdCBzdGF0ZWQg
YWJvdmUsIGFuZCBpbXBsaWVzIG5vdGhpbmcgYXMgdG8gdGhlIHJlbGF0aW9uc2hpcAotICogYmV0
d2VlbiB0aGUgdHdvIGxvY2FsZXMuICBUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgYnkKKyAqIGJl
dHdlZW4gdGhlIHR3byBsb2NhbGVzLiBUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgYnkKICAqIGFw
cGxpY2F0aW9ucyB3aG8gd2lzaCB0byBjYWNoZSBjb2xsYXRvcnMsIG9yIG90aGVyd2lzZSByZXVz
ZQotICogY29sbGF0b3JzIHdoZW4gcG9zc2libGUuICBUaGUgZnVuY3Rpb25hbCBlcXVpdmFsZW50
IG1heSBjaGFuZ2UKLSAqIG92ZXIgdGltZS4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2Ug
c2VlIHRoZSA8YQotICogaHJlZj0iaHR0cDovL2ljdS1wcm9qZWN0Lm9yZy91c2VyZ3VpZGUvbG9j
YWxlLmh0bWwjc2VydmljZXMiPgorICogY29sbGF0b3JzIHdoZW4gcG9zc2libGUuIFRoZSBmdW5j
dGlvbmFsIGVxdWl2YWxlbnQgbWF5IGNoYW5nZQorICogb3ZlciB0aW1lLiBGb3IgbW9yZSBpbmZv
cm1hdGlvbiwgcGxlYXNlIHNlZSB0aGUgPGEKKyAqIGhyZWY9Imh0dHA6Ly91c2VyZ3VpZGUuaWN1
LXByb2plY3Qub3JnL2xvY2FsZSNUT0MtTG9jYWxlcy1hbmQtU2VydmljZXMiPgogICogTG9jYWxl
cyBhbmQgU2VydmljZXM8L2E+IHNlY3Rpb24gb2YgdGhlIElDVSBVc2VyIEd1aWRlLgotICogQHBh
cmFtIHJlc3VsdCBmaWxsaW4gZm9yIHRoZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCBsb2NhbGUK
KyAqIEBwYXJhbSByZXN1bHQgZmlsbGluIGZvciB0aGUgZnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQg
cmVzdWx0IGxvY2FsZQogICogQHBhcmFtIHJlc3VsdENhcGFjaXR5IGNhcGFjaXR5IG9mIHRoZSBm
aWxsaW4gYnVmZmVyCiAgKiBAcGFyYW0ga2V5d29yZCBhIHBhcnRpY3VsYXIga2V5d29yZCBhcyBl
bnVtZXJhdGVkIGJ5CiAgKiB1Y29sX2dldEtleXdvcmRzLgotICogQHBhcmFtIGxvY2FsZSB0aGUg
cmVxdWVzdGVkIGxvY2FsZQorICogQHBhcmFtIGxvY2FsZSB0aGUgc3BlY2lmaWVkIGlucHV0IGxv
Y2FsZQogICogQHBhcmFtIGlzQXZhaWxhYmxlIGlmIG5vbi1OVUxMLCBwb2ludGVyIHRvIGEgZmls
bGluIHBhcmFtZXRlciB0aGF0Ci0gKiBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVxdWVzdGVkIGxv
Y2FsZSB3YXMgJ2F2YWlsYWJsZScgdG8gdGhlCi0gKiBjb2xsYXRpb24gc2VydmljZS4gQSBsb2Nh
bGUgaXMgZGVmaW5lZCBhcyAnYXZhaWxhYmxlJyBpZiBpdAorICogb24gcmV0dXJuIGluZGljYXRl
cyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgaW5wdXQgbG9jYWxlIHdhcyAnYXZhaWxhYmxlJworICog
dG8gdGhlIGNvbGxhdGlvbiBzZXJ2aWNlLiBBIGxvY2FsZSBpcyBkZWZpbmVkIGFzICdhdmFpbGFi
bGUnIGlmIGl0CiAgKiBwaHlzaWNhbGx5IGV4aXN0cyB3aXRoaW4gdGhlIGNvbGxhdGlvbiBsb2Nh
bGUgZGF0YS4KICAqIEBwYXJhbSBzdGF0dXMgcG9pbnRlciB0byBpbnB1dC1vdXRwdXQgZXJyb3Ig
Y29kZQotICogQHJldHVybiB0aGUgYWN0dWFsIGJ1ZmZlciBzaXplIG5lZWRlZCBmb3IgdGhlIGxv
Y2FsZS4gIElmIGdyZWF0ZXIKKyAqIEByZXR1cm4gdGhlIGFjdHVhbCBidWZmZXIgc2l6ZSBuZWVk
ZWQgZm9yIHRoZSBsb2NhbGUuIElmIGdyZWF0ZXIKICAqIHRoYW4gcmVzdWx0Q2FwYWNpdHksIHRo
ZSByZXR1cm5lZCBmdWxsIG5hbWUgd2lsbCBiZSB0cnVuY2F0ZWQgYW5kCiAgKiBhbiBlcnJvciBj
b2RlIHdpbGwgYmUgcmV0dXJuZWQuCiAgKiBAc3RhYmxlIElDVSAzLjAKQEAgLTg5NiwxMyArOTIy
LDE0IEBAIFVfU1RBQkxFIGNvbnN0IFVDaGFyKiBVX0VYUE9SVDIKIHVjb2xfZ2V0UnVsZXMoICAg
IGNvbnN0ICAgIFVDb2xsYXRvciAgICAqY29sbCwgCiAgICAgICAgIGludDMyX3QgICAgICAgICAg
ICAqbGVuZ3RoKTsKIAorI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkKIC8qKiBHZXQgdGhl
IHNob3J0IGRlZmluaXRpb24gc3RyaW5nIGZvciBhIGNvbGxhdG9yLiBUaGlzIEFQSSBoYXJ2ZXN0
cyB0aGUgY29sbGF0b3IncwogICogIGxvY2FsZSBhbmQgdGhlIGF0dHJpYnV0ZSBzZXQgYW5kIHBy
b2R1Y2VzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgZm9yIG9wZW5pbmcgCi0gKiAgYSBjb2xs
YXRvciB3aXRoIHRoZSBzYW1lIHByb3BlcnRpZXMgdXNpbmcgdGhlIHVjb2xfb3BlbkZyb21TaG9y
dFN0cmluZyBBUEkuCisgKiAgYSBjb2xsYXRvciB3aXRoIHRoZSBzYW1lIGF0dHJpYnV0ZXMgdXNp
bmcgdGhlIHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZyBBUEkuCiAgKiAgVGhpcyBzdHJpbmcgd2ls
bCBiZSBub3JtYWxpemVkLgogICogIFRoZSBzdHJ1Y3R1cmUgYW5kIHRoZSBzeW50YXggb2YgdGhl
IHN0cmluZyBpcyBkZWZpbmVkIGluIHRoZSAiTmFtaW5nIGNvbGxhdG9ycyIKICAqICBzZWN0aW9u
IG9mIHRoZSB1c2VycyBndWlkZTogCi0gKiAgaHR0cDovL2ljdS1wcm9qZWN0Lm9yZy91c2VyZ3Vp
ZGUvQ29sbGF0ZV9Db25jZXB0cy5odG1sI05hbWluZ19Db2xsYXRvcnMKKyAqICBodHRwOi8vdXNl
cmd1aWRlLmljdS1wcm9qZWN0Lm9yZy9jb2xsYXRpb24vY29uY2VwdHMjVE9DLUNvbGxhdG9yLW5h
bWluZy1zY2hlbWUKICAqICBUaGlzIEFQSSBzdXBwb3J0cyBwcmVmbGlnaHRpbmcuCiAgKiAgQHBh
cmFtIGNvbGwgYSBjb2xsYXRvcgogICogIEBwYXJhbSBsb2NhbGUgYSBsb2NhbGUgdGhhdCB3aWxs
IGFwcGVhciBhcyBhIGNvbGxhdG9ycyBsb2NhbGUgaW4gdGhlIHJlc3VsdGluZwpAQCAtOTE0LDkg
Kzk0MSw5IEBAIHVjb2xfZ2V0UnVsZXMoICAgIGNvbnN0ICAgIFVDb2xsYXRvciAgICAqY29sbCwK
ICAqICBAcmV0dXJuIGxlbmd0aCBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZwogICogIEBzZWUgdWNv
bF9vcGVuRnJvbVNob3J0U3RyaW5nCiAgKiAgQHNlZSB1Y29sX25vcm1hbGl6ZVNob3J0RGVmaW5p
dGlvblN0cmluZwotICogIEBzdGFibGUgSUNVIDMuMAorICogIEBkZXByZWNhdGVkIElDVSA1NAog
ICovCi1VX1NUQUJMRSBpbnQzMl90IFVfRVhQT1JUMgorVV9ERVBSRUNBVEVEIGludDMyX3QgVV9F
WFBPUlQyCiB1Y29sX2dldFNob3J0RGVmaW5pdGlvblN0cmluZyhjb25zdCBVQ29sbGF0b3IgKmNv
bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpsb2NhbGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWZmZXIsCkBAIC05NDAsMjEgKzk2
NywyNSBAQCB1Y29sX2dldFNob3J0RGVmaW5pdGlvblN0cmluZyhjb25zdCBVQ29sbGF0b3IgKmNv
bGwsCiAgKiAgQHNlZSB1Y29sX29wZW5Gcm9tU2hvcnRTdHJpbmcKICAqICBAc2VlIHVjb2xfZ2V0
U2hvcnREZWZpbml0aW9uU3RyaW5nCiAgKiAKLSAqICBAc3RhYmxlIElDVSAzLjAKKyAqICBAZGVw
cmVjYXRlZCBJQ1UgNTQKICAqLwogCi1VX1NUQUJMRSBpbnQzMl90IFVfRVhQT1JUMgorVV9ERVBS
RUNBVEVEIGludDMyX3QgVV9FWFBPUlQyCiB1Y29sX25vcm1hbGl6ZVNob3J0RGVmaW5pdGlvblN0
cmluZyhjb25zdCBjaGFyICpzb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyICpkZXN0aW5hdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDMyX3QgY2FwYWNpdHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBVUGFyc2VFcnJvciAqcGFyc2VFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFVFcnJvckNvZGUgKnN0YXR1cyk7CisjZW5kaWYgIC8qIFVfSElERV9ERVBSRUNBVEVE
X0FQSSAqLwogCiAKIC8qKgogICogR2V0IGEgc29ydCBrZXkgZm9yIGEgc3RyaW5nIGZyb20gYSBV
Q29sbGF0b3IuCiAgKiBTb3J0IGtleXMgbWF5IGJlIGNvbXBhcmVkIHVzaW5nIDxUVD5zdHJjbXA8
L1RUPi4KICAqCisgKiBOb3RlIHRoYXQgc29ydCBrZXlzIGFyZSBvZnRlbiBsZXNzIGVmZmljaWVu
dCB0aGFuIHNpbXBseSBkb2luZyBjb21wYXJpc29uLiAgCisgKiBGb3IgbW9yZSBkZXRhaWxzLCBz
ZWUgdGhlIElDVSBVc2VyIEd1aWRlLgorICoKICAqIExpa2UgSUNVIGZ1bmN0aW9ucyB0aGF0IHdy
aXRlIHRvIGFuIG91dHB1dCBidWZmZXIsIHRoZSBidWZmZXIgY29udGVudHMKICAqIGlzIHVuZGVm
aW5lZCBpZiB0aGUgYnVmZmVyIGNhcGFjaXR5IChyZXN1bHRMZW5ndGggcGFyYW1ldGVyKSBpcyB0
b28gc21hbGwuCiAgKiBVbmxpa2UgSUNVIGZ1bmN0aW9ucyB0aGF0IHdyaXRlIGEgc3RyaW5nIHRv
IGFuIG91dHB1dCBidWZmZXIsCkBAIC0xMDk2LDYgKzExMjcsMTcgQEAgdWNvbF9nZXRVQ0FWZXJz
aW9uKGNvbnN0IFVDb2xsYXRvciogY29sbCwgVVZlcnNpb25JbmZvIGluZm8pOwogICoKICAqIFRo
aXMgaXMgdXNlZnVsLCBmb3IgZXhhbXBsZSwgZm9yIGNvbWJpbmluZyBzb3J0IGtleXMgZnJvbSBm
aXJzdCBhbmQgbGFzdCBuYW1lcwogICogdG8gc29ydCBzdWNoIHBhaXJzLgorICogU2VlIGh0dHA6
Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjEwLyNNZXJnaW5nX1NvcnRfS2V5cworICoKKyAq
IFRoZSByZWNvbW1lbmRlZCB3YXkgdG8gYWNoaWV2ZSAibWVyZ2VkIiBzb3J0aW5nIGlzIGJ5Cisg
KiBjb25jYXRlbmF0aW5nIHN0cmluZ3Mgd2l0aCBVK0ZGRkUgYmV0d2VlbiB0aGVtLgorICogVGhl
IGNvbmNhdGVuYXRpb24gaGFzIHRoZSBzYW1lIHNvcnQgb3JkZXIgYXMgdGhlIG1lcmdlZCBzb3J0
IGtleXMsCisgKiBidXQgbWVyZ2UoZ2V0U29ydEtleShzdHIxKSwgZ2V0U29ydEtleShzdHIyKSkg
bWF5IGRpZmZlciBmcm9tIGdldFNvcnRLZXkoc3RyMSArICdcdUZGRkUnICsgc3RyMikuCisgKiBV
c2luZyBzdHJpbmdzIHdpdGggVStGRkZFIG1heSB5aWVsZCBzaG9ydGVyIHNvcnQga2V5cy4KKyAq
CisgKiBGb3IgZGV0YWlscyBhYm91dCBTb3J0IEtleSBGZWF0dXJlcyBzZWUKKyAqIGh0dHA6Ly91
c2VyZ3VpZGUuaWN1LXByb2plY3Qub3JnL2NvbGxhdGlvbi9hcGkjVE9DLVNvcnQtS2V5LUZlYXR1
cmVzCisgKgogICogSXQgaXMgcG9zc2libGUgdG8gbWVyZ2UgbXVsdGlwbGUgc29ydCBrZXlzIGJ5
IGNvbnNlY3V0aXZlbHkgbWVyZ2luZwogICogYW5vdGhlciBvbmUgd2l0aCB0aGUgaW50ZXJtZWRp
YXRlIHJlc3VsdC4KICAqCkBAIC0xMTU4LDU1ICsxMjAwLDg5IEBAIHVjb2xfc2V0QXR0cmlidXRl
KFVDb2xsYXRvciAqY29sbCwgVUNvbEF0dHJpYnV0ZSBhdHRyLCBVQ29sQXR0cmlidXRlVmFsdWUg
dmFsdWUsCiBVX1NUQUJMRSBVQ29sQXR0cmlidXRlVmFsdWUgIFVfRVhQT1JUMiAKIHVjb2xfZ2V0
QXR0cmlidXRlKGNvbnN0IFVDb2xsYXRvciAqY29sbCwgVUNvbEF0dHJpYnV0ZSBhdHRyLCBVRXJy
b3JDb2RlICpzdGF0dXMpOwogCi0vKiogVmFyaWFibGUgdG9wCi0gKiBpcyBhIHR3byBieXRlIHBy
aW1hcnkgdmFsdWUgd2hpY2ggY2F1c2VzIGFsbCB0aGUgY29kZXBvaW50cyB3aXRoIHByaW1hcnkg
dmFsdWVzIHRoYXQKLSAqIGFyZSBsZXNzIG9yIGVxdWFsIHRoYW4gdGhlIHZhcmlhYmxlIHRvcCB0
byBiZSBzaGlmdGVkIHdoZW4gYWx0ZXJuYXRlIGhhbmRsaW5nIGlzIHNldAotICogdG8gVUNPTF9T
SElGVEVELgotICogU2V0cyB0aGUgdmFyaWFibGUgdG9wIHRvIGEgY29sbGF0aW9uIGVsZW1lbnQg
dmFsdWUgb2YgYSBzdHJpbmcgc3VwcGxpZWQuIAotICogQHBhcmFtIGNvbGwgY29sbGF0b3Igd2hp
Y2ggdmFyaWFibGUgdG9wIG5lZWRzIHRvIGJlIGNoYW5nZWQKKy8qKgorICogU2V0cyB0aGUgdmFy
aWFibGUgdG9wIHRvIHRoZSB0b3Agb2YgdGhlIHNwZWNpZmllZCByZW9yZGVyaW5nIGdyb3VwLgor
ICogVGhlIHZhcmlhYmxlIHRvcCBkZXRlcm1pbmVzIHRoZSBoaWdoZXN0LXNvcnRpbmcgY2hhcmFj
dGVyCisgKiB3aGljaCBpcyBhZmZlY3RlZCBieSBVQ09MX0FMVEVSTkFURV9IQU5ETElORy4KKyAq
IElmIHRoYXQgYXR0cmlidXRlIGlzIHNldCB0byBVQ09MX05PTl9JR05PUkFCTEUsIHRoZW4gdGhl
IHZhcmlhYmxlIHRvcCBoYXMgbm8gZWZmZWN0LgorICogQHBhcmFtIGNvbGwgdGhlIGNvbGxhdG9y
CisgKiBAcGFyYW0gZ3JvdXAgb25lIG9mIFVDT0xfUkVPUkRFUl9DT0RFX1NQQUNFLCBVQ09MX1JF
T1JERVJfQ09ERV9QVU5DVFVBVElPTiwKKyAqICAgICAgICAgICAgICBVQ09MX1JFT1JERVJfQ09E
RV9TWU1CT0wsIFVDT0xfUkVPUkRFUl9DT0RFX0NVUlJFTkNZOworICogICAgICAgICAgICAgIG9y
IFVDT0xfUkVPUkRFUl9DT0RFX0RFRkFVTFQgdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBtYXggdmFy
aWFibGUgZ3JvdXAKKyAqIEBwYXJhbSBwRXJyb3JDb2RlIFN0YW5kYXJkIElDVSBlcnJvciBjb2Rl
LiBJdHMgaW5wdXQgdmFsdWUgbXVzdAorICogICAgICAgICAgICAgICAgICAgcGFzcyB0aGUgVV9T
VUNDRVNTKCkgdGVzdCwgb3IgZWxzZSB0aGUgZnVuY3Rpb24gcmV0dXJucworICogICAgICAgICAg
ICAgICAgICAgaW1tZWRpYXRlbHkuIENoZWNrIGZvciBVX0ZBSUxVUkUoKSBvbiBvdXRwdXQgb3Ig
dXNlIHdpdGgKKyAqICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoYWluaW5nLiAoU2VlIFVz
ZXIgR3VpZGUgZm9yIGRldGFpbHMuKQorICogQHNlZSB1Y29sX2dldE1heFZhcmlhYmxlCisgKiBA
c3RhYmxlIElDVSA1MworICovCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgordWNvbF9zZXRNYXhW
YXJpYWJsZShVQ29sbGF0b3IgKmNvbGwsIFVDb2xSZW9yZGVyQ29kZSBncm91cCwgVUVycm9yQ29k
ZSAqcEVycm9yQ29kZSk7CisKKy8qKgorICogUmV0dXJucyB0aGUgbWF4aW11bSByZW9yZGVyaW5n
IGdyb3VwIHdob3NlIGNoYXJhY3RlcnMgYXJlIGFmZmVjdGVkIGJ5IFVDT0xfQUxURVJOQVRFX0hB
TkRMSU5HLgorICogQHBhcmFtIGNvbGwgdGhlIGNvbGxhdG9yCisgKiBAcmV0dXJuIHRoZSBtYXhp
bXVtIHZhcmlhYmxlIHJlb3JkZXJpbmcgZ3JvdXAuCisgKiBAc2VlIHVjb2xfc2V0TWF4VmFyaWFi
bGUKKyAqIEBzdGFibGUgSUNVIDUzCisgKi8KK1VfU1RBQkxFIFVDb2xSZW9yZGVyQ29kZSBVX0VY
UE9SVDIKK3Vjb2xfZ2V0TWF4VmFyaWFibGUoY29uc3QgVUNvbGxhdG9yICpjb2xsKTsKKworI2lm
bmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkKKy8qKgorICogU2V0cyB0aGUgdmFyaWFibGUgdG9w
IHRvIHRoZSBwcmltYXJ5IHdlaWdodCBvZiB0aGUgc3BlY2lmaWVkIHN0cmluZy4KKyAqCisgKiBC
ZWdpbm5pbmcgd2l0aCBJQ1UgNTMsIHRoZSB2YXJpYWJsZSB0b3AgaXMgcGlubmVkIHRvCisgKiB0
aGUgdG9wIG9mIG9uZSBvZiB0aGUgc3VwcG9ydGVkIHJlb3JkZXJpbmcgZ3JvdXBzLAorICogYW5k
IGl0IG11c3Qgbm90IGJlIGJleW9uZCB0aGUgbGFzdCBvZiB0aG9zZSBncm91cHMuCisgKiBTZWUg
dWNvbF9zZXRNYXhWYXJpYWJsZSgpLgorICogQHBhcmFtIGNvbGwgdGhlIGNvbGxhdG9yCiAgKiBA
cGFyYW0gdmFyVG9wIG9uZSBvciBtb3JlIChpZiBjb250cmFjdGlvbikgVUNoYXJzIHRvIHdoaWNo
IHRoZSB2YXJpYWJsZSB0b3Agc2hvdWxkIGJlIHNldAogICogQHBhcmFtIGxlbiBsZW5ndGggb2Yg
dmFyaWFibGUgdG9wIHN0cmluZy4gSWYgLTEgaXQgaXMgY29uc2lkZXJlZCB0byBiZSB6ZXJvIHRl
cm1pbmF0ZWQuCi0gKiBAcGFyYW0gc3RhdHVzIGVycm9yIGNvZGUuIElmIGVycm9yIGNvZGUgaXMg
c2V0LCB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4gCi0gKiAgICAgICAgICAgICAgIEVy
cm9ycyBzZXQgYnkgdGhpcyBmdW5jdGlvbiBhcmU6IDxicj4KLSAqICAgIFVfQ0VfTk9UX0ZPVU5E
X0VSUk9SIGlmIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyIHdhcyBwYXNzZWQgYW5kIHRoZXJlIGlz
IG5vIHN1Y2ggCi0gKiAgICBhIGNvbnRyYWN0aW9uPGJyPgotICogICAgVV9QUklNQVJZX1RPT19M
T05HX0VSUk9SIGlmIHRoZSBwcmltYXJ5IGZvciB0aGUgdmFyaWFibGUgdG9wIGhhcyBtb3JlIHRo
YW4gdHdvIGJ5dGVzCi0gKiBAcmV0dXJuIGEgMzIgYml0IHZhbHVlIGNvbnRhaW5pbmcgdGhlIHZh
bHVlIG9mIHRoZSB2YXJpYWJsZSB0b3AgaW4gdXBwZXIgMTYgYml0cy4gCi0gKiAgICAgICAgIExv
d2VyIDE2IGJpdHMgYXJlIHVuZGVmaW5lZAorICogQHBhcmFtIHN0YXR1cyBlcnJvciBjb2RlLiBJ
ZiBlcnJvciBjb2RlIGlzIHNldCwgdGhlIHJldHVybiB2YWx1ZSBpcyB1bmRlZmluZWQuCisgKiAg
ICAgICAgICAgICAgIEVycm9ycyBzZXQgYnkgdGhpcyBmdW5jdGlvbiBhcmU6PGJyPgorICogICAg
VV9DRV9OT1RfRk9VTkRfRVJST1IgaWYgbW9yZSB0aGFuIG9uZSBjaGFyYWN0ZXIgd2FzIHBhc3Nl
ZCBhbmQgdGhlcmUgaXMgbm8gc3VjaCBjb250cmFjdGlvbjxicj4KKyAqICAgIFVfSUxMRUdBTF9B
UkdVTUVOVF9FUlJPUiBpZiB0aGUgdmFyaWFibGUgdG9wIGlzIGJleW9uZAorICogICAgdGhlIGxh
c3QgcmVvcmRlcmluZyBncm91cCBzdXBwb3J0ZWQgYnkgdWNvbF9zZXRNYXhWYXJpYWJsZSgpCisg
KiBAcmV0dXJuIHZhcmlhYmxlIHRvcCBwcmltYXJ5IHdlaWdodAogICogQHNlZSB1Y29sX2dldFZh
cmlhYmxlVG9wCiAgKiBAc2VlIHVjb2xfcmVzdG9yZVZhcmlhYmxlVG9wCi0gKiBAc3RhYmxlIElD
VSAyLjAKKyAqIEBkZXByZWNhdGVkIElDVSA1MyBDYWxsIHVjb2xfc2V0TWF4VmFyaWFibGUoKSBp
bnN0ZWFkLgogICovCi1VX1NUQUJMRSB1aW50MzJfdCBVX0VYUE9SVDIgCitVX0RFUFJFQ0FURUQg
dWludDMyX3QgVV9FWFBPUlQyIAogdWNvbF9zZXRWYXJpYWJsZVRvcChVQ29sbGF0b3IgKmNvbGws
IAogICAgICAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciAqdmFyVG9wLCBpbnQzMl90IGxlbiwg
CiAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKnN0YXR1cyk7CisjZW5kaWYgIC8qIFVf
SElERV9ERVBSRUNBVEVEX0FQSSAqLwogCiAvKiogCiAgKiBHZXRzIHRoZSB2YXJpYWJsZSB0b3Ag
dmFsdWUgb2YgYSBDb2xsYXRvci4gCi0gKiBMb3dlciAxNiBiaXRzIGFyZSB1bmRlZmluZWQgYW5k
IHNob3VsZCBiZSBpZ25vcmVkLgogICogQHBhcmFtIGNvbGwgY29sbGF0b3Igd2hpY2ggdmFyaWFi
bGUgdG9wIG5lZWRzIHRvIGJlIHJldHJpZXZlZAogICogQHBhcmFtIHN0YXR1cyBlcnJvciBjb2Rl
IChub3QgY2hhbmdlZCBieSBmdW5jdGlvbikuIElmIGVycm9yIGNvZGUgaXMgc2V0LCAKICAqICAg
ICAgICAgICAgICAgdGhlIHJldHVybiB2YWx1ZSBpcyB1bmRlZmluZWQuCi0gKiBAcmV0dXJuIHRo
ZSB2YXJpYWJsZSB0b3AgdmFsdWUgb2YgYSBDb2xsYXRvci4KKyAqIEByZXR1cm4gdGhlIHZhcmlh
YmxlIHRvcCBwcmltYXJ5IHdlaWdodAorICogQHNlZSB1Y29sX2dldE1heFZhcmlhYmxlCiAgKiBA
c2VlIHVjb2xfc2V0VmFyaWFibGVUb3AKICAqIEBzZWUgdWNvbF9yZXN0b3JlVmFyaWFibGVUb3AK
ICAqIEBzdGFibGUgSUNVIDIuMAogICovCiBVX1NUQUJMRSB1aW50MzJfdCBVX0VYUE9SVDIgdWNv
bF9nZXRWYXJpYWJsZVRvcChjb25zdCBVQ29sbGF0b3IgKmNvbGwsIFVFcnJvckNvZGUgKnN0YXR1
cyk7CiAKLS8qKiAKLSAqIFNldHMgdGhlIHZhcmlhYmxlIHRvcCB0byBhIGNvbGxhdGlvbiBlbGVt
ZW50IHZhbHVlIHN1cHBsaWVkLiBWYXJpYWJsZSB0b3AgaXMgCi0gKiBzZXQgdG8gdGhlIHVwcGVy
IDE2IGJpdHMuIAotICogTG93ZXIgMTYgYml0cyBhcmUgaWdub3JlZC4KLSAqIEBwYXJhbSBjb2xs
IGNvbGxhdG9yIHdoaWNoIHZhcmlhYmxlIHRvcCBuZWVkcyB0byBiZSBjaGFuZ2VkCi0gKiBAcGFy
YW0gdmFyVG9wIENFIHZhbHVlLCBhcyByZXR1cm5lZCBieSB1Y29sX3NldFZhcmlhYmxlVG9wIG9y
IHVjb2wpZ2V0VmFyaWFibGVUb3AKLSAqIEBwYXJhbSBzdGF0dXMgZXJyb3IgY29kZSAobm90IGNo
YW5nZWQgYnkgZnVuY3Rpb24pCisvKioKKyAqIFNldHMgdGhlIHZhcmlhYmxlIHRvcCB0byB0aGUg
c3BlY2lmaWVkIHByaW1hcnkgd2VpZ2h0LgorICoKKyAqIEJlZ2lubmluZyB3aXRoIElDVSA1Mywg
dGhlIHZhcmlhYmxlIHRvcCBpcyBwaW5uZWQgdG8KKyAqIHRoZSB0b3Agb2Ygb25lIG9mIHRoZSBz
dXBwb3J0ZWQgcmVvcmRlcmluZyBncm91cHMsCisgKiBhbmQgaXQgbXVzdCBub3QgYmUgYmV5b25k
IHRoZSBsYXN0IG9mIHRob3NlIGdyb3Vwcy4KKyAqIFNlZSB1Y29sX3NldE1heFZhcmlhYmxlKCku
CisgKiBAcGFyYW0gdmFyVG9wIHByaW1hcnkgd2VpZ2h0LCBhcyByZXR1cm5lZCBieSB1Y29sX3Nl
dFZhcmlhYmxlVG9wIG9yIHVjb2xfZ2V0VmFyaWFibGVUb3AKKyAqIEBwYXJhbSBzdGF0dXMgZXJy
b3IgY29kZQogICogQHNlZSB1Y29sX2dldFZhcmlhYmxlVG9wCiAgKiBAc2VlIHVjb2xfc2V0VmFy
aWFibGVUb3AKLSAqIEBzdGFibGUgSUNVIDIuMAorICogQGRlcHJlY2F0ZWQgSUNVIDUzIENhbGwg
dWNvbF9zZXRNYXhWYXJpYWJsZSgpIGluc3RlYWQuCiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBP
UlQyIAorVV9ERVBSRUNBVEVEIHZvaWQgVV9FWFBPUlQyIAogdWNvbF9yZXN0b3JlVmFyaWFibGVU
b3AoVUNvbGxhdG9yICpjb2xsLCBjb25zdCB1aW50MzJfdCB2YXJUb3AsIFVFcnJvckNvZGUgKnN0
YXR1cyk7CiAKIC8qKgpAQCAtMTMwMiw3ICsxMzc4LDcgQEAgVV9TVEFCTEUgY29uc3QgY2hhciAq
IFVfRVhQT1JUMgogdWNvbF9nZXRMb2NhbGVCeVR5cGUoY29uc3QgVUNvbGxhdG9yICpjb2xsLCBV
TG9jRGF0YUxvY2FsZVR5cGUgdHlwZSwgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAogLyoqCi0gKiBH
ZXQgYW4gVW5pY29kZSBzZXQgdGhhdCBjb250YWlucyBhbGwgdGhlIGNoYXJhY3RlcnMgYW5kIHNl
cXVlbmNlcyB0YWlsb3JlZCBpbiAKKyAqIEdldCBhIFVuaWNvZGUgc2V0IHRoYXQgY29udGFpbnMg
YWxsIHRoZSBjaGFyYWN0ZXJzIGFuZCBzZXF1ZW5jZXMgdGFpbG9yZWQgaW4gCiAgKiB0aGlzIGNv
bGxhdG9yLiBUaGUgcmVzdWx0IG11c3QgYmUgZGlzcG9zZWQgb2YgYnkgdXNpbmcgdXNldF9jbG9z
ZS4KICAqIEBwYXJhbSBjb2xsICAgICAgICBUaGUgVUNvbGxhdG9yIGZvciB3aGljaCB3ZSB3YW50
IHRvIGdldCB0YWlsb3JlZCBjaGFycwogICogQHBhcmFtIHN0YXR1cyAgICAgIGVycm9yIGNvZGUg
b2YgdGhlIG9wZXJhdGlvbgpAQCAtMTMxNSwzMSArMTM5MSw2IEBAIFVfU1RBQkxFIFVTZXQgKiBV
X0VYUE9SVDIKIHVjb2xfZ2V0VGFpbG9yZWRTZXQoY29uc3QgVUNvbGxhdG9yICpjb2xsLCBVRXJy
b3JDb2RlICpzdGF0dXMpOwogCiAjaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEkKLS8qKgotICog
VW5pdmVyc2FsIGF0dHJpYnV0ZSBnZXR0ZXIgdGhhdCByZXR1cm5zIFVDT0xfREVGQVVMVCBpZiB0
aGUgdmFsdWUgaXMgZGVmYXVsdAotICogQHBhcmFtIGNvbGwgY29sbGF0b3Igd2hpY2ggYXR0cmli
dXRlcyBhcmUgdG8gYmUgY2hhbmdlZAotICogQHBhcmFtIGF0dHIgYXR0cmlidXRlIHR5cGUKLSAq
IEByZXR1cm4gYXR0cmlidXRlIHZhbHVlIG9yIFVDT0xfREVGQVVMVCBpZiB0aGUgdmFsdWUgaXMg
ZGVmYXVsdAotICogQHBhcmFtIHN0YXR1cyB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBvcGVyYXRp
b24gd2VudCBvbiBzbW9vdGhseSBvciB0aGVyZSB3ZXJlIGVycm9ycwotICogQHNlZSBVQ29sQXR0
cmlidXRlCi0gKiBAc2VlIFVDb2xBdHRyaWJ1dGVWYWx1ZQotICogQHNlZSB1Y29sX3NldEF0dHJp
YnV0ZQotICogQGludGVybmFsIElDVSAzLjAKLSAqLwotVV9JTlRFUk5BTCBVQ29sQXR0cmlidXRl
VmFsdWUgIFVfRVhQT1JUMgotdWNvbF9nZXRBdHRyaWJ1dGVPckRlZmF1bHQoY29uc3QgVUNvbGxh
dG9yICpjb2xsLCBVQ29sQXR0cmlidXRlIGF0dHIsIFVFcnJvckNvZGUgKnN0YXR1cyk7Ci0KLS8q
KiBDaGVjayB3aGV0aGVyIHR3byBjb2xsYXRvcnMgYXJlIGVxdWFsLiBDb2xsYXRvcnMgYXJlIGNv
bnNpZGVyZWQgZXF1YWwgaWYgdGhleQotICogIHdpbGwgc29ydCBzdHJpbmdzIHRoZSBzYW1lLiBU
aGlzIG1lYW5zIHRoYXQgYm90aCB0aGUgY3VycmVudCBhdHRyaWJ1dGVzIGFuZCB0aGUKLSAqICBy
dWxlcyBtdXN0IGJlIGVxdWl2YWxlbnQuIEN1cnJlbnRseSB1c2VkIGZvciBSdWxlQmFzZWRDb2xs
YXRvcjo6b3BlcmF0b3I9PS4KLSAqICBAcGFyYW0gc291cmNlIGZpcnN0IGNvbGxhdG9yCi0gKiAg
QHBhcmFtIHRhcmdldCBzZWNvbmQgY29sbGF0b3IKLSAqICBAcmV0dXJuIFRSVUUgb3IgRkFMU0UK
LSAqICBAaW50ZXJuYWwgSUNVIDMuMAotICovCi1VX0lOVEVSTkFMIFVCb29sIFVfRVhQT1JUMgot
dWNvbF9lcXVhbHMoY29uc3QgVUNvbGxhdG9yICpzb3VyY2UsIGNvbnN0IFVDb2xsYXRvciAqdGFy
Z2V0KTsKLQogLyoqIENhbGN1bGF0ZXMgdGhlIHNldCBvZiB1bnNhZmUgY29kZSBwb2ludHMsIGdp
dmVuIGEgY29sbGF0b3IuCiAgKiAgIEEgY2hhcmFjdGVyIGlzIHVuc2FmZSBpZiB5b3UgY291bGQg
YXBwZW5kIGFueSBjaGFyYWN0ZXIgYW5kIGNhdXNlIHRoZSBvcmRlcmluZyB0byBhbHRlciBzaWdu
aWZpY2FudGx5LgogICogICBDb2xsYXRpb24gc29ydHMgaW4gbm9ybWFsaXplZCBvcmRlciwgc28g
YW55dGhpbmcgdGhhdCByZWFycmFuZ2VzIGluIG5vcm1hbGl6YXRpb24gY2FuIGNhdXNlIHRoaXMu
CkBAIC0xMzU2LDEyICsxNDA3LDYgQEAgdWNvbF9nZXRVbnNhZmVTZXQoIGNvbnN0IFVDb2xsYXRv
ciAqY29sbCwKICAgICAgICAgICAgICAgICAgIFVTZXQgKnVuc2FmZSwKICAgICAgICAgICAgICAg
ICAgIFVFcnJvckNvZGUgKnN0YXR1cyk7CiAKLS8qKiBSZXNldCBVQ0EncyBzdGF0aWMgcG9pbnRl
cnMuIFlvdSBkb24ndCB3YW50IHRvIHVzZSB0aGlzLCB1bmxlc3MgeW91ciBzdGF0aWMgbWVtb3J5
IGNhbiBnbyBhd2F5LgotICogQGludGVybmFsIElDVSAzLjIuMQotICovCi1VX0lOVEVSTkFMIHZv
aWQgVV9FWFBPUlQyCi11Y29sX2ZvcmdldFVDQSh2b2lkKTsKLQogLyoqIFRvdWNoZXMgYWxsIHJl
c291cmNlcyBuZWVkZWQgZm9yIGluc3RhbnRpYXRpbmcgYSBjb2xsYXRvciBmcm9tIGEgc2hvcnQg
c3RyaW5nIGRlZmluaXRpb24sCiAgKiAgdGh1cyBmaWxsaW5nIHVwIHRoZSBjYWNoZS4KICAqIEBw
YXJhbSBkZWZpbml0aW9uIEEgc2hvcnQgc3RyaW5nIGNvbnRhaW5pbmcgYSBsb2NhbGUgYW5kIGEg
c2V0IG9mIGF0dHJpYnV0ZXMuIApAQCAtMTQwOSwxNCArMTQ1NCwxNCBAQCB1Y29sX2Nsb25lQmlu
YXJ5KGNvbnN0IFVDb2xsYXRvciAqY29sbCwKICAqICB1Y29sX2Nsb25lQmluYXJ5LiBCaW5hcnkg
aW1hZ2UgdXNlZCBpbiBpbnN0YW50aWF0aW9uIG9mIHRoZSAKICAqICBjb2xsYXRvciByZW1haW5z
IG93bmVkIGJ5IHRoZSB1c2VyIGFuZCBzaG91bGQgc3RheSBhcm91bmQgZm9yIAogICogIHRoZSBs
aWZldGltZSBvZiB0aGUgY29sbGF0b3IuIFRoZSBBUEkgYWxzbyB0YWtlcyBhIGJhc2UgY29sbGF0
b3IKLSAqICB3aGljaCB1c3VhbHkgc2hvdWxkIGJlIFVDQS4KKyAqICB3aGljaCBtdXN0IGJlIHRo
ZSByb290IGNvbGxhdG9yLgogICogIEBwYXJhbSBiaW4gYmluYXJ5IGltYWdlIG93bmVkIGJ5IHRo
ZSB1c2VyIGFuZCByZXF1aXJlZCB0aHJvdWdoIHRoZQogICogICAgICAgICAgICAgbGlmZXRpbWUg
b2YgdGhlIGNvbGxhdG9yCiAgKiAgQHBhcmFtIGxlbmd0aCBzaXplIG9mIHRoZSBpbWFnZS4gSWYg
bmVnYXRpdmUsIHRoZSBBUEkgd2lsbCB0cnkgdG8KICAqICAgICAgICAgICAgICAgIGZpZ3VyZSBv
dXQgdGhlIGxlbmd0aCBvZiB0aGUgaW1hZ2UKLSAqICBAcGFyYW0gYmFzZSBmYWxsYmFjayBjb2xs
YXRvciwgdXN1YWxseSBVQ0EuIEJhc2UgaXMgcmVxdWlyZWQgdG8gYmUKLSAqICAgICAgICAgICAg
ICBwcmVzZW50IHRocm91Z2ggdGhlIGxpZmV0aW1lIG9mIHRoZSBjb2xsYXRvci4gQ3VycmVudGx5
IAotICogICAgICAgICAgICAgIGl0IGNhbm5vdCBiZSBOVUxMLgorICogIEBwYXJhbSBiYXNlIEJh
c2UgY29sbGF0b3IsIGZvciBsb29rdXAgb2YgdW50YWlsb3JlZCBjaGFyYWN0ZXJzLgorICogICAg
ICAgICAgICAgIE11c3QgYmUgdGhlIHJvb3QgY29sbGF0b3IsIG11c3Qgbm90IGJlIE5VTEwuCisg
KiAgICAgICAgICAgICAgVGhlIGJhc2UgaXMgcmVxdWlyZWQgdG8gYmUgcHJlc2VudCB0aHJvdWdo
IHRoZSBsaWZldGltZSBvZiB0aGUgY29sbGF0b3IuCiAgKiAgQHBhcmFtIHN0YXR1cyBmb3IgY2F0
Y2hpbmcgZXJyb3JzCiAgKiAgQHJldHVybiBuZXdseSBjcmVhdGVkIGNvbGxhdG9yCiAgKiAgQHNl
ZSB1Y29sX2Nsb25lQmluYXJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3Vj
b25maWcuaCBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNvbmZpZy5oCmluZGV4IGJmYThlNzdi
MGYxYTM1MjIwNzZmYzBhNjY5MjU3ZDUzMjUyNGZkMDEuLjdjNjcyNjMxZjk2ODFhNWZlMDI3Zjk5
NWRmZjQ5NmIzYTkxNTk1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNv
bmZpZy5oCisrKyBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWNvbmZpZy5oCkBAIC0xLDYgKzEs
NiBAQAogLyogIAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMjAwMi0yMDEzLCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAyMDAyLTIw
MTUsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQg
b3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogICBmaWxlIG5h
bWU6ICB1Y29uZmlnLmgKQEAgLTE4NSw3ICsxODUsOCBAQAogI2lmZGVmIFVfTElCX1NVRkZJWF9D
X05BTUVfU1RSSU5HCiAgICAgLyogVXNlIHRoZSBwcmVkZWZpbmVkIHZhbHVlLiAqLwogI2VsaWYg
ZGVmaW5lZChVX0xJQl9TVUZGSVhfQ19OQU1FKQotIyAgIGRlZmluZSBVX0xJQl9TVUZGSVhfQ19O
QU1FX1NUUklORyAjVV9MSUJfU1VGRklYX0NfTkFNRQorIyAgIGRlZmluZSBDT05WRVJUX1RPX1NU
UklORyhzKSAjcworIyAgIGRlZmluZSBVX0xJQl9TVUZGSVhfQ19OQU1FX1NUUklORyBDT05WRVJU
X1RPX1NUUklORyhVX0xJQl9TVUZGSVhfQ19OQU1FKQogI2Vsc2UKICMgICBkZWZpbmUgVV9MSUJf
U1VGRklYX0NfTkFNRV9TVFJJTkcgIiIKICNlbmRpZgpAQCAtMTk5LDcgKzIwMCw3IEBACiAgKiBJ
dCBkb2VzIG5vdCB0dXJuIG9mZiBsZWdhY3kgY29udmVyc2lvbiBiZWNhdXNlIHRoYXQgaXMgbmVj
ZXNzYXJ5CiAgKiBmb3IgSUNVIHRvIHdvcmsgb24gRUJDRElDIHBsYXRmb3JtcyAoZm9yIHRoZSBk
ZWZhdWx0IGNvbnZlcnRlcikuCiAgKiBJZiB5b3Ugd2FudCAib25seSBjb2xsYXRpb24iIGFuZCBk
byBub3QgYnVpbGQgZm9yIEVCQ0RJQywKLSAqIHRoZW4geW91IGNhbiBkZWZpbmUgVUNPTkZJR19O
T19MRUdBQ1lfQ09OVkVSU0lPTiAxIGFzIHdlbGwuCisgKiB0aGVuIHlvdSBjYW4gZGVmaW5lIFVD
T05GSUdfTk9fQ09OVkVSU0lPTiBvciBVQ09ORklHX05PX0xFR0FDWV9DT05WRVJTSU9OIHRvIDEg
YXMgd2VsbC4KICAqCiAgKiBAc3RhYmxlIElDVSAyLjQKICAqLwpAQCAtMjQ1LDYgKzI0NiwxMCBA
QAogIyAgIGRlZmluZSBVQ09ORklHX05PX0ZJTEVfSU8gMAogI2VuZGlmCiAKKyNpZiBVQ09ORklH
X05PX0ZJTEVfSU8gJiYgZGVmaW5lZChVX1RJTUVaT05FX0ZJTEVTX0RJUikgCisjICAgZXJyb3Ig
Q29udHJhZGljdG9yeSBmaWxlIGlvIHN3aXRjaGVzIGluIHVjb25maWcuaC4KKyNlbmRpZgorCiAv
KioKICAqIFxkZWYgVUNPTkZJR19OT19DT05WRVJTSU9OCiAgKiBJQ1Ugd2lsbCBub3QgY29tcGxl
dGVseSBidWlsZCB3aXRoIHRoaXMgc3dpdGNoIHR1cm5lZCBvbi4KQEAgLTI2NSw2ICsyNzAsMjEg
QEAKICNlbmRpZgogCiAvKioKKyAqIFxkZWYgVUNPTkZJR19PTkxZX0hUTUxfQ09OVkVSU0lPTgor
ICogVGhpcyBzd2l0Y2ggdHVybnMgb2ZmIGFsbCBvZiB0aGUgY29udmVydGVycyBOT1QgbGlzdGVk
IGluCisgKiB0aGUgSFRNTCBlbmNvZGluZyBzdGFuZGFyZDoKKyAqIGh0dHA6Ly93d3cudzMub3Jn
L1RSL2VuY29kaW5nLyNuYW1lcy1hbmQtbGFiZWxzCisgKgorICogVGhpcyBpcyBub3QgcG9zc2li
bGUgb24gRUJDRElDIHBsYXRmb3JtcworICogYmVjYXVzZSB0aGV5IG5lZWQgaWJtLTM3IG9yIGli
bS0xMDQ3IGRlZmF1bHQgY29udmVydGVycy4KKyAqCisgKiBAZHJhZnQgSUNVIDU1CisgKi8KKyNp
Zm5kZWYgVUNPTkZJR19PTkxZX0hUTUxfQ09OVkVSU0lPTgorIyAgIGRlZmluZSBVQ09ORklHX09O
TFlfSFRNTF9DT05WRVJTSU9OIDAKKyNlbmRpZgorCisvKioKICAqIFxkZWYgVUNPTkZJR19OT19M
RUdBQ1lfQ09OVkVSU0lPTgogICogVGhpcyBzd2l0Y2ggdHVybnMgb2ZmIGFsbCBjb252ZXJ0ZXJz
IGV4Y2VwdCBmb3IKICAqIC0gVW5pY29kZSBjaGFyc2V0cyAoVVRGLTcvOC8xNi8zMiwgQ0VTVS04
LCBTQ1NVLCBCT0NVLTEpCkBAIC0zODUsNyArNDA1LDcgQEAKICAqIEBzdGFibGUgSUNVIDMuMgog
ICovCiAjaWZuZGVmIFVDT05GSUdfTk9fU0VSVklDRQotIyAgIGRlZmluZSBVQ09ORklHX05PX1NF
UlZJQ0UgMQorIyAgIGRlZmluZSBVQ09ORklHX05PX1NFUlZJQ0UgMAogI2VuZGlmCiAKIC8qKgpA
QCAtNDA5LDQgKzQyOSwxNyBAQAogIyAgIGRlZmluZSBVQ09ORklHX0ZPUk1BVF9GQVNUUEFUSFNf
NDkgMQogI2VuZGlmCiAKKy8qKgorICogXGRlZiBVQ09ORklHX05PX0ZJTFRFUkVEX0JSRUFLX0lU
RVJBVElPTgorICogVGhpcyBzd2l0Y2ggdHVybnMgb2ZmIGZpbHRlcmVkIGJyZWFrIGl0ZXJhdGlv
biBjb2RlLgorICoKKyAqIEBpbnRlcm5hbAorICovCisjaWZuZGVmIFVDT05GSUdfTk9fRklMVEVS
RURfQlJFQUtfSVRFUkFUSU9OCisjICAgZGVmaW5lIFVDT05GSUdfTk9fRklMVEVSRURfQlJFQUtf
SVRFUkFUSU9OIDAKKworCisKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvaWN1L3VuaWNvZGUvdWN1cnIuaCBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdWN1cnIuaApp
bmRleCAyNzY5ODEzM2U0MjEwNjEzYjQzZjk4OTE2MjRlMGJhMzZlNTgyN2QxLi41YjE5NjkwMTY5
M2Y0MGNjMjU5Zjk2M2VmYTk5ODA5MzQ4YTYzOTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2lj
dS91bmljb2RlL3VjdXJyLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91Y3Vyci5oCkBA
IC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogQ29weXJpZ2h0IChjKSAyMDAyLTIw
MTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogQ29weXJpZ2h0IChjKSAyMDAy
LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogQ29ycG9yYXRpb24gYW5k
IG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpAQCAtMTgs
NiArMTgsMzQgQEAKICNpZiAhVUNPTkZJR19OT19GT1JNQVRUSU5HCiAKIC8qKgorICogQ3VycmVu
Y3kgVXNhZ2UgdXNlZCBmb3IgRGVjaW1hbCBGb3JtYXQKKyAqIEBkcmFmdCBJQ1UgNTQKKyAqLwor
ZW51bSBVQ3VycmVuY3lVc2FnZSB7CisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAvKioK
KyAgICAgKiBhIHNldHRpbmcgdG8gc3BlY2lmeSBjdXJyZW5jeSB1c2FnZSB3aGljaCBkZXRlcm1p
bmVzIGN1cnJlbmN5IGRpZ2l0CisgICAgICogYW5kIHJvdW5kaW5nIGZvciBzdGFuZGFyZCB1c2Fn
ZSwgZm9yIGV4YW1wbGU6ICI1MC4wMCBOVCQiCisgICAgICogdXNlZCBhcyBERUZBVUxUIHZhbHVl
CisgICAgICogQGRyYWZ0IElDVSA1NAorICAgICAqLworICAgIFVDVVJSX1VTQUdFX1NUQU5EQVJE
PTAsCisgICAgLyoqCisgICAgICogYSBzZXR0aW5nIHRvIHNwZWNpZnkgY3VycmVuY3kgdXNhZ2Ug
d2hpY2ggZGV0ZXJtaW5lcyBjdXJyZW5jeSBkaWdpdAorICAgICAqIGFuZCByb3VuZGluZyBmb3Ig
Y2FzaCB1c2FnZSwgZm9yIGV4YW1wbGU6ICI1MCBOVCQiCisgICAgICogQGRyYWZ0IElDVSA1NAor
ICAgICAqLworICAgIFVDVVJSX1VTQUdFX0NBU0g9MSwKKyNlbmRpZiAgLyogVV9ISURFX0RSQUZU
X0FQSSAqLworICAgIC8qKgorICAgICAqIE9uZSBoaWdoZXIgdGhhbiB0aGUgbGFzdCBlbnVtIFVD
dXJyZW5jeVVzYWdlIGNvbnN0YW50LgorICAgICAqIEBkcmFmdCBJQ1UgNTQKKyAgICAgKi8KKyAg
ICBVQ1VSUl9VU0FHRV9DT1VOVD0yCit9OwordHlwZWRlZiBlbnVtIFVDdXJyZW5jeVVzYWdlIFVD
dXJyZW5jeVVzYWdlOyAKKworLyoqCiAgKiBUaGUgdWN1cnIgQVBJIGVuY2Fwc3VsYXRlcyBpbmZv
cm1hdGlvbiBhYm91dCBhIGN1cnJlbmN5LCBhcyBkZWZpbmVkIGJ5CiAgKiBJU08gNDIxNy4gIEEg
Y3VycmVuY3kgaXMgcmVwcmVzZW50ZWQgYnkgYSAzLWNoYXJhY3RlciBzdHJpbmcKICAqIGNvbnRh
aW5pbmcgaXRzIElTTyA0MjE3IGNvZGUuICBUaGlzIEFQSSBjYW4gcmV0dXJuIHZhcmlvdXMgZGF0
YQpAQCAtMTY1LDYgKzE5Myw3IEBAIHVjdXJyX2dldFBsdXJhbE5hbWUoY29uc3QgVUNoYXIqIGN1
cnJlbmN5LAogLyoqCiAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIG51bWJlciBvZiBmcmFj
dGlvbiBkaWdpdHMgdGhhdCBzaG91bGQKICAqIGJlIGRpc3BsYXllZCBmb3IgdGhlIGdpdmVuIGN1
cnJlbmN5LgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHVjdXJyX2dldERlZmF1bHRGcmFjdGlv
bkRpZ2l0c0ZvclVzYWdlKGN1cnJlbmN5LFVDVVJSX1VTQUdFX1NUQU5EQVJELGVjKTsKICAqIEBw
YXJhbSBjdXJyZW5jeSBudWxsLXRlcm1pbmF0ZWQgMy1sZXR0ZXIgSVNPIDQyMTcgY29kZQogICog
QHBhcmFtIGVjIGlucHV0LW91dHB1dCBlcnJvciBjb2RlCiAgKiBAcmV0dXJuIGEgbm9uLW5lZ2F0
aXZlIG51bWJlciBvZiBmcmFjdGlvbiBkaWdpdHMgdG8gYmUKQEAgLTE3NSw5ICsyMDQsMjcgQEAg
VV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKIHVjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0
cyhjb25zdCBVQ2hhciogY3VycmVuY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VUVycm9yQ29kZSogZWMpOwogCisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKy8qKgorICogUmV0
dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgZnJhY3Rpb24gZGlnaXRzIHRoYXQgc2hv
dWxkCisgKiBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBnaXZlbiBjdXJyZW5jeSB3aXRoIHVzYWdlLgor
ICogQHBhcmFtIGN1cnJlbmN5IG51bGwtdGVybWluYXRlZCAzLWxldHRlciBJU08gNDIxNyBjb2Rl
CisgKiBAcGFyYW0gdXNhZ2UgZW51bSB1c2FnZSBmb3IgdGhlIGN1cnJlbmN5CisgKiBAcGFyYW0g
ZWMgaW5wdXQtb3V0cHV0IGVycm9yIGNvZGUKKyAqIEByZXR1cm4gYSBub24tbmVnYXRpdmUgbnVt
YmVyIG9mIGZyYWN0aW9uIGRpZ2l0cyB0byBiZQorICogZGlzcGxheWVkLCBvciAwIGlmIHRoZXJl
IGlzIGFuIGVycm9yCisgKiBAZHJhZnQgSUNVIDU0CisgKi8KK1VfRFJBRlQgaW50MzJfdCBVX0VY
UE9SVDIKK3VjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0c0ZvclVzYWdlKGNvbnN0IFVDaGFy
KiBjdXJyZW5jeSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBVQ3VycmVuY3lVc2FnZSB1c2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFVFcnJvckNvZGUqIGVjKTsKKyNlbmRpZiAgLyogVV9ISURFX0RSQUZUX0FQSSAqLwor
CiAvKioKICAqIFJldHVybnMgdGhlIHJvdW5kaW5nIGluY3JlbWVudCBmb3IgdGhlIGdpdmVuIGN1
cnJlbmN5LCBvciAwLjAgaWYgbm8KICAqIHJvdW5kaW5nIGlzIGRvbmUgYnkgdGhlIGN1cnJlbmN5
LgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9y
VXNhZ2UoY3VycmVuY3ksVUNVUlJfVVNBR0VfU1RBTkRBUkQsZWMpOwogICogQHBhcmFtIGN1cnJl
bmN5IG51bGwtdGVybWluYXRlZCAzLWxldHRlciBJU08gNDIxNyBjb2RlCiAgKiBAcGFyYW0gZWMg
aW5wdXQtb3V0cHV0IGVycm9yIGNvZGUKICAqIEByZXR1cm4gdGhlIG5vbi1uZWdhdGl2ZSByb3Vu
ZGluZyBpbmNyZW1lbnQsIG9yIDAuMCBpZiBub25lLApAQCAtMTg4LDYgKzIzNSwyMyBAQCBVX1NU
QUJMRSBkb3VibGUgVV9FWFBPUlQyCiB1Y3Vycl9nZXRSb3VuZGluZ0luY3JlbWVudChjb25zdCBV
Q2hhciogY3VycmVuY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBl
Yyk7CiAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorLyoqCisgKiBSZXR1cm5zIHRoZSByb3Vu
ZGluZyBpbmNyZW1lbnQgZm9yIHRoZSBnaXZlbiBjdXJyZW5jeSwgb3IgMC4wIGlmIG5vCisgKiBy
b3VuZGluZyBpcyBkb25lIGJ5IHRoZSBjdXJyZW5jeSBnaXZlbiB1c2FnZS4KKyAqIEBwYXJhbSBj
dXJyZW5jeSBudWxsLXRlcm1pbmF0ZWQgMy1sZXR0ZXIgSVNPIDQyMTcgY29kZQorICogQHBhcmFt
IHVzYWdlIGVudW0gdXNhZ2UgZm9yIHRoZSBjdXJyZW5jeQorICogQHBhcmFtIGVjIGlucHV0LW91
dHB1dCBlcnJvciBjb2RlCisgKiBAcmV0dXJuIHRoZSBub24tbmVnYXRpdmUgcm91bmRpbmcgaW5j
cmVtZW50LCBvciAwLjAgaWYgbm9uZSwKKyAqIG9yIDAuMCBpZiB0aGVyZSBpcyBhbiBlcnJvcgor
ICogQGRyYWZ0IElDVSA1NAorICovCitVX0RSQUZUIGRvdWJsZSBVX0VYUE9SVDIKK3VjdXJyX2dl
dFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2UoY29uc3QgVUNoYXIqIGN1cnJlbmN5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBVQ3VycmVuY3lVc2FnZSB1c2FnZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSogZWMpOworI2Vu
ZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisKIC8qKgogICogU2VsZWN0b3IgY29uc3RhbnRz
IGZvciB1Y3Vycl9vcGVuQ3VycmVuY2llcygpLgogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
aWN1L3VuaWNvZGUvdWxvYy5oIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91bG9jLmgKaW5kZXgg
MjhhYjkwMmI1MjIyOTNiMzMyMGU5ZTlkMDdlYWRmMTM5MTY1OGFlYi4uYzMwNWM4Yjc4YzhhODUz
YjkzOGQ2NWQxNmExZTEyOTZkYjc3MzdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9pY3UvdW5p
Y29kZS91bG9jLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91bG9jLmgKQEAgLTEsNiAr
MSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDEzLCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIw
MTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQg
b3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKQEAgLTI3Miw3
ICsyNzIsNyBAQAogICogVXNlZnVsIGNvbnN0YW50IGZvciB0aGUgbWF4aW11bSBzaXplIG9mIGtl
eXdvcmRzIGluIGEgbG9jYWxlCiAgKiBAc3RhYmxlIElDVSAyLjgKICAqLwotI2RlZmluZSBVTE9D
X0tFWVdPUkRTX0NBUEFDSVRZIDUwCisjZGVmaW5lIFVMT0NfS0VZV09SRFNfQ0FQQUNJVFkgOTYK
IAogLyoqCiAgKiBVc2VmdWwgY29uc3RhbnQgZm9yIHRoZSBtYXhpbXVtIHRvdGFsIHNpemUgb2Yg
a2V5d29yZHMgYW5kIHRoZWlyIHZhbHVlcyBpbiBhIGxvY2FsZQpAQCAtODg2LDYgKzg4NiwyNSBA
QCB1bG9jX3NldEtleXdvcmRWYWx1ZShjb25zdCBjaGFyKiBrZXl3b3JkTmFtZSwKICAgICAgICAg
ICAgICAgICAgICAgIGNoYXIqIGJ1ZmZlciwgaW50MzJfdCBidWZmZXJDYXBhY2l0eSwKICAgICAg
ICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAKKyNpZm5kZWYgVV9ISURFX0RS
QUZUX0FQSQorLyoqCisgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGxvY2FsZSdzIHNjcmlwdCBpcyB3
cml0dGVuIHJpZ2h0LXRvLWxlZnQuCisgKiBJZiB0aGVyZSBpcyBubyBzY3JpcHQgc3VidGFnLCB0
aGVuIHRoZSBsaWtlbHkgc2NyaXB0IGlzIHVzZWQsIHNlZSB1bG9jX2FkZExpa2VseVN1YnRhZ3Mo
KS4KKyAqIElmIG5vIGxpa2VseSBzY3JpcHQgaXMga25vd24sIHRoZW4gRkFMU0UgaXMgcmV0dXJu
ZWQuCisgKgorICogQSBzY3JpcHQgaXMgcmlnaHQtdG8tbGVmdCBhY2NvcmRpbmcgdG8gdGhlIENM
RFIgc2NyaXB0IG1ldGFkYXRhCisgKiB3aGljaCBjb3JyZXNwb25kcyB0byB3aGV0aGVyIHRoZSBz
Y3JpcHQncyBsZXR0ZXJzIGhhdmUgQmlkaV9DbGFzcz1SIG9yIEFMLgorICoKKyAqIFJldHVybnMg
VFJVRSBmb3IgImFyIiBhbmQgImVuLUhlYnIiLCBGQUxTRSBmb3IgInpoIiBhbmQgImZhLUN5cmwi
LgorICoKKyAqIEBwYXJhbSBsb2NhbGUgaW5wdXQgbG9jYWxlIElECisgKiBAcmV0dXJuIFRSVUUg
aWYgdGhlIGxvY2FsZSdzIHNjcmlwdCBpcyB3cml0dGVuIHJpZ2h0LXRvLWxlZnQKKyAqIEBkcmFm
dCBJQ1UgNTQKKyAqLworVV9EUkFGVCBVQm9vbCBVX0VYUE9SVDIKK3Vsb2NfaXNSaWdodFRvTGVm
dChjb25zdCBjaGFyICpsb2NhbGUpOworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisK
IC8qKgogICogZW51bXMgZm9yIHRoZSAgcmV0dXJuIHZhbHVlIGZvciB0aGUgY2hhcmFjdGVyIGFu
ZCBsaW5lIG9yaWVudGF0aW9uCiAgKiBmdW5jdGlvbnMuCkBAIC0xMTMyLDQgKzExNTEsMTA2IEBA
IHVsb2NfdG9MYW5ndWFnZVRhZyhjb25zdCBjaGFyKiBsb2NhbGVJRCwKICAgICAgICAgICAgICAg
ICAgICBVQm9vbCBzdHJpY3QsCiAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSogZXJyKTsK
IAorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisvKioKKyAqIENvbnZlcnRzIHRoZSBzcGVjaWZp
ZWQga2V5d29yZCAobGVnYWN5IGtleSwgb3IgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlCisgKiBleHRl
bnNpb24ga2V5KSB0byB0aGUgZXF1aXZhbGVudCBCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5z
aW9uIGtleS4KKyAqIEZvciBleGFtcGxlLCBCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9u
IGtleSAiY28iIGlzIHJldHVybmVkIGZvcgorICogdGhlIGlucHV0IGtleXdvcmQgImNvbGxhdGlv
biIuCisgKiA8cD4KKyAqIFdoZW4gdGhlIHNwZWNpZmllZCBrZXl3b3JkIGlzIHVua25vd24sIGJ1
dCBzYXRpc2ZpZXMgdGhlIEJDUCBzeW50YXgsCisgKiB0aGVuIHRoZSBwb2ludGVyIHRvIHRoZSBp
bnB1dCBrZXl3b3JkIGl0c2VsZiB3aWxsIGJlIHJldHVybmVkLgorICogRm9yIGV4YW1wbGUsCisg
KiA8Y29kZT51bG9jX3RvVW5pY29kZUxvY2FsZUtleSgiWloiKTwvY29kZT4gcmV0dXJucyAiWloi
LgorICogCisgKiBAcGFyYW0ga2V5d29yZCAgICAgICB0aGUgaW5wdXQgbG9jYWxlIGtleXdvcmQg
KGVpdGhlciBsZWdhY3kga2V5CisgKiAgICAgICAgICAgICAgICAgICAgICBzdWNoIGFzICJjb2xs
YXRpb24iIG9yIEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24KKyAqICAgICAgICAgICAg
ICAgICAgICAgIGtleSBzdWNoIGFzICJjbyIpLgorICogQHJldHVybiAgICAgICAgICAgICAgdGhl
IHdlbGwtZm9ybWVkIEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24ga2V5LAorICogICAg
ICAgICAgICAgICAgICAgICAgb3IgTlVMTCBpZiB0aGUgc3BlY2lmaWVkIGxvY2FsZSBrZXl3b3Jk
IGNhbm5vdCBiZQorICogICAgICAgICAgICAgICAgICAgICAgbWFwcGVkIHRvIGEgd2VsbC1mb3Jt
ZWQgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbgorICogICAgICAgICAgICAgICAgICAg
ICAga2V5LiAKKyAqIEBzZWUgdWxvY190b0xlZ2FjeUtleQorICogQGRyYWZ0IElDVSA1NAorICov
CitVX0RSQUZUIGNvbnN0IGNoYXIqIFVfRVhQT1JUMgordWxvY190b1VuaWNvZGVMb2NhbGVLZXko
Y29uc3QgY2hhcioga2V5d29yZCk7CisKKy8qKgorICogQ29udmVydHMgdGhlIHNwZWNpZmllZCBr
ZXl3b3JkIHZhbHVlIChsZWdhY3kgdHlwZSwgb3IgQkNQIDQ3CisgKiBVbmljb2RlIGxvY2FsZSBl
eHRlbnNpb24gdHlwZSkgdG8gdGhlIHdlbGwtZm9ybWVkIEJDUCA0NyBVbmljb2RlIGxvY2FsZQor
ICogZXh0ZW5zaW9uIHR5cGUgZm9yIHRoZSBzcGVjaWZpZWQga2V5d29yZCAoY2F0ZWdvcnkpLiBG
b3IgZXhhbXBsZSwgQkNQIDQ3CisgKiBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gdHlwZSAicGhv
bmViayIgaXMgcmV0dXJuZWQgZm9yIHRoZSBpbnB1dAorICoga2V5d29yZCB2YWx1ZSAicGhvbmVi
b29rIiwgd2l0aCB0aGUga2V5d29yZCAiY29sbGF0aW9uIiAob3IgImNvIikuCisgKiA8cD4KKyAq
IFdoZW4gdGhlIHNwZWNpZmllZCBrZXl3b3JkIGlzIG5vdCByZWNvZ25pemVkLCBidXQgdGhlIHNw
ZWNpZmllZCB2YWx1ZQorICogc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgdGhlIEJDUCA0NyBVbmlj
b2RlIGxvY2FsZSBleHRlbnNpb24gdHlwZSwKKyAqIG9yIHdoZW4gdGhlIHNwZWNpZmllZCBrZXl3
b3JkIGFsbG93cyAndmFyaWFibGUnIHR5cGUgYW5kIHRoZSBzcGVjaWZpZWQKKyAqIHZhbHVlIHNh
dGlzZmllcyB0aGUgc3ludGF4LCAgdGhlbiB0aGUgcG9pbnRlciB0byB0aGUgaW5wdXQgdHlwZSB2
YWx1ZSBpdHNlbGYKKyAqIHdpbGwgYmUgcmV0dXJuZWQuCisgKiBGb3IgZXhhbXBsZSwKKyAqIDxj
b2RlPnVsb2NfdG9Vbmljb2RlTG9jYWxlVHlwZSgiRm9vIiwgIkJhciIpPC9jb2RlPiByZXR1cm5z
ICJCYXIiLAorICogPGNvZGU+dWxvY190b1VuaWNvZGVMb2NhbGVUeXBlKCJ2YXJpYWJsZVRvcCIs
ICIwMEE0Iik8L2NvZGU+IHJldHVybnMgIjAwQTQiLgorICogCisgKiBAcGFyYW0ga2V5d29yZCAg
ICAgICB0aGUgbG9jYWxlIGtleXdvcmQgKGVpdGhlciBsZWdhY3kga2V5IHN1Y2ggYXMKKyAqICAg
ICAgICAgICAgICAgICAgICAgICJjb2xsYXRpb24iIG9yIEJDUCA0NyBVbmljb2RlIGxvY2FsZSBl
eHRlbnNpb24KKyAqICAgICAgICAgICAgICAgICAgICAgIGtleSBzdWNoIGFzICJjbyIpLgorICog
QHBhcmFtIHZhbHVlICAgICAgICAgdGhlIGxvY2FsZSBrZXl3b3JkIHZhbHVlIChlaXRoZXIgbGVn
YWN5IHR5cGUKKyAqICAgICAgICAgICAgICAgICAgICAgIHN1Y2ggYXMgInBob25lYm9vayIgb3Ig
QkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbgorICogICAgICAgICAgICAgICAgICAgICAg
dHlwZSBzdWNoIGFzICJwaG9uZWJrIikuCisgKiBAcmV0dXJuICAgICAgICAgICAgICB0aGUgd2Vs
bC1mb3JtZWQgQkNQNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHR5cGUsCisgKiAgICAgICAg
ICAgICAgICAgICAgICBvciBOVUxMIGlmIHRoZSBsb2NhbGUga2V5d29yZCB2YWx1ZSBjYW5ub3Qg
YmUgbWFwcGVkIHRvCisgKiAgICAgICAgICAgICAgICAgICAgICBhIHdlbGwtZm9ybWVkIEJDUCA0
NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gdHlwZS4KKyAqIEBzZWUgdWxvY190b0xlZ2FjeVR5
cGUKKyAqIEBkcmFmdCBJQ1UgNTQKKyAqLworVV9EUkFGVCBjb25zdCBjaGFyKiBVX0VYUE9SVDIK
K3Vsb2NfdG9Vbmljb2RlTG9jYWxlVHlwZShjb25zdCBjaGFyKiBrZXl3b3JkLCBjb25zdCBjaGFy
KiB2YWx1ZSk7CisKKy8qKgorICogQ29udmVydHMgdGhlIHNwZWNpZmllZCBrZXl3b3JkIChCQ1Ag
NDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIGtleSwgb3IKKyAqIGxlZ2FjeSBrZXkpIHRvIHRo
ZSBsZWdhY3kga2V5LiBGb3IgZXhhbXBsZSwgbGVnYWN5IGtleSAiY29sbGF0aW9uIiBpcworICog
cmV0dXJuZWQgZm9yIHRoZSBpbnB1dCBCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIGtl
eSAiY28iLgorICogCisgKiBAcGFyYW0ga2V5d29yZCAgICAgICB0aGUgaW5wdXQgbG9jYWxlIGtl
eXdvcmQgKGVpdGhlciBCQ1AgNDcgVW5pY29kZSBsb2NhbGUKKyAqICAgICAgICAgICAgICAgICAg
ICAgIGV4dGVuc2lvbiBrZXkgb3IgbGVnYWN5IGtleSkuCisgKiBAcmV0dXJuICAgICAgICAgICAg
ICB0aGUgd2VsbC1mb3JtZWQgbGVnYWN5IGtleSwgb3IgTlVMTCBpZiB0aGUgc3BlY2lmaWVkCisg
KiAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkIGNhbm5vdCBiZSBtYXBwZWQgdG8gYSB3ZWxs
LWZvcm1lZCBsZWdhY3kga2V5LgorICogQHNlZSB0b1VuaWNvZGVMb2NhbGVLZXkKKyAqIEBkcmFm
dCBJQ1UgNTQKKyAqLworVV9EUkFGVCBjb25zdCBjaGFyKiBVX0VYUE9SVDIKK3Vsb2NfdG9MZWdh
Y3lLZXkoY29uc3QgY2hhcioga2V5d29yZCk7CisKKy8qKgorICogQ29udmVydHMgdGhlIHNwZWNp
ZmllZCBrZXl3b3JkIHZhbHVlIChCQ1AgNDcgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHR5cGUs
CisgKiBvciBsZWdhY3kgdHlwZSBvciB0eXBlIGFsaWFzKSB0byB0aGUgY2Fub25pY2FsIGxlZ2Fj
eSB0eXBlLiBGb3IgZXhhbXBsZSwKKyAqIHRoZSBsZWdhY3kgdHlwZSAicGhvbmVib29rIiBpcyBy
ZXR1cm5lZCBmb3IgdGhlIGlucHV0IEJDUCA0NyBVbmljb2RlCisgKiBsb2NhbGUgZXh0ZW5zaW9u
IHR5cGUgInBob25lYmsiIHdpdGggdGhlIGtleXdvcmQgImNvbGxhdGlvbiIgKG9yICJjbyIpLgor
ICogPHA+CisgKiBXaGVuIHRoZSBzcGVjaWZpZWQga2V5d29yZCBpcyBub3QgcmVjb2duaXplZCwg
YnV0IHRoZSBzcGVjaWZpZWQgdmFsdWUKKyAqIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGxlZ2Fj
eSBrZXksIG9yIHdoZW4gdGhlIHNwZWNpZmllZCBrZXl3b3JkCisgKiBhbGxvd3MgJ3ZhcmlhYmxl
JyB0eXBlIGFuZCB0aGUgc3BlY2lmaWVkIHZhbHVlIHNhdGlzZmllcyB0aGUgc3ludGF4LAorICog
dGhlbiB0aGUgcG9pbnRlciB0byB0aGUgaW5wdXQgdHlwZSB2YWx1ZSBpdHNlbGYgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAqIEZvciBleGFtcGxlLAorICogPGNvZGU+dWxvY190b0xlZ2FjeVR5cGUoIkZv
byIsICJCYXIiKTwvY29kZT4gcmV0dXJucyAiQmFyIiwKKyAqIDxjb2RlPnVsb2NfdG9MZWdhY3lU
eXBlKCJ2dCIsICIwMEE0Iik8L2NvZGU+IHJldHVybnMgIjAwQTQiLgorICoKKyAqIEBwYXJhbSBr
ZXl3b3JkICAgICAgIHRoZSBsb2NhbGUga2V5d29yZCAoZWl0aGVyIGxlZ2FjeSBrZXl3b3JkIHN1
Y2ggYXMKKyAqICAgICAgICAgICAgICAgICAgICAgICJjb2xsYXRpb24iIG9yIEJDUCA0NyBVbmlj
b2RlIGxvY2FsZSBleHRlbnNpb24KKyAqICAgICAgICAgICAgICAgICAgICAgIGtleSBzdWNoIGFz
ICJjbyIpLgorICogQHBhcmFtIHZhbHVlICAgICAgICAgdGhlIGxvY2FsZSBrZXl3b3JkIHZhbHVl
IChlaXRoZXIgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlCisgKiAgICAgICAgICAgICAgICAgICAgICBl
eHRlbnNpb24gdHlwZSBzdWNoIGFzICJwaG9uZWJrIiBvciBsZWdhY3kga2V5d29yZCB2YWx1ZQor
ICogICAgICAgICAgICAgICAgICAgICAgc3VjaCBhcyAicGhvbmVib29rIikuCisgKiBAcmV0dXJu
ICAgICAgICAgICAgICB0aGUgd2VsbC1mb3JtZWQgbGVnYWN5IHR5cGUsIG9yIE5VTEwgaWYgdGhl
IHNwZWNpZmllZAorICogICAgICAgICAgICAgICAgICAgICAga2V5d29yZCB2YWx1ZSBjYW5ub3Qg
YmUgbWFwcGVkIHRvIGEgd2VsbC1mb3JtZWQgbGVnYWN5CisgKiAgICAgICAgICAgICAgICAgICAg
ICB0eXBlLgorICogQHNlZSB0b1VuaWNvZGVMb2NhbGVUeXBlCisgKiBAZHJhZnQgSUNVIDU0Cisg
Ki8KK1VfRFJBRlQgY29uc3QgY2hhciogVV9FWFBPUlQyCit1bG9jX3RvTGVnYWN5VHlwZShjb25z
dCBjaGFyKiBrZXl3b3JkLCBjb25zdCBjaGFyKiB2YWx1ZSk7CisKKyNlbmRpZiAgLyogVV9ISURF
X0RSQUZUX0FQSSAqLworCiAjZW5kaWYgLypfVUxPQyovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L2ljdS91bmljb2RlL3VtYWNoaW5lLmggYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VtYWNoaW5l
LmgKaW5kZXggZDExMDJmNDkzNjUyN2M5MmIxM2JjYWY4NGM4YWVkY2E2ZTdmZjc1Ny4uNTMyMTU5
MjE2YTVlM2QxMzAyN2E3ZmZlZjZmYzMyOGM3YjZmNjRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9pY3UvdW5pY29kZS91bWFjaGluZS5oCisrKyBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdW1h
Y2hpbmUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSog
ICBDb3B5cmlnaHQgKEMpIDE5OTktMjAxMiwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cworKiAgIENvcHlyaWdodCAoQykgMTk5OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1h
Y2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEzLDcgKzEzLDcgQEAKICogICBjcmVhdGVk
IG9uOiAxOTk5c2VwMTMKICogICBjcmVhdGVkIGJ5OiBNYXJrdXMgVy4gU2NoZXJlcgogKgotKiAg
IFRoaXMgZmlsZSBkZWZpbmVzIGJhc2ljIHR5cGVzIGFuZCBjb25zdGFudHMgZm9yIHV0Zi5oIHRv
IGJlCisqICAgVGhpcyBmaWxlIGRlZmluZXMgYmFzaWMgdHlwZXMgYW5kIGNvbnN0YW50cyBmb3Ig
SUNVIHRvIGJlCiAqICAgcGxhdGZvcm0taW5kZXBlbmRlbnQuIHVtYWNoaW5lLmggYW5kIHV0Zi5o
IGFyZSBpbmNsdWRlZCBpbnRvCiAqICAgdXR5cGVzLmggdG8gcHJvdmlkZSBhbGwgdGhlIGdlbmVy
YWwgZGVmaW5pdGlvbnMgZm9yIElDVS4KICogICBBbGwgb2YgdGhlc2UgZGVmaW5pdGlvbnMgdXNl
ZCB0byBiZSBpbiB1dHlwZXMuaCBiZWZvcmUKQEAgLTExNiw2ICsxMTYsNDAgQEAKIC8qKiBUaGlz
IGlzIHVzZWQgdG8gZGVjbGFyZSBhIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIElDVSBDIEFQSSAg
Ki8KICNkZWZpbmUgVV9JTlRFUk5BTCBVX0NBUEkKIAorLyoqCisgKiBcZGVmIFVfT1ZFUlJJREUK
KyAqIERlZmluZWQgdG8gdGhlIEMrKzExICJvdmVycmlkZSIga2V5d29yZCBpZiBhdmFpbGFibGUu
CisgKiBEZW5vdGVzIGEgY2xhc3Mgb3IgbWVtYmVyIHdoaWNoIGlzIGFuIG92ZXJyaWRlIG9mIHRo
ZSBiYXNlIGNsYXNzLgorICogTWF5IHJlc3VsdCBpbiBhbiBlcnJvciBpZiBpdCBhcHBsaWVkIHRv
IHNvbWV0aGluZyBub3QgYW4gb3ZlcnJpZGUuCisgKiBAaW50ZXJuYWwKKyAqLworCisvKioKKyAq
IFxkZWYgVV9GSU5BTAorICogRGVmaW5lZCB0byB0aGUgQysrMTEgImZpbmFsIiBrZXl3b3JkIGlm
IGF2YWlsYWJsZS4KKyAqIERlbm90ZXMgYSBjbGFzcyBvciBtZW1iZXIgd2hpY2ggbWF5IG5vdCBi
ZSBvdmVycmlkZGVuIGluIHN1YmNsYXNzZXMuCisgKiBNYXkgcmVzdWx0IGluIGFuIGVycm9yIGlm
IHN1YmNsYXNzZXMgYXR0ZW1wdCB0byBvdmVycmlkZS4KKyAqIEBpbnRlcm5hbAorICovCisKKyNp
ZiBkZWZpbmVkKF9fY3BsdXNwbHVzKSAmJiBfX2NwbHVzcGx1cz49MjAxMTAzTAorLyogQysrMTEg
Ki8KKyNpZm5kZWYgVV9PVkVSUklERQorI2RlZmluZSBVX09WRVJSSURFIG92ZXJyaWRlCisjZW5k
aWYKKyNpZm5kZWYgVV9GSU5BTAorI2RlZmluZSBVX0ZJTkFMIGZpbmFsCisjZW5kaWYKKyNlbHNl
CisvKiBub3QgQysrMTEgLSBkZWZpbmUgdG8gbm90aGluZyAqLworI2lmbmRlZiBVX09WRVJSSURF
CisjZGVmaW5lIFVfT1ZFUlJJREUKKyNlbmRpZgorI2lmbmRlZiBVX0ZJTkFMCisjZGVmaW5lIFVf
RklOQUwKKyNlbmRpZgorI2VuZGlmCisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogLyogbGltaXRz
IGZvciBpbnQzMl90IGV0Yy4sIGxpa2UgaW4gUE9TSVggaW50dHlwZXMuaCAgICAgICAgICAgICAg
ICAgICAgICAgICovCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvaWN1L3VuaWNvZGUvdW5pc3RyLmggYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VuaXN0ci5o
CmluZGV4IGM2ZThiNDQ2NmFkMTNhMjM5ZTc2Mjc3N2FjZGExY2ZlMzY3YjI2N2UuLjQ4ZmUyYjNi
MWQ2YzhhMzVjNzdmYWExMjIwZTRmZmQ3Nzk2MDAzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
aWN1L3VuaWNvZGUvdW5pc3RyLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91bmlzdHIu
aApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAx
OTk4LTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQg
KEMpIDE5OTgtMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBv
cmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog
KgpAQCAtMzM3MCw2ICszMzcwLDkgQEAgcHJpdmF0ZToKICAgaW5saW5lIFVDaGFyKiBnZXRBcnJh
eVN0YXJ0KHZvaWQpOwogICBpbmxpbmUgY29uc3QgVUNoYXIqIGdldEFycmF5U3RhcnQodm9pZCkg
Y29uc3Q7CiAKKyAgaW5saW5lIFVCb29sIGhhc1Nob3J0TGVuZ3RoKCkgY29uc3Q7CisgIGlubGlu
ZSBpbnQzMl90IGdldFNob3J0TGVuZ3RoKCkgY29uc3Q7CisKICAgLy8gQSBVbmljb2RlU3RyaW5n
IG9iamVjdCAobm90IG5lY2Vzc2FyaWx5IGl0cyBjdXJyZW50IGJ1ZmZlcikKICAgLy8gaXMgd3Jp
dGFibGUgdW5sZXNzIGl0IGlzQm9ndXMoKSBvciBpdCBoYXMgYW4gIm9wZW4iIGdldEJ1ZmZlciht
aW5DYXBhY2l0eSkuCiAgIGlubGluZSBVQm9vbCBpc1dyaXRhYmxlKCkgY29uc3Q7CkBAIC0zMzc4
LDEzICszMzgxLDE2IEBAIHByaXZhdGU6CiAgIGlubGluZSBVQm9vbCBpc0J1ZmZlcldyaXRhYmxl
KCkgY29uc3Q7CiAKICAgLy8gTm9uZSBvZiB0aGUgZm9sbG93aW5nIGRvZXMgcmVsZWFzZUFycmF5
KCkuCi0gIGlubGluZSB2b2lkIHNldExlbmd0aChpbnQzMl90IGxlbik7ICAgICAgICAvLyBzZXRz
IG9ubHkgZlNob3J0TGVuZ3RoIGFuZCBmTGVuZ3RoCi0gIGlubGluZSB2b2lkIHNldFRvRW1wdHko
KTsgICAgICAgICAgICAgICAgICAvLyBzZXRzIGZGbGFncz1rU2hvcnRTdHJpbmcKLSAgaW5saW5l
IHZvaWQgc2V0QXJyYXkoVUNoYXIgKmFycmF5LCBpbnQzMl90IGxlbiwgaW50MzJfdCBjYXBhY2l0
eSk7IC8vIGRvZXMgbm90IHNldCBmRmxhZ3MKKyAgaW5saW5lIHZvaWQgc2V0WmVyb0xlbmd0aCgp
OworICBpbmxpbmUgdm9pZCBzZXRTaG9ydExlbmd0aChpbnQzMl90IGxlbik7CisgIGlubGluZSB2
b2lkIHNldExlbmd0aChpbnQzMl90IGxlbik7CisgIGlubGluZSB2b2lkIHNldFRvRW1wdHkoKTsK
KyAgaW5saW5lIHZvaWQgc2V0QXJyYXkoVUNoYXIgKmFycmF5LCBpbnQzMl90IGxlbiwgaW50MzJf
dCBjYXBhY2l0eSk7IC8vIHNldHMgbGVuZ3RoIGJ1dCBub3QgZmxhZ3MKIAotICAvLyBhbGxvY2F0
ZSB0aGUgYXJyYXk7IHJlc3VsdCBtYXkgYmUgZlN0YWNrQnVmZmVyCisgIC8vIGFsbG9jYXRlIHRo
ZSBhcnJheTsgcmVzdWx0IG1heSBiZSB0aGUgc3RhY2sgYnVmZmVyCiAgIC8vIHNldHMgcmVmQ291
bnQgdG8gMSBpZiBhcHByb3ByaWF0ZQotICAvLyBzZXRzIGZBcnJheSwgZkNhcGFjaXR5LCBhbmQg
ZkZsYWdzCisgIC8vIHNldHMgZkFycmF5LCBmQ2FwYWNpdHksIGFuZCBmbGFncworICAvLyBzZXRz
IGxlbmd0aCB0byAwCiAgIC8vIHJldHVybnMgYm9vbGVhbiBmb3Igc3VjY2VzcyBvciBmYWlsdXJl
CiAgIFVCb29sIGFsbG9jYXRlKGludDMyX3QgY2FwYWNpdHkpOwogCkBAIC0zNDcxLDE4ICszNDc3
LDI0IEBAIHByaXZhdGU6CiAgICAgLy8gU2V0IHRoZSBzdGFjayBidWZmZXIgc2l6ZSBzbyB0aGF0
IHNpemVvZihVbmljb2RlU3RyaW5nKSBpcywKICAgICAvLyBuYXR1cmFsbHkgKHdpdGhvdXQgcGFk
ZGluZyksIGEgbXVsdGlwbGUgb2Ygc2l6ZW9mKHBvaW50ZXIpLgogICAgIFVTX1NUQUNLQlVGX1NJ
WkU9IHNpemVvZih2b2lkICopPT00ID8gMTMgOiAxNSwgLy8gU2l6ZSBvZiBzdGFjayBidWZmZXIg
Zm9yIHNob3J0IHN0cmluZ3MKLSAgICBrSW52YWxpZFVDaGFyPTB4ZmZmZiwgLy8gaW52YWxpZCBV
Q2hhciBpbmRleAorICAgIGtJbnZhbGlkVUNoYXI9MHhmZmZmLCAvLyBVK0ZGRkYgcmV0dXJuZWQg
YnkgY2hhckF0KGludmFsaWQgaW5kZXgpCiAgICAga0dyb3dTaXplPTEyOCwgLy8gZ3JvdyBzaXpl
IGZvciB0aGlzIGJ1ZmZlcgogICAgIGtJbnZhbGlkSGFzaENvZGU9MCwgLy8gaW52YWxpZCBoYXNo
IGNvZGUKICAgICBrRW1wdHlIYXNoQ29kZT0xLCAvLyBoYXNoIGNvZGUgZm9yIGVtcHR5IHN0cmlu
ZwogCi0gICAgLy8gYml0IGZsYWcgdmFsdWVzIGZvciBmRmxhZ3MKKyAgICAvLyBiaXQgZmxhZyB2
YWx1ZXMgZm9yIGZMZW5ndGhBbmRGbGFncwogICAgIGtJc0JvZ3VzPTEsICAgICAgICAgLy8gdGhp
cyBzdHJpbmcgaXMgYm9ndXMsIGkuZS4sIG5vdCB2YWxpZCBvciBOVUxMCi0gICAga1VzaW5nU3Rh
Y2tCdWZmZXI9MiwvLyB1c2luZyBmVW5pb24uZlN0YWNrQnVmZmVyIGluc3RlYWQgb2YgZlVuaW9u
LmZGaWVsZHMKKyAgICBrVXNpbmdTdGFja0J1ZmZlcj0yLC8vIHVzaW5nIGZVbmlvbi5mU3RhY2tG
aWVsZHMgaW5zdGVhZCBvZiBmVW5pb24uZkZpZWxkcwogICAgIGtSZWZDb3VudGVkPTQsICAgICAg
Ly8gdGhlcmUgaXMgYSByZWZDb3VudCBmaWVsZCBiZWZvcmUgdGhlIGNoYXJhY3RlcnMgaW4gZkFy
cmF5CiAgICAga0J1ZmZlcklzUmVhZG9ubHk9OCwvLyBkbyBub3Qgd3JpdGUgdG8gdGhpcyBidWZm
ZXIKICAgICBrT3BlbkdldEJ1ZmZlcj0xNiwgIC8vIGdldEJ1ZmZlcihtaW5DYXBhY2l0eSkgd2Fz
IGNhbGxlZCAoaXMgIm9wZW4iKSwKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuZCByZWxl
YXNlQnVmZmVyKG5ld0xlbmd0aCkgbXVzdCBiZSBjYWxsZWQKKyAgICBrQWxsU3RvcmFnZUZsYWdz
PTB4MWYsCisKKyAgICBrTGVuZ3RoU2hpZnQ9NSwgICAgIC8vIHJlbWFpbmluZyAxMSBiaXRzIGZv
ciBub24tbmVnYXRpdmUgc2hvcnQgbGVuZ3RoLCBvciBuZWdhdGl2ZSBpZiBsb25nCisgICAga0xl
bmd0aDE9MTw8a0xlbmd0aFNoaWZ0LAorICAgIGtNYXhTaG9ydExlbmd0aD0weDNmZiwgIC8vIG1h
eCBub24tbmVnYXRpdmUgc2hvcnQgbGVuZ3RoIChsZWF2ZXMgdG9wIGJpdCAwKQorICAgIGtMZW5n
dGhJc0xhcmdlPTB4ZmZlMCwgIC8vIHNob3J0IGxlbmd0aCA8IDAsIHJlYWwgbGVuZ3RoIGlzIGlu
IGZVbmlvbi5mRmllbGRzLmZMZW5ndGgKIAogICAgIC8vIGNvbWJpbmVkIHZhbHVlcyBmb3IgY29u
dmVuaWVuY2UKICAgICBrU2hvcnRTdHJpbmc9a1VzaW5nU3RhY2tCdWZmZXIsCkBAIC0zNTE1LDM2
ICszNTI3LDQyIEBAIHByaXZhdGU6CiAgICAqIC0gc2l6ZW9mKGNsYXNzIFVuaWNvZGVTdHJpbmcp
CiAgICAqIC0gb2Zmc2V0b2YoVW5pY29kZVN0cmluZywgZlVuaW9uKQogICAgKiAtIHNpemVvZihm
VW5pb24pCi0gICAqIC0gc2l6ZW9mKGZGaWVsZHMpCisgICAqIC0gc2l6ZW9mKGZTdGFja0ZpZWxk
cykKICAgICoKLSAgICogSW4gb3JkZXIgdG8gYXZvaWQgcGFkZGluZywgd2UgbWFrZSBzaXplb2Yo
ZlN0YWNrQnVmZmVyKT0xNiAoPTggVUNoYXJzKQotICAgKiB3aGljaCBpcyBhdCBsZWFzdCBhcyBs
YXJnZSBhcyBzaXplb2YoZkZpZWxkcykgb24gMzItYml0IGFuZCA2NC1iaXQgbWFjaGluZXMuCi0g
ICAqIChQYWRkaW5nIGF0IHRoZSBlbmQgb2YgZkZpZWxkcyBpcyBvazoKLSAgICogQXMgbG9uZyBh
cyB0aGVyZSBpcyBubyBwYWRkaW5nIGFmdGVyIGZTdGFja0J1ZmZlciwgaXQgaXMgbm90IHdhc3Rl
ZCBzcGFjZS4pCisgICAqIFdlIG9wdGltaXplIGZvciB0aGUgbG9uZ2VzdCBwb3NzaWJsZSBpbnRl
cm5hbCBidWZmZXIgZm9yIHNob3J0IHN0cmluZ3MuCisgICAqIGZVbmlvbi5mU3RhY2tGaWVsZHMg
YmVnaW5zIHdpdGggMiBieXRlcyBmb3Igc3RvcmFnZSBmbGFncworICAgKiBhbmQgdGhlIGxlbmd0
aCBvZiByZWxhdGl2ZWx5IHNob3J0IHN0cmluZ3MsCisgICAqIGZvbGxvd2VkIGJ5IHRoZSBidWZm
ZXIgZm9yIHNob3J0IHN0cmluZyBjb250ZW50cy4KKyAgICogVGhlcmUgaXMgbm8gcGFkZGluZyBp
bnNpZGUgZlN0YWNrRmllbGRzLgogICAgKgotICAgKiBXZSBmdXJ0aGVyIGFzc3VtZSB0aGF0IHRo
ZSBjb21waWxlciBkb2VzIG5vdCByZW9yZGVyIHRoZSBmaWVsZHMsCi0gICAqIHNvIHRoYXQgZlJl
c3RPZlN0YWNrQnVmZmVyICh3aGljaCBob2xkcyBhIGZldyBtb3JlIFVDaGFycykgaW1tZWRpYXRl
bHkgZm9sbG93cyBhZnRlciBmVW5pb24sCi0gICAqIHdpdGggYXQgbW9zdCBzb21lIHBhZGRpbmcg
KGJ1dCBubyBvdGhlciBmaWVsZCkgaW4gYmV0d2Vlbi4KLSAgICogKFBhZGRpbmcgdGhlcmUgd291
bGQgYmUgd2FzdGVkIHNwYWNlLCBidXQgZnVuY3Rpb25hbGx5IGhhcm1sZXNzLikKKyAgICogSGVh
cC1hbGxvY2F0ZWQgYW5kIGFsaWFzZWQgc3RyaW5ncyB1c2UgZlVuaW9uLmZGaWVsZHMuCisgICAq
IEJvdGggZlN0YWNrRmllbGRzIGFuZCBmRmllbGRzIG11c3QgYmVnaW4gd2l0aCB0aGUgc2FtZSBm
aWVsZHMgZm9yIGZsYWdzIGFuZCBzaG9ydCBsZW5ndGgsCisgICAqIHRoYXQgaXMsIHRob3NlIG11
c3QgaGF2ZSB0aGUgc2FtZSBtZW1vcnkgb2Zmc2V0cyBpbnNpZGUgdGhlIG9iamVjdCwKKyAgICog
YmVjYXVzZSB0aGUgZmxhZ3MgbXVzdCBiZSBpbnNwZWN0ZWQgaW4gb3JkZXIgdG8gZGVjaWRlIHdo
aWNoIGhhbGYgb2YgZlVuaW9uIGlzIGJlaW5nIHVzZWQuCisgICAqIFdlIGFzc3VtZSB0aGF0IHRo
ZSBjb21waWxlciBkb2VzIG5vdCByZW9yZGVyIHRoZSBmaWVsZHMuCiAgICAqCi0gICAqIFdlIHVz
ZSBhIGZldyBtb3JlIHNpemVvZihwb2ludGVyKSdzIGNodW5rcyBvZiBzcGFjZSB3aXRoCi0gICAq
IGZSZXN0T2ZTdGFja0J1ZmZlciwgZlNob3J0TGVuZ3RoIGFuZCBmRmxhZ3MsCi0gICAqIHRvIGdl
dCB1cCBleGFjdGx5IHRvIHRoZSBpbnRlbmRlZCBzaXplb2YoVW5pY29kZVN0cmluZykuCisgICAq
IChQYWRkaW5nIGF0IHRoZSBlbmQgb2YgZkZpZWxkcyBpcyBvazoKKyAgICogQXMgbG9uZyBhcyBp
dCBpcyBubyBsYXJnZXIgdGhhbiBmU3RhY2tGaWVsZHMsIGl0IGlzIG5vdCB3YXN0ZWQgc3BhY2Uu
KQorICAgKgorICAgKiBGb3Igc29tZSBvZiB0aGUgaGlzdG9yeSBvZiB0aGUgVW5pY29kZVN0cmlu
ZyBjbGFzcyBmaWVsZHMgbGF5b3V0LAorICAgKiBzZWUgSUNVIHRpY2tldCAjMTEzMzYgIlVuaWNv
ZGVTdHJpbmc6IHJlY29tYmluZSBzdGFjayBidWZmZXIgYXJyYXlzIgorICAgKiBhbmQgdGlja2V0
ICM4MzIyICJ3aHkgaXMgc2l6ZW9mKFVuaWNvZGVTdHJpbmcpPT00OD8iLgogICAgKi8KICAgLy8g
KGltcGxpY2l0KSAqdnRhYmxlOwogICB1bmlvbiBTdGFja0J1ZmZlck9yRmllbGRzIHsKLSAgICAv
LyBmU3RhY2tCdWZmZXIgaXMgdXNlZCBpZmYgKGZGbGFncyZrVXNpbmdTdGFja0J1ZmZlcikKLSAg
ICAvLyBlbHNlIGZGaWVsZHMgaXMgdXNlZAotICAgIFVDaGFyIGZTdGFja0J1ZmZlcls4XTsgIC8v
IGJ1ZmZlciBmb3Igc2hvcnQgc3RyaW5ncywgdG9nZXRoZXIgd2l0aCBmUmVzdE9mU3RhY2tCdWZm
ZXIKKyAgICAvLyBmU3RhY2tGaWVsZHMgaXMgdXNlZCBpZmYgKGZMZW5ndGhBbmRGbGFncyZrVXNp
bmdTdGFja0J1ZmZlcikgZWxzZSBmRmllbGRzIGlzIHVzZWQuCisgICAgLy8gRWFjaCBzdHJ1Y3Qg
b2YgdGhlIHVuaW9uIG11c3QgYmVnaW4gd2l0aCBmTGVuZ3RoQW5kRmxhZ3MuCisgICAgc3RydWN0
IHsKKyAgICAgIGludDE2X3QgZkxlbmd0aEFuZEZsYWdzOyAgICAgICAgICAvLyBiaXQgZmllbGRz
OiBzZWUgY29uc3RhbnRzIGFib3ZlCisgICAgICBVQ2hhciBmQnVmZmVyW1VTX1NUQUNLQlVGX1NJ
WkVdOyAgLy8gYnVmZmVyIGZvciBzaG9ydCBzdHJpbmdzCisgICAgfSBmU3RhY2tGaWVsZHM7CiAg
ICAgc3RydWN0IHsKKyAgICAgIGludDE2X3QgZkxlbmd0aEFuZEZsYWdzOyAgICAgICAgICAvLyBi
aXQgZmllbGRzOiBzZWUgY29uc3RhbnRzIGFib3ZlCiAgICAgICBVQ2hhciAgICpmQXJyYXk7ICAg
IC8vIHRoZSBVbmljb2RlIGRhdGEKICAgICAgIGludDMyX3QgZkNhcGFjaXR5OyAgLy8gY2FwYWNp
dHkgb2YgZkFycmF5IChpbiBVQ2hhcnMpCiAgICAgICBpbnQzMl90IGZMZW5ndGg7ICAgIC8vIG51
bWJlciBvZiBjaGFyYWN0ZXJzIGluIGZBcnJheSBpZiA+MTI3OyBlbHNlIHVuZGVmaW5lZAogICAg
IH0gZkZpZWxkczsKICAgfSBmVW5pb247Ci0gIFVDaGFyIGZSZXN0T2ZTdGFja0J1ZmZlcltVU19T
VEFDS0JVRl9TSVpFLThdOwotICBpbnQ4X3QgZlNob3J0TGVuZ3RoOyAgLy8gMC4uMTI3OiBsZW5n
dGggIDwwOiByZWFsIGxlbmd0aCBpcyBpbiBmVW5pb24uZkZpZWxkcy5mTGVuZ3RoCi0gIHVpbnQ4
X3QgZkZsYWdzOyAgICAgICAvLyBiaXQgZmxhZ3M6IHNlZSBjb25zdGFudHMgYWJvdmUKIH07CiAK
IC8qKgpAQCAtMzU5NiwzMyArMzYxNCw1MSBAQCBVbmljb2RlU3RyaW5nOjpwaW5JbmRpY2VzKGlu
dDMyX3QmIHN0YXJ0LAogfQogCiBpbmxpbmUgVUNoYXIqCi1Vbmljb2RlU3RyaW5nOjpnZXRBcnJh
eVN0YXJ0KCkKLXsgcmV0dXJuIChmRmxhZ3Mma1VzaW5nU3RhY2tCdWZmZXIpID8gZlVuaW9uLmZT
dGFja0J1ZmZlciA6IGZVbmlvbi5mRmllbGRzLmZBcnJheTsgfQorVW5pY29kZVN0cmluZzo6Z2V0
QXJyYXlTdGFydCgpIHsKKyAgcmV0dXJuIChmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3Mm
a1VzaW5nU3RhY2tCdWZmZXIpID8KKyAgICBmVW5pb24uZlN0YWNrRmllbGRzLmZCdWZmZXIgOiBm
VW5pb24uZkZpZWxkcy5mQXJyYXk7Cit9CiAKIGlubGluZSBjb25zdCBVQ2hhcioKLVVuaWNvZGVT
dHJpbmc6OmdldEFycmF5U3RhcnQoKSBjb25zdAoteyByZXR1cm4gKGZGbGFncyZrVXNpbmdTdGFj
a0J1ZmZlcikgPyBmVW5pb24uZlN0YWNrQnVmZmVyIDogZlVuaW9uLmZGaWVsZHMuZkFycmF5OyB9
CitVbmljb2RlU3RyaW5nOjpnZXRBcnJheVN0YXJ0KCkgY29uc3QgeworICByZXR1cm4gKGZVbmlv
bi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncyZrVXNpbmdTdGFja0J1ZmZlcikgPworICAgIGZVbmlv
bi5mU3RhY2tGaWVsZHMuZkJ1ZmZlciA6IGZVbmlvbi5mRmllbGRzLmZBcnJheTsKK30KIAogLy89
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAvLyBEZWZhdWx0IGNvbnN0
cnVjdG9yCiAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogaW5s
aW5lCi1Vbmljb2RlU3RyaW5nOjpVbmljb2RlU3RyaW5nKCkKLSAgOiBmU2hvcnRMZW5ndGgoMCks
Ci0gICAgZkZsYWdzKGtTaG9ydFN0cmluZykKLXt9CitVbmljb2RlU3RyaW5nOjpVbmljb2RlU3Ry
aW5nKCkgeworICBmVW5pb24uZlN0YWNrRmllbGRzLmZMZW5ndGhBbmRGbGFncz1rU2hvcnRTdHJp
bmc7Cit9CiAKIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLy8g
UmVhZC1vbmx5IGltcGxlbWVudGF0aW9uIG1ldGhvZHMKIC8vPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQoraW5saW5lIFVCb29sCitVbmljb2RlU3RyaW5nOjpoYXNTaG9y
dExlbmd0aCgpIGNvbnN0IHsKKyAgcmV0dXJuIGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRGbGFn
cz49MDsKK30KKwogaW5saW5lIGludDMyX3QKLVVuaWNvZGVTdHJpbmc6Omxlbmd0aCgpIGNvbnN0
Ci17IHJldHVybiBmU2hvcnRMZW5ndGg+PTAgPyBmU2hvcnRMZW5ndGggOiBmVW5pb24uZkZpZWxk
cy5mTGVuZ3RoOyB9CitVbmljb2RlU3RyaW5nOjpnZXRTaG9ydExlbmd0aCgpIGNvbnN0IHsKKyAg
Ly8gZkxlbmd0aEFuZEZsYWdzIG11c3QgYmUgbm9uLW5lZ2F0aXZlIC0+IHNob3J0IGxlbmd0aCA+
PSAwCisgIC8vIGFuZCBhcml0aG1ldGljIG9yIGxvZ2ljYWwgc2hpZnQgZG9lcyBub3QgbWF0dGVy
LgorICByZXR1cm4gZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzPj5rTGVuZ3RoU2hpZnQ7
Cit9CisKK2lubGluZSBpbnQzMl90CitVbmljb2RlU3RyaW5nOjpsZW5ndGgoKSBjb25zdCB7Cisg
IHJldHVybiBoYXNTaG9ydExlbmd0aCgpID8gZ2V0U2hvcnRMZW5ndGgoKSA6IGZVbmlvbi5mRmll
bGRzLmZMZW5ndGg7Cit9CiAKIGlubGluZSBpbnQzMl90Ci1Vbmljb2RlU3RyaW5nOjpnZXRDYXBh
Y2l0eSgpIGNvbnN0Ci17IHJldHVybiAoZkZsYWdzJmtVc2luZ1N0YWNrQnVmZmVyKSA/IFVTX1NU
QUNLQlVGX1NJWkUgOiBmVW5pb24uZkZpZWxkcy5mQ2FwYWNpdHk7IH0KK1VuaWNvZGVTdHJpbmc6
OmdldENhcGFjaXR5KCkgY29uc3QgeworICByZXR1cm4gKGZVbmlvbi5mRmllbGRzLmZMZW5ndGhB
bmRGbGFncyZrVXNpbmdTdGFja0J1ZmZlcikgPworICAgIFVTX1NUQUNLQlVGX1NJWkUgOiBmVW5p
b24uZkZpZWxkcy5mQ2FwYWNpdHk7Cit9CiAKIGlubGluZSBpbnQzMl90CiBVbmljb2RlU3RyaW5n
OjpoYXNoQ29kZSgpIGNvbnN0CkBAIC0zNjMwLDI2ICszNjY2LDI2IEBAIFVuaWNvZGVTdHJpbmc6
Omhhc2hDb2RlKCkgY29uc3QKIAogaW5saW5lIFVCb29sCiBVbmljb2RlU3RyaW5nOjppc0JvZ3Vz
KCkgY29uc3QKLXsgcmV0dXJuIChVQm9vbCkoZkZsYWdzICYga0lzQm9ndXMpOyB9Cit7IHJldHVy
biAoVUJvb2wpKGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncyAmIGtJc0JvZ3VzKTsgfQog
CiBpbmxpbmUgVUJvb2wKIFVuaWNvZGVTdHJpbmc6OmlzV3JpdGFibGUoKSBjb25zdAoteyByZXR1
cm4gKFVCb29sKSEoZkZsYWdzJihrT3BlbkdldEJ1ZmZlcnxrSXNCb2d1cykpOyB9Cit7IHJldHVy
biAoVUJvb2wpIShmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MmKGtPcGVuR2V0QnVmZmVy
fGtJc0JvZ3VzKSk7IH0KIAogaW5saW5lIFVCb29sCiBVbmljb2RlU3RyaW5nOjppc0J1ZmZlcldy
aXRhYmxlKCkgY29uc3QKIHsKICAgcmV0dXJuIChVQm9vbCkoCi0gICAgICAhKGZGbGFncyYoa09w
ZW5HZXRCdWZmZXJ8a0lzQm9ndXN8a0J1ZmZlcklzUmVhZG9ubHkpKSAmJgotICAgICAgKCEoZkZs
YWdzJmtSZWZDb3VudGVkKSB8fCByZWZDb3VudCgpPT0xKSk7CisgICAgICAhKGZVbmlvbi5mRmll
bGRzLmZMZW5ndGhBbmRGbGFncyYoa09wZW5HZXRCdWZmZXJ8a0lzQm9ndXN8a0J1ZmZlcklzUmVh
ZG9ubHkpKSAmJgorICAgICAgKCEoZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzJmtSZWZD
b3VudGVkKSB8fCByZWZDb3VudCgpPT0xKSk7CiB9CiAKIGlubGluZSBjb25zdCBVQ2hhciAqCiBV
bmljb2RlU3RyaW5nOjpnZXRCdWZmZXIoKSBjb25zdCB7Ci0gIGlmKGZGbGFncyYoa0lzQm9ndXN8
a09wZW5HZXRCdWZmZXIpKSB7CisgIGlmKGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncyYo
a0lzQm9ndXN8a09wZW5HZXRCdWZmZXIpKSB7CiAgICAgcmV0dXJuIDA7Ci0gIH0gZWxzZSBpZihm
RmxhZ3Mma1VzaW5nU3RhY2tCdWZmZXIpIHsKLSAgICByZXR1cm4gZlVuaW9uLmZTdGFja0J1ZmZl
cjsKKyAgfSBlbHNlIGlmKGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncyZrVXNpbmdTdGFj
a0J1ZmZlcikgeworICAgIHJldHVybiBmVW5pb24uZlN0YWNrRmllbGRzLmZCdWZmZXI7CiAgIH0g
ZWxzZSB7CiAgICAgcmV0dXJuIGZVbmlvbi5mRmllbGRzLmZBcnJheTsKICAgfQpAQCAtNDI1MCwy
NiArNDI4NiwzOCBAQCBVbmljb2RlU3RyaW5nOjpvcGVyYXRvcltdIChpbnQzMl90IG9mZnNldCkg
Y29uc3QKIAogaW5saW5lIFVCb29sCiBVbmljb2RlU3RyaW5nOjppc0VtcHR5KCkgY29uc3Qgewot
ICByZXR1cm4gZlNob3J0TGVuZ3RoID09IDA7CisgIC8vIEFyaXRobWV0aWMgb3IgbG9naWNhbCBy
aWdodCBzaGlmdCBkb2VzIG5vdCBtYXR0ZXI6IG9ubHkgdGVzdGluZyBmb3IgMC4KKyAgcmV0dXJu
IChmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3M+PmtMZW5ndGhTaGlmdCkgPT0gMDsKIH0K
IAogLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAvLyBXcml0ZSBp
bXBsZW1lbnRhdGlvbiBtZXRob2RzCiAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KIGlubGluZSB2b2lkCitVbmljb2RlU3RyaW5nOjpzZXRaZXJvTGVuZ3RoKCkgewor
ICBmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MgJj0ga0FsbFN0b3JhZ2VGbGFnczsKK30K
KworaW5saW5lIHZvaWQKK1VuaWNvZGVTdHJpbmc6OnNldFNob3J0TGVuZ3RoKGludDMyX3QgbGVu
KSB7CisgIC8vIHJlcXVpcmVzIDAgPD0gbGVuIDw9IGtNYXhTaG9ydExlbmd0aAorICBmVW5pb24u
ZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MgPQorICAgIChpbnQxNl90KSgoZlVuaW9uLmZGaWVsZHMu
Zkxlbmd0aEFuZEZsYWdzICYga0FsbFN0b3JhZ2VGbGFncykgfCAobGVuIDw8IGtMZW5ndGhTaGlm
dCkpOworfQorCitpbmxpbmUgdm9pZAogVW5pY29kZVN0cmluZzo6c2V0TGVuZ3RoKGludDMyX3Qg
bGVuKSB7Ci0gIGlmKGxlbiA8PSAxMjcpIHsKLSAgICBmU2hvcnRMZW5ndGggPSAoaW50OF90KWxl
bjsKKyAgaWYobGVuIDw9IGtNYXhTaG9ydExlbmd0aCkgeworICAgIHNldFNob3J0TGVuZ3RoKGxl
bik7CiAgIH0gZWxzZSB7Ci0gICAgZlNob3J0TGVuZ3RoID0gKGludDhfdCktMTsKKyAgICBmVW5p
b24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MgfD0ga0xlbmd0aElzTGFyZ2U7CiAgICAgZlVuaW9u
LmZGaWVsZHMuZkxlbmd0aCA9IGxlbjsKICAgfQogfQogCiBpbmxpbmUgdm9pZAogVW5pY29kZVN0
cmluZzo6c2V0VG9FbXB0eSgpIHsKLSAgZlNob3J0TGVuZ3RoID0gMDsKLSAgZkZsYWdzID0ga1No
b3J0U3RyaW5nOworICBmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MgPSBrU2hvcnRTdHJp
bmc7CiB9CiAKIGlubGluZSB2b2lkCkBAIC00NDE0LDcgKzQ0NjIsNyBAQCBVbmljb2RlU3RyaW5n
OjpyZW1vdmUoKQogICBpZihpc0JvZ3VzKCkpIHsKICAgICBzZXRUb0VtcHR5KCk7CiAgIH0gZWxz
ZSB7Ci0gICAgZlNob3J0TGVuZ3RoID0gMDsKKyAgICBzZXRaZXJvTGVuZ3RoKCk7CiAgIH0KICAg
cmV0dXJuICp0aGlzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9pY3UvdW5pY29kZS91cmVu
YW1lLmggYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VyZW5hbWUuaAppbmRleCA2YjFmNDkwOTg3
NTA2OWI0ZDlmZWVmZGQ3NDgzZjVhMDNmYzUwNzVmLi4zMTNmMjcxYWIzMWVhNzE3NTEyZDg0NThh
N2VmNTE3MGI2ZTAwZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VyZW5h
bWUuaAorKysgYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VyZW5hbWUuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAyMDAyLTIw
MTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDIw
MDItMjAxNSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9u
IGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgogKgpAQCAtMTA0LDcgKzEwNCw3IEBACiAjZGVmaW5lIF9VVEY3RGF0YSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUoX1VURjdEYXRhKQogI2RlZmluZSBfVVRGOERhdGEgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKF9VVEY4RGF0YSkKICNkZWZpbmUgY21lbW9yeV9jbGVhbnVwIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRShjbWVtb3J5X2NsZWFudXApCi0jZGVmaW5lIGNtZW1vcnlfaW5Vc2UgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKGNtZW1vcnlfaW5Vc2UpCisjZGVmaW5lIGdUaW1lWm9uZUZp
bGVzSW5pdE9uY2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKGdUaW1lWm9uZUZpbGVzSW5pdE9u
Y2UpCiAjZGVmaW5lIGl6cnVsZV9jbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoaXpydWxl
X2Nsb25lKQogI2RlZmluZSBpenJ1bGVfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKGl6
cnVsZV9jbG9zZSkKICNkZWZpbmUgaXpydWxlX2VxdWFscyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUoaXpydWxlX2VxdWFscykKQEAgLTIwMyw2ICsyMDMsNyBAQAogI2RlZmluZSB1X1VDaGFyc1Rv
Q2hhcnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfVUNoYXJzVG9DaGFycykKICNkZWZpbmUg
dV9hdXN0cmNweSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9hdXN0cmNweSkKICNkZWZpbmUg
dV9hdXN0cm5jcHkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfYXVzdHJuY3B5KQorI2RlZmlu
ZSB1X2Nhc2VJbnNlbnNpdGl2ZVByZWZpeE1hdGNoIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
X2Nhc2VJbnNlbnNpdGl2ZVByZWZpeE1hdGNoKQogI2RlZmluZSB1X2NhdGNsb3NlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1X2NhdGNsb3NlKQogI2RlZmluZSB1X2NhdGdldHMgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVfY2F0Z2V0cykKICNkZWZpbmUgdV9jYXRvcGVuIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1X2NhdG9wZW4pCkBAIC0yMzksNiArMjQwLDcgQEAKICNkZWZpbmUgdV9m
bHVzaERlZmF1bHRDb252ZXJ0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZmx1c2hEZWZh
dWx0Q29udmVydGVyKQogI2RlZmluZSB1X2ZvbGRDYXNlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1X2ZvbGRDYXNlKQogI2RlZmluZSB1X2ZvcGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
X2ZvcGVuKQorI2RlZmluZSB1X2ZvcGVuX3UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9w
ZW5fdSkKICNkZWZpbmUgdV9mb3JEaWdpdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb3JE
aWdpdCkKICNkZWZpbmUgdV9mb3JtYXRNZXNzYWdlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
X2Zvcm1hdE1lc3NhZ2UpCiAjZGVmaW5lIHVfZm9ybWF0TWVzc2FnZVdpdGhFcnJvciBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodV9mb3JtYXRNZXNzYWdlV2l0aEVycm9yKQpAQCAtMjcwLDYgKzI3
Miw3IEBACiAjZGVmaW5lIHVfZ2V0UHJvcGVydHlOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1X2dldFByb3BlcnR5TmFtZSkKICNkZWZpbmUgdV9nZXRQcm9wZXJ0eVZhbHVlRW51bSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRQcm9wZXJ0eVZhbHVlRW51bSkKICNkZWZpbmUgdV9n
ZXRQcm9wZXJ0eVZhbHVlTmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRQcm9wZXJ0
eVZhbHVlTmFtZSkKKyNkZWZpbmUgdV9nZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5IFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1X2dldFRpbWVab25lRmlsZXNEaXJlY3RvcnkpCiAjZGVmaW5lIHVf
Z2V0VW5pY29kZVByb3BlcnRpZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZ2V0VW5pY29k
ZVByb3BlcnRpZXMpCiAjZGVmaW5lIHVfZ2V0VW5pY29kZVZlcnNpb24gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVfZ2V0VW5pY29kZVZlcnNpb24pCiAjZGVmaW5lIHVfZ2V0VmVyc2lvbiBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRWZXJzaW9uKQpAQCAtMzMxLDYgKzMzNCw3IEBACiAj
ZGVmaW5lIHVfc2V0RGF0YURpcmVjdG9yeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9zZXRE
YXRhRGlyZWN0b3J5KQogI2RlZmluZSB1X3NldE1lbW9yeUZ1bmN0aW9ucyBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodV9zZXRNZW1vcnlGdW5jdGlvbnMpCiAjZGVmaW5lIHVfc2V0TXV0ZXhGdW5j
dGlvbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc2V0TXV0ZXhGdW5jdGlvbnMpCisjZGVm
aW5lIHVfc2V0VGltZVpvbmVGaWxlc0RpcmVjdG9yeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dV9zZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5KQogI2RlZmluZSB1X3NoYXBlQXJhYmljIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NoYXBlQXJhYmljKQogI2RlZmluZSB1X3NucHJpbnRmIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NucHJpbnRmKQogI2RlZmluZSB1X3NucHJpbnRmX3Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc25wcmludGZfdSkKQEAgLTQxMyw5ICs0MTcsNyBA
QAogI2RlZmluZSB1X3ZzcHJpbnRmX3UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfdnNwcmlu
dGZfdSkKICNkZWZpbmUgdV92c3NjYW5mIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3Zzc2Nh
bmYpCiAjZGVmaW5lIHVfdnNzY2FuZl91IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3Zzc2Nh
bmZfdSkKLSNkZWZpbmUgdV93cml0ZURpZmYgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfd3Jp
dGVEaWZmKQogI2RlZmluZSB1X3dyaXRlSWRlbnRpY2FsTGV2ZWxSdW4gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVfd3JpdGVJZGVudGljYWxMZXZlbFJ1bikKLSNkZWZpbmUgdV93cml0ZUlkZW50
aWNhbExldmVsUnVuVHdvQ2hhcnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfd3JpdGVJZGVu
dGljYWxMZXZlbFJ1blR3b0NoYXJzKQogI2RlZmluZSB1YmlkaV9hZGRQcm9wZXJ0eVN0YXJ0cyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWJpZGlfYWRkUHJvcGVydHlTdGFydHMpCiAjZGVmaW5l
IHViaWRpX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1YmlkaV9jbG9zZSkKICNkZWZp
bmUgdWJpZGlfY291bnRQYXJhZ3JhcGhzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1YmlkaV9j
b3VudFBhcmFncmFwaHMpCkBAIC00OTQsNiArNDk2LDkgQEAKICNkZWZpbmUgdWJya19zZXRUZXh0
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1YnJrX3NldFRleHQpCiAjZGVmaW5lIHVicmtfc2V0
VVRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVicmtfc2V0VVRleHQpCiAjZGVmaW5lIHVi
cmtfc3dhcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWJya19zd2FwKQorI2RlZmluZSB1Y2Fj
aGVfY29tcGFyZUtleXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjYWNoZV9jb21wYXJlS2V5
cykKKyNkZWZpbmUgdWNhY2hlX2RlbGV0ZUtleSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNh
Y2hlX2RlbGV0ZUtleSkKKyNkZWZpbmUgdWNhY2hlX2hhc2hLZXlzIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y2FjaGVfaGFzaEtleXMpCiAjZGVmaW5lIHVjYWxfYWRkIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y2FsX2FkZCkKICNkZWZpbmUgdWNhbF9jbGVhciBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNhbF9jbGVhcikKICNkZWZpbmUgdWNhbF9jbGVhckZpZWxkIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y2FsX2NsZWFyRmllbGQpCkBAIC02OTAsNDcgKzY5NSwyOSBAQAogI2Rl
ZmluZSB1Y252c2VsX3NlbGVjdEZvclN0cmluZyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNu
dnNlbF9zZWxlY3RGb3JTdHJpbmcpCiAjZGVmaW5lIHVjbnZzZWxfc2VsZWN0Rm9yVVRGOCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNudnNlbF9zZWxlY3RGb3JVVEY4KQogI2RlZmluZSB1Y252
c2VsX3NlcmlhbGl6ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNudnNlbF9zZXJpYWxpemUp
Ci0jZGVmaW5lIHVjb2xfYWxsb2NXZWlnaHRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2FsbG9jV2VpZ2h0cykKLSNkZWZpbmUgdWNvbF9hc3NlbWJsZVRhaWxvcmluZ1RhYmxlIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2Fzc2VtYmxlVGFpbG9yaW5nVGFibGUpCi0jZGVmaW5l
IHVjb2xfYnVpbGRQZXJtdXRhdGlvblRhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2J1aWxkUGVybXV0YXRpb25UYWJsZSkKLSNkZWZpbmUgdWNvbF9jYWxjU29ydEtleSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jYWxjU29ydEtleSkKLSNkZWZpbmUgdWNvbF9jYWxjU29y
dEtleVNpbXBsZVRlcnRpYXJ5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2NhbGNTb3J0
S2V5U2ltcGxlVGVydGlhcnkpCiAjZGVmaW5lIHVjb2xfY2xvbmVCaW5hcnkgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfY2xvbmVCaW5hcnkpCiAjZGVmaW5lIHVjb2xfY2xvc2UgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfY2xvc2UpCiAjZGVmaW5lIHVjb2xfY2xvc2VFbGVtZW50
cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jbG9zZUVsZW1lbnRzKQogI2RlZmluZSB1
Y29sX2NvdW50QXZhaWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2NvdW50QXZh
aWxhYmxlKQotI2RlZmluZSB1Y29sX2NyZWF0ZUVsZW1lbnRzIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX2NyZWF0ZUVsZW1lbnRzKQotI2RlZmluZSB1Y29sX2RvQ0UgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfZG9DRSkKICNkZWZpbmUgdWNvbF9lcXVhbCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9lcXVhbCkKICNkZWZpbmUgdWNvbF9lcXVhbHMgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfZXF1YWxzKQotI2RlZmluZSB1Y29sX2ZpbmRSZW9yZGVyaW5nRW50
cnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZmluZFJlb3JkZXJpbmdFbnRyeSkKLSNk
ZWZpbmUgdWNvbF9mb3JjZUhhbkltcGxpY2l0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2ZvcmNlSGFuSW1wbGljaXQpCi0jZGVmaW5lIHVjb2xfZm9yZ2V0VUNBIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y29sX2ZvcmdldFVDQSkKLSNkZWZpbmUgdWNvbF9mcmVlT2Zmc2V0QnVmZmVy
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2ZyZWVPZmZzZXRCdWZmZXIpCiAjZGVmaW5l
IHVjb2xfZ2V0QXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEF0dHJp
YnV0ZSkKLSNkZWZpbmUgdWNvbF9nZXRBdHRyaWJ1dGVPckRlZmF1bHQgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfZ2V0QXR0cmlidXRlT3JEZWZhdWx0KQogI2RlZmluZSB1Y29sX2dldEF2
YWlsYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRBdmFpbGFibGUpCiAjZGVm
aW5lIHVjb2xfZ2V0Qm91bmQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0Qm91bmQp
Ci0jZGVmaW5lIHVjb2xfZ2V0Q0VTdHJlbmd0aERpZmZlcmVuY2UgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfZ2V0Q0VTdHJlbmd0aERpZmZlcmVuY2UpCi0jZGVmaW5lIHVjb2xfZ2V0Q29s
bGF0aW9uS2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldENvbGxhdGlvbktleSkK
ICNkZWZpbmUgdWNvbF9nZXRDb250cmFjdGlvbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfZ2V0Q29udHJhY3Rpb25zKQogI2RlZmluZSB1Y29sX2dldENvbnRyYWN0aW9uc0FuZEV4cGFu
c2lvbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0Q29udHJhY3Rpb25zQW5kRXhw
YW5zaW9ucykKICNkZWZpbmUgdWNvbF9nZXREaXNwbGF5TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWNvbF9nZXREaXNwbGF5TmFtZSkKICNkZWZpbmUgdWNvbF9nZXRFcXVpdmFsZW50UmVv
cmRlckNvZGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEVxdWl2YWxlbnRSZW9y
ZGVyQ29kZXMpCi0jZGVmaW5lIHVjb2xfZ2V0Rmlyc3RDRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9nZXRGaXJzdENFKQogI2RlZmluZSB1Y29sX2dldEZ1bmN0aW9uYWxFcXVpdmFsZW50
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEZ1bmN0aW9uYWxFcXVpdmFsZW50KQog
I2RlZmluZSB1Y29sX2dldEtleXdvcmRWYWx1ZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfZ2V0S2V5d29yZFZhbHVlcykKICNkZWZpbmUgdWNvbF9nZXRLZXl3b3JkVmFsdWVzRm9yTG9j
YWxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEtleXdvcmRWYWx1ZXNGb3JMb2Nh
bGUpCiAjZGVmaW5lIHVjb2xfZ2V0S2V5d29yZHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfZ2V0S2V5d29yZHMpCi0jZGVmaW5lIHVjb2xfZ2V0TGVhZEJ5dGVzRm9yUmVvcmRlckNvZGUg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TGVhZEJ5dGVzRm9yUmVvcmRlckNvZGUp
CiAjZGVmaW5lIHVjb2xfZ2V0TG9jYWxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dl
dExvY2FsZSkKICNkZWZpbmUgdWNvbF9nZXRMb2NhbGVCeVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfZ2V0TG9jYWxlQnlUeXBlKQogI2RlZmluZSB1Y29sX2dldE1heEV4cGFuc2lv
biBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRNYXhFeHBhbnNpb24pCi0jZGVmaW5l
IHVjb2xfZ2V0TmV4dENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldE5leHRDRSkK
KyNkZWZpbmUgdWNvbF9nZXRNYXhWYXJpYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9nZXRNYXhWYXJpYWJsZSkKICNkZWZpbmUgdWNvbF9nZXRPZmZzZXQgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfZ2V0T2Zmc2V0KQotI2RlZmluZSB1Y29sX2dldFByZXZDRSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRQcmV2Q0UpCiAjZGVmaW5lIHVjb2xfZ2V0UmVvcmRl
ckNvZGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFJlb3JkZXJDb2RlcykKLSNk
ZWZpbmUgdWNvbF9nZXRSZW9yZGVyQ29kZXNGb3JMZWFkQnl0ZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWNvbF9nZXRSZW9yZGVyQ29kZXNGb3JMZWFkQnl0ZSkKICNkZWZpbmUgdWNvbF9nZXRS
dWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRSdWxlcykKICNkZWZpbmUgdWNv
bF9nZXRSdWxlc0V4IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFJ1bGVzRXgpCiAj
ZGVmaW5lIHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3RyaW5nIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX2dldFNob3J0RGVmaW5pdGlvblN0cmluZykKQEAgLTc0MywyMCArNzMwLDExIEBA
CiAjZGVmaW5lIHVjb2xfZ2V0VmVyc2lvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9n
ZXRWZXJzaW9uKQogI2RlZmluZSB1Y29sX2dyZWF0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfZ3JlYXRlcikKICNkZWZpbmUgdWNvbF9ncmVhdGVyT3JFcXVhbCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9ncmVhdGVyT3JFcXVhbCkKLSNkZWZpbmUgdWNvbF9pbml0QnVmZmVy
cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pbml0QnVmZmVycykKLSNkZWZpbmUgdWNv
bF9pbml0Q29sbGF0b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaW5pdENvbGxhdG9y
KQotI2RlZmluZSB1Y29sX2luaXRJbnZlcnNlVUNBIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX2luaXRJbnZlcnNlVUNBKQotI2RlZmluZSB1Y29sX2luaXRVQ0EgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfaW5pdFVDQSkKLSNkZWZpbmUgdWNvbF9pbnZfZ2V0TmV4dENFIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2ludl9nZXROZXh0Q0UpCi0jZGVmaW5lIHVjb2xfaW52
X2dldFByZXZDRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pbnZfZ2V0UHJldkNFKQot
I2RlZmluZSB1Y29sX2lzVGFpbG9yZWQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaXNU
YWlsb3JlZCkKICNkZWZpbmUgdWNvbF9rZXlIYXNoQ29kZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9rZXlIYXNoQ29kZSkKICNkZWZpbmUgdWNvbF9sb29rc0xpa2VDb2xsYXRpb25CaW5h
cnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfbG9va3NMaWtlQ29sbGF0aW9uQmluYXJ5
KQogI2RlZmluZSB1Y29sX21lcmdlU29ydGtleXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfbWVyZ2VTb3J0a2V5cykKICNkZWZpbmUgdWNvbF9uZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX25leHQpCi0jZGVmaW5lIHVjb2xfbmV4dFByb2Nlc3NlZCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9uZXh0UHJvY2Vzc2VkKQogI2RlZmluZSB1Y29sX25leHRTb3J0S2V5
UGFydCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9uZXh0U29ydEtleVBhcnQpCi0jZGVm
aW5lIHVjb2xfbmV4dFdlaWdodCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9uZXh0V2Vp
Z2h0KQogI2RlZmluZSB1Y29sX25vcm1hbGl6ZVNob3J0RGVmaW5pdGlvblN0cmluZyBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9ub3JtYWxpemVTaG9ydERlZmluaXRpb25TdHJpbmcpCiAj
ZGVmaW5lIHVjb2xfb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuKQogI2Rl
ZmluZSB1Y29sX29wZW5BdmFpbGFibGVMb2NhbGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX29wZW5BdmFpbGFibGVMb2NhbGVzKQpAQCAtNzY0LDIzICs3NDIsMTcgQEAKICNkZWZpbmUg
dWNvbF9vcGVuRWxlbWVudHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlbkVsZW1l
bnRzKQogI2RlZmluZSB1Y29sX29wZW5Gcm9tU2hvcnRTdHJpbmcgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZykKICNkZWZpbmUgdWNvbF9vcGVuUnVsZXMg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlblJ1bGVzKQotI2RlZmluZSB1Y29sX29w
ZW5SdWxlc0ZvckltcG9ydCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuUnVsZXNG
b3JJbXBvcnQpCi0jZGVmaW5lIHVjb2xfb3Blbl9pbnRlcm5hbCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWNvbF9vcGVuX2ludGVybmFsKQogI2RlZmluZSB1Y29sX3ByZXBhcmVTaG9ydFN0cmlu
Z09wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcHJlcGFyZVNob3J0U3RyaW5nT3Bl
bikKICNkZWZpbmUgdWNvbF9wcmV2aW91cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9w
cmV2aW91cykKLSNkZWZpbmUgdWNvbF9wcmV2aW91c1Byb2Nlc3NlZCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9wcmV2aW91c1Byb2Nlc3NlZCkKICNkZWZpbmUgdWNvbF9wcmltYXJ5T3Jk
ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcHJpbWFyeU9yZGVyKQotI2RlZmluZSB1
Y29sX3Bydl9nZXRTcGVjaWFsQ0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcHJ2X2dl
dFNwZWNpYWxDRSkKLSNkZWZpbmUgdWNvbF9wcnZfZ2V0U3BlY2lhbFByZXZDRSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9wcnZfZ2V0U3BlY2lhbFByZXZDRSkKICNkZWZpbmUgdWNvbF9y
ZXNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9yZXNldCkKICNkZWZpbmUgdWNvbF9y
ZXN0b3JlVmFyaWFibGVUb3AgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcmVzdG9yZVZh
cmlhYmxlVG9wKQogI2RlZmluZSB1Y29sX3NhZmVDbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9zYWZlQ2xvbmUpCiAjZGVmaW5lIHVjb2xfc2Vjb25kYXJ5T3JkZXIgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfc2Vjb25kYXJ5T3JkZXIpCiAjZGVmaW5lIHVjb2xfc2V0QXR0
cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldEF0dHJpYnV0ZSkKKyNkZWZp
bmUgdWNvbF9zZXRNYXhWYXJpYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRN
YXhWYXJpYWJsZSkKICNkZWZpbmUgdWNvbF9zZXRPZmZzZXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjb2xfc2V0T2Zmc2V0KQotI2RlZmluZSB1Y29sX3NldE9wdGlvbnNGcm9tSGVhZGVyIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldE9wdGlvbnNGcm9tSGVhZGVyKQogI2RlZmlu
ZSB1Y29sX3NldFJlb3JkZXJDb2RlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRS
ZW9yZGVyQ29kZXMpCi0jZGVmaW5lIHVjb2xfc2V0UmVxVmFsaWRMb2NhbGVzIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y29sX3NldFJlcVZhbGlkTG9jYWxlcykKICNkZWZpbmUgdWNvbF9zZXRT
dHJlbmd0aCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRTdHJlbmd0aCkKICNkZWZp
bmUgdWNvbF9zZXRUZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldFRleHQpCiAj
ZGVmaW5lIHVjb2xfc2V0VmFyaWFibGVUb3AgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
c2V0VmFyaWFibGVUb3ApCkBAIC03ODgsMTYgKzc2MCw4IEBACiAjZGVmaW5lIHVjb2xfc3RyY29s
bEl0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc3RyY29sbEl0ZXIpCiAjZGVmaW5l
IHVjb2xfc3RyY29sbFVURjggVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc3RyY29sbFVU
RjgpCiAjZGVmaW5lIHVjb2xfc3dhcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zd2Fw
KQotI2RlZmluZSB1Y29sX3N3YXBCaW5hcnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
c3dhcEJpbmFyeSkKICNkZWZpbmUgdWNvbF9zd2FwSW52ZXJzZVVDQSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9zd2FwSW52ZXJzZVVDQSkKICNkZWZpbmUgdWNvbF90ZXJ0aWFyeU9yZGVy
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3RlcnRpYXJ5T3JkZXIpCi0jZGVmaW5lIHVj
b2xfdG9rX2Fzc2VtYmxlVG9rZW5MaXN0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Rv
a19hc3NlbWJsZVRva2VuTGlzdCkKLSNkZWZpbmUgdWNvbF90b2tfY2xvc2VUb2tlbkxpc3QgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9rX2Nsb3NlVG9rZW5MaXN0KQotI2RlZmluZSB1
Y29sX3Rva19nZXROZXh0QXJndW1lbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9r
X2dldE5leHRBcmd1bWVudCkKLSNkZWZpbmUgdWNvbF90b2tfZ2V0UnVsZXNGcm9tQnVuZGxlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Rva19nZXRSdWxlc0Zyb21CdW5kbGUpCi0jZGVm
aW5lIHVjb2xfdG9rX2luaXRUb2tlbkxpc3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
dG9rX2luaXRUb2tlbkxpc3QpCi0jZGVmaW5lIHVjb2xfdG9rX3BhcnNlTmV4dFRva2VuIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Rva19wYXJzZU5leHRUb2tlbikKLSNkZWZpbmUgdWNv
bF91cGRhdGVJbnRlcm5hbFN0YXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3VwZGF0
ZUludGVybmFsU3RhdGUpCiAjZGVmaW5lIHVjc2RldF9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWNzZGV0X2Nsb3NlKQogI2RlZmluZSB1Y3NkZXRfZGV0ZWN0IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y3NkZXRfZGV0ZWN0KQogI2RlZmluZSB1Y3NkZXRfZGV0ZWN0QWxsIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3NkZXRfZGV0ZWN0QWxsKQpAQCAtODE3LDE1ICs3ODEsMTkg
QEAKICNkZWZpbmUgdWN1cnJfZm9yTG9jYWxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vy
cl9mb3JMb2NhbGUpCiAjZGVmaW5lIHVjdXJyX2ZvckxvY2FsZUFuZERhdGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjdXJyX2ZvckxvY2FsZUFuZERhdGUpCiAjZGVmaW5lIHVjdXJyX2dldERl
ZmF1bHRGcmFjdGlvbkRpZ2l0cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0RGVm
YXVsdEZyYWN0aW9uRGlnaXRzKQorI2RlZmluZSB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdp
dHNGb3JVc2FnZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0RGVmYXVsdEZyYWN0
aW9uRGlnaXRzRm9yVXNhZ2UpCiAjZGVmaW5lIHVjdXJyX2dldEtleXdvcmRWYWx1ZXNGb3JMb2Nh
bGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldEtleXdvcmRWYWx1ZXNGb3JMb2Nh
bGUpCiAjZGVmaW5lIHVjdXJyX2dldE5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJy
X2dldE5hbWUpCiAjZGVmaW5lIHVjdXJyX2dldE51bWVyaWNDb2RlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y3Vycl9nZXROdW1lcmljQ29kZSkKICNkZWZpbmUgdWN1cnJfZ2V0UGx1cmFsTmFt
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0UGx1cmFsTmFtZSkKICNkZWZpbmUg
dWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJy
X2dldFJvdW5kaW5nSW5jcmVtZW50KQorI2RlZmluZSB1Y3Vycl9nZXRSb3VuZGluZ0luY3JlbWVu
dEZvclVzYWdlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXRSb3VuZGluZ0luY3Jl
bWVudEZvclVzYWdlKQogI2RlZmluZSB1Y3Vycl9pc0F2YWlsYWJsZSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWN1cnJfaXNBdmFpbGFibGUpCiAjZGVmaW5lIHVjdXJyX29wZW5JU09DdXJyZW5j
aWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9vcGVuSVNPQ3VycmVuY2llcykKICNk
ZWZpbmUgdWN1cnJfcmVnaXN0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX3JlZ2lz
dGVyKQogI2RlZmluZSB1Y3Vycl91bnJlZ2lzdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y3Vycl91bnJlZ2lzdGVyKQorI2RlZmluZSB1ZGF0X2Fkb3B0TnVtYmVyRm9ybWF0IFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2Fkb3B0TnVtYmVyRm9ybWF0KQorI2RlZmluZSB1ZGF0X2Fk
b3B0TnVtYmVyRm9ybWF0Rm9yRmllbGRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2Fk
b3B0TnVtYmVyRm9ybWF0Rm9yRmllbGRzKQogI2RlZmluZSB1ZGF0X2FwcGx5UGF0dGVybiBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9hcHBseVBhdHRlcm4pCiAjZGVmaW5lIHVkYXRfYXBw
bHlQYXR0ZXJuUmVsYXRpdmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfYXBwbHlQYXR0
ZXJuUmVsYXRpdmUpCiAjZGVmaW5lIHVkYXRfY2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVkYXRfY2xvbmUpCkBAIC04MzMsMTIgKzgwMSwxNyBAQAogI2RlZmluZSB1ZGF0X2NvdW50QXZh
aWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2NvdW50QXZhaWxhYmxlKQogI2Rl
ZmluZSB1ZGF0X2NvdW50U3ltYm9scyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9jb3Vu
dFN5bWJvbHMpCiAjZGVmaW5lIHVkYXRfZm9ybWF0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
ZGF0X2Zvcm1hdCkKKyNkZWZpbmUgdWRhdF9mb3JtYXRDYWxlbmRhciBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWRhdF9mb3JtYXRDYWxlbmRhcikKKyNkZWZpbmUgdWRhdF9mb3JtYXRDYWxlbmRh
ckZvckZpZWxkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9mb3JtYXRDYWxlbmRhckZv
ckZpZWxkcykKKyNkZWZpbmUgdWRhdF9mb3JtYXRGb3JGaWVsZHMgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVkYXRfZm9ybWF0Rm9yRmllbGRzKQogI2RlZmluZSB1ZGF0X2dldDJEaWdpdFllYXJT
dGFydCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9nZXQyRGlnaXRZZWFyU3RhcnQpCiAj
ZGVmaW5lIHVkYXRfZ2V0QXZhaWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dl
dEF2YWlsYWJsZSkKKyNkZWZpbmUgdWRhdF9nZXRCb29sZWFuQXR0cmlidXRlIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1ZGF0X2dldEJvb2xlYW5BdHRyaWJ1dGUpCiAjZGVmaW5lIHVkYXRfZ2V0
Q2FsZW5kYXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0Q2FsZW5kYXIpCiAjZGVm
aW5lIHVkYXRfZ2V0Q29udGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9nZXRDb250
ZXh0KQogI2RlZmluZSB1ZGF0X2dldExvY2FsZUJ5VHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWRhdF9nZXRMb2NhbGVCeVR5cGUpCiAjZGVmaW5lIHVkYXRfZ2V0TnVtYmVyRm9ybWF0IFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldE51bWJlckZvcm1hdCkKKyNkZWZpbmUgdWRh
dF9nZXROdW1iZXJGb3JtYXRGb3JGaWVsZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9n
ZXROdW1iZXJGb3JtYXRGb3JGaWVsZCkKICNkZWZpbmUgdWRhdF9nZXRTeW1ib2xzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldFN5bWJvbHMpCiAjZGVmaW5lIHVkYXRfaXNMZW5pZW50
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2lzTGVuaWVudCkKICNkZWZpbmUgdWRhdF9v
cGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X29wZW4pCkBAIC04NDYsNiArODE5LDcg
QEAKICNkZWZpbmUgdWRhdF9wYXJzZUNhbGVuZGFyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
ZGF0X3BhcnNlQ2FsZW5kYXIpCiAjZGVmaW5lIHVkYXRfcmVnaXN0ZXJPcGVuZXIgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVkYXRfcmVnaXN0ZXJPcGVuZXIpCiAjZGVmaW5lIHVkYXRfc2V0MkRp
Z2l0WWVhclN0YXJ0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X3NldDJEaWdpdFllYXJT
dGFydCkKKyNkZWZpbmUgdWRhdF9zZXRCb29sZWFuQXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1ZGF0X3NldEJvb2xlYW5BdHRyaWJ1dGUpCiAjZGVmaW5lIHVkYXRfc2V0Q2FsZW5k
YXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfc2V0Q2FsZW5kYXIpCiAjZGVmaW5lIHVk
YXRfc2V0Q29udGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9zZXRDb250ZXh0KQog
I2RlZmluZSB1ZGF0X3NldExlbmllbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfc2V0
TGVuaWVudCkKQEAgLTkxMyw2ICs4ODcsOSBAQAogI2RlZmluZSB1ZW51bV9yZXNldCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWVudW1fcmVzZXQpCiAjZGVmaW5lIHVlbnVtX3VuZXh0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1ZW51bV91bmV4dCkKICNkZWZpbmUgdWVudW1fdW5leHREZWZh
dWx0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZW51bV91bmV4dERlZmF1bHQpCisjZGVmaW5l
IHVmaWVsZHBvc2l0ZXJfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWVsZHBvc2l0
ZXJfY2xvc2UpCisjZGVmaW5lIHVmaWVsZHBvc2l0ZXJfbmV4dCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWZpZWxkcG9zaXRlcl9uZXh0KQorI2RlZmluZSB1ZmllbGRwb3NpdGVyX29wZW4gVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWVsZHBvc2l0ZXJfb3BlbikKICNkZWZpbmUgdWZpbGVf
Y2xvc2VfdHJhbnNsaXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWxlX2Nsb3NlX3RyYW5z
bGl0KQogI2RlZmluZSB1ZmlsZV9maWxsX3VjaGFyX2J1ZmZlciBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWZpbGVfZmlsbF91Y2hhcl9idWZmZXIpCiAjZGVmaW5lIHVmaWxlX2ZsdXNoX2lvIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZmlsZV9mbHVzaF9pbykKQEAgLTEwMzgsNiArMTAxNSw5
IEBACiAjZGVmaW5lIHVsaXN0X25leHRfa2V5d29yZF92YWx1ZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWxpc3RfbmV4dF9rZXl3b3JkX3ZhbHVlKQogI2RlZmluZSB1bGlzdF9yZXNldExpc3Qg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsaXN0X3Jlc2V0TGlzdCkKICNkZWZpbmUgdWxpc3Rf
cmVzZXRfa2V5d29yZF92YWx1ZXNfaXRlcmF0b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVs
aXN0X3Jlc2V0X2tleXdvcmRfdmFsdWVzX2l0ZXJhdG9yKQorI2RlZmluZSB1bGlzdGZtdF9jbG9z
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3RmbXRfY2xvc2UpCisjZGVmaW5lIHVsaXN0
Zm10X2Zvcm1hdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3RmbXRfZm9ybWF0KQorI2Rl
ZmluZSB1bGlzdGZtdF9vcGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlzdGZtdF9vcGVu
KQogI2RlZmluZSB1bG9jX2FjY2VwdExhbmd1YWdlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bG9jX2FjY2VwdExhbmd1YWdlKQogI2RlZmluZSB1bG9jX2FjY2VwdExhbmd1YWdlRnJvbUhUVFAg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfYWNjZXB0TGFuZ3VhZ2VGcm9tSFRUUCkKICNk
ZWZpbmUgdWxvY19hZGRMaWtlbHlTdWJ0YWdzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9j
X2FkZExpa2VseVN1YnRhZ3MpCkBAIC0xMDczLDEyICsxMDUzLDE3IEBACiAjZGVmaW5lIHVsb2Nf
Z2V0U2NyaXB0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX2dldFNjcmlwdCkKICNkZWZp
bmUgdWxvY19nZXRUYWJsZVN0cmluZ1dpdGhGYWxsYmFjayBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWxvY19nZXRUYWJsZVN0cmluZ1dpdGhGYWxsYmFjaykKICNkZWZpbmUgdWxvY19nZXRWYXJp
YW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX2dldFZhcmlhbnQpCisjZGVmaW5lIHVs
b2NfaXNSaWdodFRvTGVmdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19pc1JpZ2h0VG9M
ZWZ0KQogI2RlZmluZSB1bG9jX21pbmltaXplU3VidGFncyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWxvY19taW5pbWl6ZVN1YnRhZ3MpCiAjZGVmaW5lIHVsb2Nfb3BlbktleXdvcmRMaXN0IFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX29wZW5LZXl3b3JkTGlzdCkKICNkZWZpbmUgdWxv
Y19vcGVuS2V5d29yZHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2Nfb3BlbktleXdvcmRz
KQogI2RlZmluZSB1bG9jX3NldERlZmF1bHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2Nf
c2V0RGVmYXVsdCkKICNkZWZpbmUgdWxvY19zZXRLZXl3b3JkVmFsdWUgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVsb2Nfc2V0S2V5d29yZFZhbHVlKQogI2RlZmluZSB1bG9jX3RvTGFuZ3VhZ2VU
YWcgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfdG9MYW5ndWFnZVRhZykKKyNkZWZpbmUg
dWxvY190b0xlZ2FjeUtleSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY190b0xlZ2FjeUtl
eSkKKyNkZWZpbmUgdWxvY190b0xlZ2FjeVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVs
b2NfdG9MZWdhY3lUeXBlKQorI2RlZmluZSB1bG9jX3RvVW5pY29kZUxvY2FsZUtleSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWxvY190b1VuaWNvZGVMb2NhbGVLZXkpCisjZGVmaW5lIHVsb2Nf
dG9Vbmljb2RlTG9jYWxlVHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY190b1VuaWNv
ZGVMb2NhbGVUeXBlKQogI2RlZmluZSB1bG9jZGF0YV9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWxvY2RhdGFfY2xvc2UpCiAjZGVmaW5lIHVsb2NkYXRhX2dldENMRFJWZXJzaW9uIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jZGF0YV9nZXRDTERSVmVyc2lvbikKICNkZWZpbmUg
dWxvY2RhdGFfZ2V0RGVsaW1pdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jZGF0YV9n
ZXREZWxpbWl0ZXIpCkBAIC0xMDkzLDYgKzEwNzgsMTIgQEAKICNkZWZpbmUgdWxvY2ltcF9nZXRD
b3VudHJ5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1wX2dldENvdW50cnkpCiAjZGVm
aW5lIHVsb2NpbXBfZ2V0TGFuZ3VhZ2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBf
Z2V0TGFuZ3VhZ2UpCiAjZGVmaW5lIHVsb2NpbXBfZ2V0U2NyaXB0IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bG9jaW1wX2dldFNjcmlwdCkKKyNkZWZpbmUgdWxvY2ltcF90b0JjcEtleSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF90b0JjcEtleSkKKyNkZWZpbmUgdWxvY2ltcF90
b0JjcFR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBfdG9CY3BUeXBlKQorI2Rl
ZmluZSB1bG9jaW1wX3RvTGVnYWN5S2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1w
X3RvTGVnYWN5S2V5KQorI2RlZmluZSB1bG9jaW1wX3RvTGVnYWN5VHlwZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWxvY2ltcF90b0xlZ2FjeVR5cGUpCisjZGVmaW5lIHVsdGFnX2lzVW5pY29k
ZUxvY2FsZUtleSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWx0YWdfaXNVbmljb2RlTG9jYWxl
S2V5KQorI2RlZmluZSB1bHRhZ19pc1VuaWNvZGVMb2NhbGVUeXBlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bHRhZ19pc1VuaWNvZGVMb2NhbGVUeXBlKQogI2RlZmluZSB1bXNnX2FwcGx5UGF0
dGVybiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1zZ19hcHBseVBhdHRlcm4pCiAjZGVmaW5l
IHVtc2dfYXV0b1F1b3RlQXBvc3Ryb3BoZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1zZ19h
dXRvUXVvdGVBcG9zdHJvcGhlKQogI2RlZmluZSB1bXNnX2Nsb25lIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bXNnX2Nsb25lKQpAQCAtMTEwNSw2ICsxMDk2LDkgQEAKICNkZWZpbmUgdW1zZ190
b1BhdHRlcm4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfdG9QYXR0ZXJuKQogI2RlZmlu
ZSB1bXNnX3Zmb3JtYXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfdmZvcm1hdCkKICNk
ZWZpbmUgdW1zZ192cGFyc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfdnBhcnNlKQor
I2RlZmluZSB1bXR4X2NvbmRCcm9hZGNhc3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtdHhf
Y29uZEJyb2FkY2FzdCkKKyNkZWZpbmUgdW10eF9jb25kU2lnbmFsIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bXR4X2NvbmRTaWduYWwpCisjZGVmaW5lIHVtdHhfY29uZFdhaXQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVtdHhfY29uZFdhaXQpCiAjZGVmaW5lIHVtdHhfbG9jayBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW10eF9sb2NrKQogI2RlZmluZSB1bXR4X3VubG9jayBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW10eF91bmxvY2spCiAjZGVmaW5lIHVuaXNldF9nZXRVbmljb2Rl
MzJJbnN0YW5jZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5pc2V0X2dldFVuaWNvZGUzMklu
c3RhbmNlKQpAQCAtMTEzMCw3ICsxMTI0LDYgQEAKICNkZWZpbmUgdW5vcm0yX3F1aWNrQ2hlY2sg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtMl9xdWlja0NoZWNrKQogI2RlZmluZSB1bm9y
bTJfc3BhblF1aWNrQ2hlY2tZZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtMl9zcGFu
UXVpY2tDaGVja1llcykKICNkZWZpbmUgdW5vcm0yX3N3YXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVub3JtMl9zd2FwKQotI2RlZmluZSB1bm9ybV9jbG9zZUl0ZXIgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVub3JtX2Nsb3NlSXRlcikKICNkZWZpbmUgdW5vcm1fY29tcGFyZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fY29tcGFyZSkKICNkZWZpbmUgdW5vcm1fY29uY2F0ZW5h
dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX2NvbmNhdGVuYXRlKQogI2RlZmluZSB1
bm9ybV9nZXRGQ0QxNiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fZ2V0RkNEMTYpCkBA
IC0xMTM5LDExICsxMTMyLDkgQEAKICNkZWZpbmUgdW5vcm1faXNOb3JtYWxpemVkV2l0aE9wdGlv
bnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX2lzTm9ybWFsaXplZFdpdGhPcHRpb25z
KQogI2RlZmluZSB1bm9ybV9uZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9uZXh0
KQogI2RlZmluZSB1bm9ybV9ub3JtYWxpemUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3Jt
X25vcm1hbGl6ZSkKLSNkZWZpbmUgdW5vcm1fb3Blbkl0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVub3JtX29wZW5JdGVyKQogI2RlZmluZSB1bm9ybV9wcmV2aW91cyBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodW5vcm1fcHJldmlvdXMpCiAjZGVmaW5lIHVub3JtX3F1aWNrQ2hlY2sgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX3F1aWNrQ2hlY2spCiAjZGVmaW5lIHVub3JtX3F1
aWNrQ2hlY2tXaXRoT3B0aW9ucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fcXVpY2tD
aGVja1dpdGhPcHRpb25zKQotI2RlZmluZSB1bm9ybV9zZXRJdGVyIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bm9ybV9zZXRJdGVyKQogI2RlZmluZSB1bnVtX2FwcGx5UGF0dGVybiBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW51bV9hcHBseVBhdHRlcm4pCiAjZGVmaW5lIHVudW1fY2xvbmUg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fY2xvbmUpCiAjZGVmaW5lIHVudW1fY2xvc2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fY2xvc2UpCkBAIC0xMTU2LDYgKzExNDcsNyBA
QAogI2RlZmluZSB1bnVtX2Zvcm1hdFVGb3JtYXR0YWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodW51bV9mb3JtYXRVRm9ybWF0dGFibGUpCiAjZGVmaW5lIHVudW1fZ2V0QXR0cmlidXRlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2dldEF0dHJpYnV0ZSkKICNkZWZpbmUgdW51bV9n
ZXRBdmFpbGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0QXZhaWxhYmxlKQor
I2RlZmluZSB1bnVtX2dldENvbnRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0
Q29udGV4dCkKICNkZWZpbmUgdW51bV9nZXREb3VibGVBdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVudW1fZ2V0RG91YmxlQXR0cmlidXRlKQogI2RlZmluZSB1bnVtX2dldExvY2Fs
ZUJ5VHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXRMb2NhbGVCeVR5cGUpCiAj
ZGVmaW5lIHVudW1fZ2V0U3ltYm9sIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2dldFN5
bWJvbCkKQEAgLTExNjgsNiArMTE2MCw3IEBACiAjZGVmaW5lIHVudW1fcGFyc2VJbnQ2NCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9wYXJzZUludDY0KQogI2RlZmluZSB1bnVtX3BhcnNl
VG9VRm9ybWF0dGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fcGFyc2VUb1VGb3Jt
YXR0YWJsZSkKICNkZWZpbmUgdW51bV9zZXRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVudW1fc2V0QXR0cmlidXRlKQorI2RlZmluZSB1bnVtX3NldENvbnRleHQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVudW1fc2V0Q29udGV4dCkKICNkZWZpbmUgdW51bV9zZXREb3VibGVB
dHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fc2V0RG91YmxlQXR0cmlidXRl
KQogI2RlZmluZSB1bnVtX3NldFN5bWJvbCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9z
ZXRTeW1ib2wpCiAjZGVmaW5lIHVudW1fc2V0VGV4dEF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodW51bV9zZXRUZXh0QXR0cmlidXRlKQpAQCAtMTIxNCwyMCArMTIwNyw2IEBACiAj
ZGVmaW5lIHVwcnZfYXNjaWl0b2xvd2VyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2Fz
Y2lpdG9sb3dlcikKICNkZWZpbmUgdXBydl9jYWxsb2MgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfY2FsbG9jKQogI2RlZmluZSB1cHJ2X2NlaWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfY2VpbCkKLSNkZWZpbmUgdXBydl9jbnR0YWJfYWRkQ29udHJhY3Rpb24gVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2FkZENvbnRyYWN0aW9uKQotI2RlZmluZSB1cHJ2
X2NudHRhYl9jaGFuZ2VDb250cmFjdGlvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9j
bnR0YWJfY2hhbmdlQ29udHJhY3Rpb24pCi0jZGVmaW5lIHVwcnZfY250dGFiX2NoYW5nZUxhc3RD
RSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfY2hhbmdlTGFzdENFKQotI2Rl
ZmluZSB1cHJ2X2NudHRhYl9jbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0
YWJfY2xvbmUpCi0jZGVmaW5lIHVwcnZfY250dGFiX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X2NudHRhYl9jbG9zZSkKLSNkZWZpbmUgdXBydl9jbnR0YWJfY29uc3RydWN0VGFi
bGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2NvbnN0cnVjdFRhYmxlKQot
I2RlZmluZSB1cHJ2X2NudHRhYl9maW5kQ0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZf
Y250dGFiX2ZpbmRDRSkKLSNkZWZpbmUgdXBydl9jbnR0YWJfZmluZENQIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9maW5kQ1ApCi0jZGVmaW5lIHVwcnZfY250dGFiX2dldENF
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9nZXRDRSkKLSNkZWZpbmUgdXBy
dl9jbnR0YWJfaW5zZXJ0Q29udHJhY3Rpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZf
Y250dGFiX2luc2VydENvbnRyYWN0aW9uKQotI2RlZmluZSB1cHJ2X2NudHRhYl9pc1RhaWxvcmVk
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9pc1RhaWxvcmVkKQotI2RlZmlu
ZSB1cHJ2X2NudHRhYl9vcGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9v
cGVuKQotI2RlZmluZSB1cHJ2X2NudHRhYl9zZXRDb250cmFjdGlvbiBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodXBydl9jbnR0YWJfc2V0Q29udHJhY3Rpb24pCi0jZGVmaW5lIHVwcnZfY29sbEl0
ZXJhdGVBdEVuZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jb2xsSXRlcmF0ZUF0RW5k
KQogI2RlZmluZSB1cHJ2X2NvbXBhcmVBU0NJSVByb3BlcnR5TmFtZXMgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVwcnZfY29tcGFyZUFTQ0lJUHJvcGVydHlOYW1lcykKICNkZWZpbmUgdXBydl9j
b21wYXJlRUJDRElDUHJvcGVydHlOYW1lcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9j
b21wYXJlRUJDRElDUHJvcGVydHlOYW1lcykKICNkZWZpbmUgdXBydl9jb21wYXJlSW52QXNjaWkg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY29tcGFyZUludkFzY2lpKQpAQCAtMTMxNCw4
ICsxMjkzLDggQEAKICNkZWZpbmUgdXBydl9kZWNOdW1iZXJWZXJzaW9uIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1cHJ2X2RlY051bWJlclZlcnNpb24pCiAjZGVmaW5lIHVwcnZfZGVjTnVtYmVy
WG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2RlY051bWJlclhvcikKICNkZWZpbmUg
dXBydl9kZWNOdW1iZXJaZXJvIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2RlY051bWJl
clplcm8pCisjZGVmaW5lIHVwcnZfZGVsZXRlQ29uZGl0aW9uYWxDRTMyIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1cHJ2X2RlbGV0ZUNvbmRpdGlvbmFsQ0UzMikKICNkZWZpbmUgdXBydl9kZWxl
dGVVT2JqZWN0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2RlbGV0ZVVPYmplY3QpCi0j
ZGVmaW5lIHVwcnZfZGVsZXRlX2NvbGxJdGVyYXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cHJ2X2RlbGV0ZV9jb2xsSXRlcmF0ZSkKICNkZWZpbmUgdXBydl9kbF9jbG9zZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl9kbF9jbG9zZSkKICNkZWZpbmUgdXBydl9kbF9vcGVuIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2RsX29wZW4pCiAjZGVmaW5lIHVwcnZfZGxzeW1fZnVu
YyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9kbHN5bV9mdW5jKQpAQCAtMTM0MCw4ICsx
MzE5LDYgQEAKICNkZWZpbmUgdXBydl9nZXRTdGF0aWNDdXJyZW5jeU5hbWUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfZ2V0U3RhdGljQ3VycmVuY3lOYW1lKQogI2RlZmluZSB1cHJ2X2dl
dFVUQ3RpbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZ2V0VVRDdGltZSkKICNkZWZp
bmUgdXBydl9oYXZlUHJvcGVydGllcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9oYXZl
UHJvcGVydGllcykKLSNkZWZpbmUgdXBydl9pbml0X2NvbGxJdGVyYXRlIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1cHJ2X2luaXRfY29sbEl0ZXJhdGUpCi0jZGVmaW5lIHVwcnZfaW5pdF9wY2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaW5pdF9wY2UpCiAjZGVmaW5lIHVwcnZfaW50
MzJDb21wYXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2ludDMyQ29tcGFyYXRv
cikKICNkZWZpbmUgdXBydl9pc0FTQ0lJTGV0dGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cHJ2X2lzQVNDSUlMZXR0ZXIpCiAjZGVmaW5lIHVwcnZfaXNJbmZpbml0ZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodXBydl9pc0luZmluaXRlKQpAQCAtMTM1OSw3ICsxMzM2LDYgQEAKICNkZWZp
bmUgdXBydl9tYXhpbXVtUHRyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X21heGltdW1Q
dHIpCiAjZGVmaW5lIHVwcnZfbWluIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X21pbikK
ICNkZWZpbmUgdXBydl9tb2RmIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X21vZGYpCi0j
ZGVmaW5lIHVwcnZfbmV3X2NvbGxJdGVyYXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2
X25ld19jb2xsSXRlcmF0ZSkKICNkZWZpbmUgdXBydl9wYXJzZUN1cnJlbmN5IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cHJ2X3BhcnNlQ3VycmVuY3kpCiAjZGVmaW5lIHVwcnZfcGF0aElzQWJz
b2x1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfcGF0aElzQWJzb2x1dGUpCiAjZGVm
aW5lIHVwcnZfcG93IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3BvdykKQEAgLTEzNzks
MTYgKzEzNTUsNiBAQAogI2RlZmluZSB1cHJ2X3RydW5jIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1cHJ2X3RydW5jKQogI2RlZmluZSB1cHJ2X3R6bmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXBydl90em5hbWUpCiAjZGVmaW5lIHVwcnZfdHpzZXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVwcnZfdHpzZXQpCi0jZGVmaW5lIHVwcnZfdWNhX2FkZEFuRWxlbWVudCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl91Y2FfYWRkQW5FbGVtZW50KQotI2RlZmluZSB1cHJ2X3VjYV9h
c3NlbWJsZVRhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9hc3NlbWJsZVRh
YmxlKQotI2RlZmluZSB1cHJ2X3VjYV9jYW5vbmljYWxDbG9zdXJlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1cHJ2X3VjYV9jYW5vbmljYWxDbG9zdXJlKQotI2RlZmluZSB1cHJ2X3VjYV9jbG9z
ZVRlbXBUYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfY2xvc2VUZW1wVGFi
bGUpCi0jZGVmaW5lIHVwcnZfdWNhX2dldENvZGVQb2ludEZyb21SYXcgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVwcnZfdWNhX2dldENvZGVQb2ludEZyb21SYXcpCi0jZGVmaW5lIHVwcnZfdWNh
X2dldEltcGxpY2l0RnJvbVJhdyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfZ2V0
SW1wbGljaXRGcm9tUmF3KQotI2RlZmluZSB1cHJ2X3VjYV9nZXRSYXdGcm9tQ29kZVBvaW50IFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9nZXRSYXdGcm9tQ29kZVBvaW50KQotI2Rl
ZmluZSB1cHJ2X3VjYV9nZXRSYXdGcm9tSW1wbGljaXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfdWNhX2dldFJhd0Zyb21JbXBsaWNpdCkKLSNkZWZpbmUgdXBydl91Y2FfaW5pdEltcGxp
Y2l0Q29uc3RhbnRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9pbml0SW1wbGlj
aXRDb25zdGFudHMpCi0jZGVmaW5lIHVwcnZfdWNhX2luaXRUZW1wVGFibGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfdWNhX2luaXRUZW1wVGFibGUpCiAjZGVmaW5lIHVwcnZfdWludDE2
Q29tcGFyYXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91aW50MTZDb21wYXJhdG9y
KQogI2RlZmluZSB1cHJ2X3VpbnQzMkNvbXBhcmF0b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfdWludDMyQ29tcGFyYXRvcikKICNkZWZpbmUgdXBydl91bm1hcEZpbGUgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfdW5tYXBGaWxlKQpAQCAtMTQyMiw4ICsxMzg4LDkgQEAKICNk
ZWZpbmUgdXJlZ2V4X2dldFVUZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ2V0
VVRleHQpCiAjZGVmaW5lIHVyZWdleF9ncm91cCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJl
Z2V4X2dyb3VwKQogI2RlZmluZSB1cmVnZXhfZ3JvdXBDb3VudCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXJlZ2V4X2dyb3VwQ291bnQpCisjZGVmaW5lIHVyZWdleF9ncm91cE51bWJlckZyb21D
TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2dyb3VwTnVtYmVyRnJvbUNOYW1l
KQorI2RlZmluZSB1cmVnZXhfZ3JvdXBOdW1iZXJGcm9tTmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXJlZ2V4X2dyb3VwTnVtYmVyRnJvbU5hbWUpCiAjZGVmaW5lIHVyZWdleF9ncm91cFVU
ZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXBVVGV4dCkKLSNkZWZpbmUg
dXJlZ2V4X2dyb3VwVVRleHREZWVwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3Jv
dXBVVGV4dERlZXApCiAjZGVmaW5lIHVyZWdleF9oYXNBbmNob3JpbmdCb3VuZHMgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVyZWdleF9oYXNBbmNob3JpbmdCb3VuZHMpCiAjZGVmaW5lIHVyZWdl
eF9oYXNUcmFuc3BhcmVudEJvdW5kcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2hh
c1RyYW5zcGFyZW50Qm91bmRzKQogI2RlZmluZSB1cmVnZXhfaGl0RW5kIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1cmVnZXhfaGl0RW5kKQpAQCAtMTUxOCw2ICsxNDg1LDcgQEAKICNkZWZpbmUg
dXJlc19vcGVuQXZhaWxhYmxlTG9jYWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlc19v
cGVuQXZhaWxhYmxlTG9jYWxlcykKICNkZWZpbmUgdXJlc19vcGVuRGlyZWN0IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cmVzX29wZW5EaXJlY3QpCiAjZGVmaW5lIHVyZXNfb3BlbkZpbGxJbiBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlc19vcGVuRmlsbEluKQorI2RlZmluZSB1cmVzX29w
ZW5Ob0RlZmF1bHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfb3Blbk5vRGVmYXVsdCkK
ICNkZWZpbmUgdXJlc19vcGVuVSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlc19vcGVuVSkK
ICNkZWZpbmUgdXJlc19yZXNldEl0ZXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVz
X3Jlc2V0SXRlcmF0b3IpCiAjZGVmaW5lIHVyZXNfc3dhcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXJlc19zd2FwKQpAQCAtMTcyMiw2ICsxNjkwLDcgQEAKICNkZWZpbmUgdXRyYW5zX2NvdW50
QXZhaWxhYmxlSURzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfY291bnRBdmFpbGFi
bGVJRHMpCiAjZGVmaW5lIHV0cmFuc19nZXRBdmFpbGFibGVJRCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXRyYW5zX2dldEF2YWlsYWJsZUlEKQogI2RlZmluZSB1dHJhbnNfZ2V0SUQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc19nZXRJRCkKKyNkZWZpbmUgdXRyYW5zX2dldFNvdXJj
ZVNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX2dldFNvdXJjZVNldCkKICNkZWZp
bmUgdXRyYW5zX2dldFVuaWNvZGVJRCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX2dl
dFVuaWNvZGVJRCkKICNkZWZpbmUgdXRyYW5zX29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHV0cmFuc19vcGVuKQogI2RlZmluZSB1dHJhbnNfb3BlbklEcyBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXRyYW5zX29wZW5JRHMpCkBAIC0xNzMxLDYgKzE3MDAsNyBAQAogI2RlZmluZSB1dHJh
bnNfcmVwX2Nhc2VDb250ZXh0SXRlcmF0b3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFu
c19yZXBfY2FzZUNvbnRleHRJdGVyYXRvcikKICNkZWZpbmUgdXRyYW5zX3NldEZpbHRlciBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3NldEZpbHRlcikKICNkZWZpbmUgdXRyYW5zX3N0
cmlwUnVsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc19zdHJpcFJ1bGVzKQorI2Rl
ZmluZSB1dHJhbnNfdG9SdWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3RvUnVs
ZXMpCiAjZGVmaW5lIHV0cmFuc190cmFucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5z
X3RyYW5zKQogI2RlZmluZSB1dHJhbnNfdHJhbnNJbmNyZW1lbnRhbCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodXRyYW5zX3RyYW5zSW5jcmVtZW50YWwpCiAjZGVmaW5lIHV0cmFuc190cmFuc0lu
Y3JlbWVudGFsVUNoYXJzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfdHJhbnNJbmNy
ZW1lbnRhbFVDaGFycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdXNjcmlw
dC5oIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91c2NyaXB0LmgKaW5kZXggNTcyNTVjNGY5ODQ0
YWZhYjUzZmZjMThhMzFhZDc5ZThlMmUzNDIzMy4uYjIxN2M4MTQ3MjhhYzExMWQwYTRjZmE3NTUw
ZDM5MjY4YTg3YTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9pY3UvdW5pY29kZS91c2NyaXB0
LmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91c2NyaXB0LmgKQEAgLTEsNiArMSw2IEBA
CiAvKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSAqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTMsIEludGVy
bmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyAqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTUs
IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICAqICAgQ29ycG9yYXRpb24gYW5kIG90
aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKQEAgLTIxLDI1
ICsyMSwzMSBAQAogICogXGZpbGUKICAqIFxicmllZiBDIEFQSTogVW5pY29kZSBTY3JpcHQgSW5m
b3JtYXRpb24KICAqLwotIAorCiAvKioKICAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlw
dCBjb2Rlcy4KICAqCi0gKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20g
VW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCi0gKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZh
bHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KLSAqIFNlZSBVQVggIzI0IFNjcmlw
dCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqIFRoZSBj
dXJyZW50IHNldCBvZiBzY3JpcHQgY29kZSBjb25zdGFudHMgc3VwcG9ydHMgYXQgbGVhc3QgYWxs
IHNjcmlwdHMKKyAqIHRoYXQgYXJlIGVuY29kZWQgaW4gdGhlIHZlcnNpb24gb2YgVW5pY29kZSB3
aGljaCBJQ1UgY3VycmVudGx5IHN1cHBvcnRzLgorICogVGhlIG5hbWVzIG9mIHRoZSBjb25zdGFu
dHMgYXJlIHVzdWFsbHkgZGVyaXZlZCBmcm9tIHRoZQorICogVW5pY29kZSBzY3JpcHQgcHJvcGVy
dHkgdmFsdWUgYWxpYXNlcy4KKyAqIFNlZSBVQVggIzI0IFVuaWNvZGUgU2NyaXB0IFByb3BlcnR5
IChodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIyNC8pCisgKiBhbmQgaHR0cDovL3d3
dy51bmljb2RlLm9yZy9QdWJsaWMvVUNEL2xhdGVzdC91Y2QvUHJvcGVydHlWYWx1ZUFsaWFzZXMu
dHh0IC4KICAqCiAgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJ
U08gMTU5MjQgc2NyaXB0IGNvZGVzCi0gKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRp
bmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCi0gKiBGb3Igc2NyaXB0cyBmb3Igd2hp
Y2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAotICogdXNl
ZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBV
bmljb2RlIGNoYXJhY3RlcnMKLSAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICog
YXJlIGluY2x1ZGVkLCBmb3IgdXNlIHdpdGggbGFuZ3VhZ2UgdGFncywgQ0xEUiBkYXRhLCBhbmQg
c2ltaWxhci4KKyAqIFNvbWUgb2YgdGhvc2UgY29kZXMgYXJlIG5vdCB1c2VkIGluIHRoZSBVbmlj
b2RlIENoYXJhY3RlciBEYXRhYmFzZSAoVUNEKS4KKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUg
bm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IHByb3BlcnR5IHZhbHVlIG9mCisg
KiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBocyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBw
cm9wZXJ0eSB2YWx1ZSBpbiBVbmljb2RlLgogICoKLSAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUg
bm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKLSAqIEhhbnMgb3Ig
SGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCi0gKiBU
aGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisg
KiBQcml2YXRlLXVzZSBjb2RlcyBRYWFhLi5RYWJ4IGFyZSBub3QgaW5jbHVkZWQuCiAgKgotICog
SVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5k
IHNpbWlsYXIuCisgKiBTdGFydGluZyB3aXRoIElDVSA1NSwgc2NyaXB0IGNvZGVzIGFyZSBvbmx5
IGFkZGVkIHdoZW4gdGhlaXIgc2NyaXB0cworICogaGF2ZSBiZWVuIG9yIHdpbGwgY2VydGFpbmx5
IGJlIGVuY29kZWQgaW4gVW5pY29kZSwKKyAqIGFuZCBoYXZlIGJlZW4gYXNzaWduZWQgVW5pY29k
ZSBzY3JpcHQgcHJvcGVydHkgdmFsdWUgYWxpYXNlcywKKyAqIHRvIGVuc3VyZSB0aGF0IHRoZWly
IHNjcmlwdCBuYW1lcyBhcmUgc3RhYmxlIGFuZCBtYXRjaCB0aGUgbmFtZXMgb2YgdGhlIGNvbnN0
YW50cy4KKyAqIFNjcmlwdCBjb2RlcyBsaWtlIExhdGYgYW5kIEFyYW4gdGhhdCBhcmUgbm90IHN1
YmplY3QgdG8gc2VwYXJhdGUgZW5jb2RpbmcKKyAqIG1heSBiZSBhZGRlZCBhdCBhbnkgdGltZS4K
ICAqCiAgKiBAc3RhYmxlIElDVSAyLjIKICAqLwpAQCAtMTg2LDcgKzE5Miw3IEBAIHR5cGVkZWYg
ZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy40ICovCiAgICAgICBV
U0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLwogCi0gICAgICAvKiBOZXcgc2Ny
aXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0ICovCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZy
b20gVW5pY29kZSBhbmQgSVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy42ICov
CiAgICAgICBVU0NSSVBUX0JBTElORVNFICAgICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJh
bGkgKi8KICAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjYgKi8KQEAgLTI3OCw3ICsyODQsNiBAQCB0
eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLwog
ICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6
ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQg
Y29kZSBwb2ludHMgKi8KIAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuOCAqLwogICAgICAgVVNDUklQVF9DQVJJQU4g
ICAgICAgICAgICAgICAgICAgICAgICA9IDEwNCwvKiBDYXJpICovCiAgICAgICAvKiogQHN0YWJs
ZSBJQ1UgMy44ICovCkBAIC0zMDQsNyArMzA5LDYgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2Rl
IHsKICAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjggKi8KICAgICAgIFVTQ1JJUFRfTUVJVEVJX01B
WUVLICAgICAgICAgICAgICAgICAgPSAxMTUsLyogTXRlaSAqLwogCi0gICAgICAvKiBOZXcgc2Ny
aXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC4wICov
CiAgICAgICBVU0NSSVBUX0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFy
bWkgKi8KICAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjAgKi8KQEAgLTMzNCw3ICszMzgsNiBAQCB0
eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuMCAqLwog
ICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAgICAgICAgICAgICAgICAgICA9IDEyOSwvKiBac3lt
ICovCiAKLSAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KICAgICAg
IC8qKiBAc3RhYmxlIElDVSA0LjQgKi8KICAgICAgIFVTQ1JJUFRfQkFNVU0gICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMzAsLyogQmFtdSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNCAq
LwpAQCAtMzQ0LDExICszNDcsMTQgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAg
IC8qKiBAc3RhYmxlIElDVSA0LjQgKi8KICAgICAgIFVTQ1JJUFRfT0xEX1NPVVRIX0FSQUJJQU4g
ICAgICAgICAgICAgPSAxMzMsLyogU2FyYiAqLwogCi0gICAgICAvKiBOZXcgc2NyaXB0IGNvZGVz
IGZyb20gSVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBV
U0NSSVBUX0JBU1NBX1ZBSCAgICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KLSAg
ICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KLSAgICAgIFVTQ1JJUFRfRFVQTE9ZQU5fU0hPUlRB
TkQgICAgICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgICBVU0NSSVBUX0RVUExPWUFOICAgICAgICAgICAgICAgICAgICAgID0gMTM1LC8q
IER1cGwgKi8KKyNpZm5kZWYgVV9ISURFX0RFUFJFQ0FURURfQVBJCisgICAgICAvKiogQGRlcHJl
Y2F0ZWQgSUNVIDU0IFR5cG8sIHVzZSBVU0NSSVBUX0RVUExPWUFOICovCisgICAgICBVU0NSSVBU
X0RVUExPWUFOX1NIT1JUQU5EICAgICAgICAgICAgID0gVVNDUklQVF9EVVBMT1lBTiwKKyNlbmRp
ZiAgLyogVV9ISURFX0RFUFJFQ0FURURfQVBJICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42
ICovCiAgICAgICBVU0NSSVBUX0VMQkFTQU4gICAgICAgICAgICAgICAgICAgICAgID0gMTM2LC8q
IEVsYmEgKi8KICAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KQEAgLTM1Nyw3ICszNjMsNyBA
QCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9LUEVMTEUgICAgICAg
ICAgICAgICAgICAgICAgICA9IDEzOCwvKiBLcGVsICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1Ug
NC42ICovCiAgICAgICBVU0NSSVBUX0xPTUEgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM5
LC8qIExvbWEgKi8KLSAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAgIC8qKiBNZW5k
ZSBLaWtha3VpIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9NRU5ERSAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE0MCwvKiBNZW5kICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1Ug
NC42ICovCiAgICAgICBVU0NSSVBUX01FUk9JVElDX0NVUlNJVkUgICAgICAgICAgICAgID0gMTQx
LC8qIE1lcmMgKi8KQEAgLTM2Nyw4ICszNzMsMTAgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2Rl
IHsKICAgICAgIFVTQ1JJUFRfTkFCQVRBRUFOICAgICAgICAgICAgICAgICAgICAgPSAxNDMsLyog
TmJhdCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9QQUxN
WVJFTkUgICAgICAgICAgICAgICAgICAgICA9IDE0NCwvKiBQYWxtICovCisgICAgICAvKiogQHN0
YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVTQ1JJUFRfS0hVREFXQURJICAgICAgICAgICAgICAgICAg
ICAgPSAxNDUsLyogU2luZCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwotICAgICAg
VVNDUklQVF9TSU5ESEkgICAgICAgICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisg
ICAgICBVU0NSSVBUX1NJTkRISSAgICAgICAgICAgICAgICAgICAgICAgID0gVVNDUklQVF9LSFVE
QVdBREksCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBVU0NSSVBUX1dBUkFO
R19DSVRJICAgICAgICAgICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KIApAQCAtNDAzLDIyICs0
MTEsNDQgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIC8qKiBAc3RhYmxlIElD
VSA1MiAqLwogICAgICAgVVNDUklQVF9NQUhBSkFOSSAgICAgICAgICAgICAgICAgICAgICA9IDE2
MCwvKiBNYWhqICovCiAKLSAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFh
YnggYXJlIG5vdCBzdXBwb3J0ZWQgKi8KLQotICAgICAgLyoqIEBzdGFibGUgSUNVIDIuMiAqLwot
ICAgICAgVVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTYxCisgICAgICAvKiogQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICAgIFVTQ1JJUFRfQUhPTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjEs
LyogQWhvbSAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX0hB
VFJBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTYyLC8qIEhhdHIgKi8KKyAgICAgIC8qKiBA
c3RhYmxlIElDVSA1NCAqLworICAgICAgVVNDUklQVF9NT0RJICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDE2MywvKiBNb2RpICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAg
IFVTQ1JJUFRfTVVMVEFOSSAgICAgICAgICAgICAgICAgICAgICAgPSAxNjQsLyogTXVsdCAqLwor
ICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX1BBVV9DSU5fSEFVICAg
ICAgICAgICAgICAgICAgID0gMTY1LC8qIFBhdWMgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1
NCAqLworICAgICAgVVNDUklQVF9TSURESEFNICAgICAgICAgICAgICAgICAgICAgICA9IDE2Niwv
KiBTaWRkICovCisKKyAgICAgIC8qKgorICAgICAgICogT25lIGhpZ2hlciB0aGFuIHRoZSBsYXN0
IHNjcmlwdCBjb2RlIGNvbnN0YW50LgorICAgICAgICogVGhpcyB2YWx1ZSBpbmNyZWFzZXMgYXMg
Y29uc3RhbnRzIGZvciBzY3JpcHQgY29kZXMgYXJlIGFkZGVkLgorICAgICAgICoKKyAgICAgICAq
IFRoZXJlIGFyZSBjb25zdGFudHMgZm9yIFVuaWNvZGUgNyBzY3JpcHQgcHJvcGVydHkgdmFsdWVz
LgorICAgICAgICogVGhlcmUgYXJlIGNvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rl
cyBhc3NpZ25lZCBvbiBvciBiZWZvcmUgMjAxMy0xMC0xMi4KKyAgICAgICAqIFRoZXJlIGFyZSBu
byBjb25zdGFudHMgZm9yIHByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYngKKyAgICAg
ICAqIGV4Y2VwdCBhcyB1c2VkIGluIHRoZSBVQ0QuCisgICAgICAgKgorICAgICAgICogQHN0YWJs
ZSBJQ1UgMi4yCisgICAgICAgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDE2Nwog
fSBVU2NyaXB0Q29kZTsKIAogLyoqCi0gKiBHZXRzIHNjcmlwdCBjb2RlcyBhc3NvY2lhdGVkIHdp
dGggdGhlIGdpdmVuIGxvY2FsZSBvciBJU08gMTU5MjQgYWJicmV2aWF0aW9uIG9yIG5hbWUuIAor
ICogR2V0cyB0aGUgc2NyaXB0IGNvZGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbG9jYWxl
IG9yIElTTyAxNTkyNCBhYmJyZXZpYXRpb24gb3IgbmFtZS4gCiAgKiBGaWxscyBpbiBVU0NSSVBU
X01BTEFZQUxBTSBnaXZlbiAiTWFsYXlhbSIgT1IgIk1seW0iLgogICogRmlsbHMgaW4gVVNDUklQ
VF9MQVRJTiBnaXZlbiAiZW4iIE9SICJlbl9VUyIgCi0gKiBJZiByZXF1aXJlZCBjYXBhY2l0eSBp
cyBncmVhdGVyIHRoYW4gY2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciB0aGVuIHRo
ZSBlcnJvciBjb2RlCi0gKiBpcyBzZXQgdG8gVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgYW5kIHRo
ZSByZXF1aXJlZCBjYXBhY2l0eSBpcyByZXR1cm5lZAorICogSWYgdGhlIHJlcXVpcmVkIGNhcGFj
aXR5IGlzIGdyZWF0ZXIgdGhhbiB0aGUgY2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZl
ciwKKyAqIHRoZW4gdGhlIGVycm9yIGNvZGUgaXMgc2V0IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VS
Uk9SIGFuZCB0aGUgcmVxdWlyZWQgY2FwYWNpdHkgaXMgcmV0dXJuZWQuCiAgKgogICogPHA+Tm90
ZTogVG8gc2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVzZQotICog
dV9nZXRQcm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAgVGhp
cyBkb2VzCisgKiB1X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgYWxpYXMpIGlu
c3RlYWQuICBUaGF0IGRvZXMKICAqIGEgZmFzdCBsb29rdXAgd2l0aCBubyBhY2Nlc3Mgb2YgdGhl
IGxvY2FsZSBkYXRhLgorICoKICAqIEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0
aGUgc2NyaXB0LCBhcyBnaXZlbiBpbgogICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJ
U08gMTU5MjQgY29kZSBvciBsb2NhbGUKICAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2Rl
IGJ1ZmZlciB0byBmaWxsIGluIHRoZSBzY3JpcHQgY29kZQpAQCAtNDMxLDIyICs0NjEsMjUgQEAg
VV9TVEFCTEUgaW50MzJfdCAgVV9FWFBPUlQyCiB1c2NyaXB0X2dldENvZGUoY29uc3QgY2hhciog
bmFtZU9yQWJick9yTG9jYWxlLFVTY3JpcHRDb2RlKiBmaWxsSW4saW50MzJfdCBjYXBhY2l0eSxV
RXJyb3JDb2RlICplcnIpOwogCiAvKioKLSAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVk
IHdpdGggdGhlIGdpdmVuIHNjcmlwdCBjb2RlLiAKLSAqIFJldHVybnMgICJNYWxheWFtIiBnaXZl
biBVU0NSSVBUX01BTEFZQUxBTQorICogUmV0dXJucyB0aGUgbG9uZyBVbmljb2RlIHNjcmlwdCBu
YW1lLCBpZiB0aGVyZSBpcyBvbmUuCisgKiBPdGhlcndpc2UgcmV0dXJucyB0aGUgNC1sZXR0ZXIg
SVNPIDE1OTI0IHNjcmlwdCBjb2RlLgorICogUmV0dXJucyAiTWFsYXlhbSIgZ2l2ZW4gVVNDUklQ
VF9NQUxBWUFMQU0uCisgKgogICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQot
ICogQHJldHVybiBzY3JpcHQgbG9uZyBuYW1lIGFzIGdpdmVuIGluCi0gKiBQcm9wZXJ0eVZhbHVl
QWxpYXNlcy50eHQsIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAcmV0dXJu
IGxvbmcgc2NyaXB0IG5hbWUgYXMgZ2l2ZW4gaW4gUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBv
ciB0aGUgNC1sZXR0ZXIgY29kZSwKKyAqIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlk
CiAgKiBAc3RhYmxlIElDVSAyLjQKICAqLwogVV9TVEFCTEUgY29uc3QgY2hhciogIFVfRVhQT1JU
MiAKIHVzY3JpcHRfZ2V0TmFtZShVU2NyaXB0Q29kZSBzY3JpcHRDb2RlKTsKIAogLyoqCi0gKiBH
ZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4g
Ci0gKiBSZXR1cm5zICAiTWx5bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIFJldHVybnMg
dGhlIDQtbGV0dGVyIElTTyAxNTkyNCBzY3JpcHQgY29kZSwKKyAqIHdoaWNoIGlzIHRoZSBzYW1l
IGFzIHRoZSBzaG9ydCBVbmljb2RlIHNjcmlwdCBuYW1lIGlmIFVuaWNvZGUgaGFzIG5hbWVzIGZv
ciB0aGUgc2NyaXB0LgorICogUmV0dXJucyAiTWx5bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0u
CisgKgogICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQotICogQHJldHVybiBz
Y3JpcHQgYWJicmV2aWF0ZWQgbmFtZSBhcyBnaXZlbiBpbgotICogUHJvcGVydHlWYWx1ZUFsaWFz
ZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICogQHJldHVybiBzaG9y
dCBzY3JpcHQgbmFtZSAoNC1sZXR0ZXIgY29kZSksIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBp
bnZhbGlkCiAgKiBAc3RhYmxlIElDVSAyLjQKICAqLwogVV9TVEFCTEUgY29uc3QgY2hhciogIFVf
RVhQT1JUMiAKQEAgLTUxNywyNyArNTUwLDI1IEBAIHVzY3JpcHRfZ2V0U2NyaXB0RXh0ZW5zaW9u
cyhVQ2hhcjMyIGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNjcmlwdENvZGUgKnNj
cmlwdHMsIGludDMyX3QgY2FwYWNpdHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVy
cm9yQ29kZSAqZXJyb3JDb2RlKTsKIAotI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCi0KIC8qKgog
ICogU2NyaXB0IHVzYWdlIGNvbnN0YW50cy4KICAqIFNlZSBVQVggIzMxIFVuaWNvZGUgSWRlbnRp
ZmllciBhbmQgUGF0dGVybiBTeW50YXguCiAgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9y
dHMvdHIzMS8jVGFibGVfQ2FuZGlkYXRlX0NoYXJhY3RlcnNfZm9yX0V4Y2x1c2lvbl9mcm9tX0lk
ZW50aWZpZXJzCiAgKgotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwog
dHlwZWRlZiBlbnVtIFVTY3JpcHRVc2FnZSB7Ci0gICAgLyoqIE5vdCBlbmNvZGVkIGluIFVuaWNv
ZGUuIEBkcmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogTm90IGVuY29kZWQgaW4gVW5pY29kZS4gQHN0
YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX05PVF9FTkNPREVELAotICAgIC8qKiBV
bmtub3duIHNjcmlwdCB1c2FnZS4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBVbmtub3duIHNj
cmlwdCB1c2FnZS4gQHN0YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX1VOS05PV04s
Ci0gICAgLyoqIENhbmRpZGF0ZSBmb3IgRXhjbHVzaW9uIGZyb20gSWRlbnRpZmllcnMuIEBkcmFm
dCBJQ1UgNTEgKi8KKyAgICAvKiogQ2FuZGlkYXRlIGZvciBFeGNsdXNpb24gZnJvbSBJZGVudGlm
aWVycy4gQHN0YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX0VYQ0xVREVELAotICAg
IC8qKiBMaW1pdGVkIFVzZSBzY3JpcHQuIEBkcmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogTGltaXRl
ZCBVc2Ugc2NyaXB0LiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJUFRfVVNBR0VfTElNSVRF
RF9VU0UsCi0gICAgLyoqIEFzcGlyYXRpb25hbCBVc2Ugc2NyaXB0LiBAZHJhZnQgSUNVIDUxICov
CisgICAgLyoqIEFzcGlyYXRpb25hbCBVc2Ugc2NyaXB0LiBAc3RhYmxlIElDVSA1MSAqLwogICAg
IFVTQ1JJUFRfVVNBR0VfQVNQSVJBVElPTkFMLAotICAgIC8qKiBSZWNvbW1lbmRlZCBzY3JpcHQu
IEBkcmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogUmVjb21tZW5kZWQgc2NyaXB0LiBAc3RhYmxlIElD
VSA1MSAqLwogICAgIFVTQ1JJUFRfVVNBR0VfUkVDT01NRU5ERUQKIH0gVVNjcmlwdFVzYWdlOwog
CkBAIC01NTEsOSArNTgyLDkgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRVc2FnZSB7CiAgKiBAcGFy
YW0gY2FwYWNpdHkgbnVtYmVyIG9mIFVDaGFycyBpbiB0aGUgZGVzdCBhcnJheQogICogQHBhcmFt
IHBFcnJvckNvZGUgc3RhbmRhcmQgSUNVIGluL291dCBlcnJvciBjb2RlLCBtdXN0IHBhc3MgVV9T
VUNDRVNTKCkgb24gaW5wdXQKICAqIEByZXR1cm4gdGhlIHN0cmluZyBsZW5ndGgsIGV2ZW4gaWYg
VV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNV
IDUxCiAgKi8KLVVfRFJBRlQgaW50MzJfdCBVX0VYUE9SVDIKK1VfU1RBQkxFIGludDMyX3QgVV9F
WFBPUlQyCiB1c2NyaXB0X2dldFNhbXBsZVN0cmluZyhVU2NyaXB0Q29kZSBzY3JpcHQsIFVDaGFy
ICpkZXN0LCBpbnQzMl90IGNhcGFjaXR5LCBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKIAogI2lm
IFVfU0hPV19DUExVU1BMVVNfQVBJCkBAIC01NjksNyArNjAwLDcgQEAgVV9OQU1FU1BBQ0VfRU5E
CiAgKgogICogQHBhcmFtIHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVybiB0aGUgc2FtcGxl
IGNoYXJhY3RlciBzdHJpbmcKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAg
Ki8KIFVfQ09NTU9OX0FQSSBpY3U6OlVuaWNvZGVTdHJpbmcgVV9FWFBPUlQyCiB1c2NyaXB0X2dl
dFNhbXBsZVVuaWNvZGVTdHJpbmcoVVNjcmlwdENvZGUgc2NyaXB0KTsKQEAgLTU4Myw5ICs2MTQs
OSBAQCB1c2NyaXB0X2dldFNhbXBsZVVuaWNvZGVTdHJpbmcoVVNjcmlwdENvZGUgc2NyaXB0KTsK
ICAqIEBwYXJhbSBzY3JpcHQgc2NyaXB0IGNvZGUKICAqIEByZXR1cm4gc2NyaXB0IHVzYWdlCiAg
KiBAc2VlIFVTY3JpcHRVc2FnZQotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEK
ICAqLwotVV9EUkFGVCBVU2NyaXB0VXNhZ2UgVV9FWFBPUlQyCitVX1NUQUJMRSBVU2NyaXB0VXNh
Z2UgVV9FWFBPUlQyCiB1c2NyaXB0X2dldFVzYWdlKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAKIC8q
KgpAQCAtNTk0LDkgKzYyNSw5IEBAIHVzY3JpcHRfZ2V0VXNhZ2UoVVNjcmlwdENvZGUgc2NyaXB0
KTsKICAqCiAgKiBAcGFyYW0gc2NyaXB0IHNjcmlwdCBjb2RlCiAgKiBAcmV0dXJuIFRSVUUgaWYg
dGhlIHNjcmlwdCBpcyByaWdodC10by1sZWZ0Ci0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxl
IElDVSA1MQogICovCi1VX0RSQUZUIFVCb29sIFVfRVhQT1JUMgorVV9TVEFCTEUgVUJvb2wgVV9F
WFBPUlQyCiB1c2NyaXB0X2lzUmlnaHRUb0xlZnQoVVNjcmlwdENvZGUgc2NyaXB0KTsKIAogLyoq
CkBAIC02MDYsOSArNjM3LDkgQEAgdXNjcmlwdF9pc1JpZ2h0VG9MZWZ0KFVTY3JpcHRDb2RlIHNj
cmlwdCk7CiAgKgogICogQHBhcmFtIHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVybiBUUlVF
IGlmIHRoZSBzY3JpcHQgYWxsb3dzIGxpbmUgYnJlYWtzIGJldHdlZW4gbGV0dGVycwotICogQGRy
YWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBVQm9vbCBVX0VYUE9S
VDIKK1VfU1RBQkxFIFVCb29sIFVfRVhQT1JUMgogdXNjcmlwdF9icmVha3NCZXR3ZWVuTGV0dGVy
cyhVU2NyaXB0Q29kZSBzY3JpcHQpOwogCiAvKioKQEAgLTYxNywxMSArNjQ4LDkgQEAgdXNjcmlw
dF9icmVha3NCZXR3ZWVuTGV0dGVycyhVU2NyaXB0Q29kZSBzY3JpcHQpOwogICoKICAqIEBwYXJh
bSBzY3JpcHQgc2NyaXB0IGNvZGUKICAqIEByZXR1cm4gVFJVRSBpZiB0aGUgc2NyaXB0IGlzIGNh
c2VkCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCi1VX0RSQUZUIFVC
b29sIFVfRVhQT1JUMgorVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1c2NyaXB0X2lzQ2FzZWQo
VVNjcmlwdENvZGUgc2NyaXB0KTsKIAotI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCi0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9pY3UvdW5pY29kZS91c2V0LmggYi9Tb3Vy
Y2UvV1RGL2ljdS91bmljb2RlL3VzZXQuaAppbmRleCA0MDUxMGNkNDE2N2M4Zjc3ZDUwNjYxZGZm
ZjdmZTA5YjllZjgwNTMyLi5lYjNjOWU2YTA2YTZmOWZmOTQ5MzVlZTgxMGU5Y2E4OTFkZjYwMTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3VzZXQuaAorKysgYi9Tb3VyY2Uv
V1RGL2ljdS91bmljb2RlL3VzZXQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMTIsIEludGVybmF0aW9uYWwg
QnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDIwMDItMjAxNCwgSW50ZXJuYXRp
b25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwg
UmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtOTgsOCArOTgs
OCBAQCBlbnVtIHsKICAqCiAgKiBUaGUgZnVuY3Rpb25hbGl0eSBpcyBzdHJhaWdodGZvcndhcmQg
Zm9yIHNldHMgd2l0aCBvbmx5IHNpbmdsZSBjb2RlIHBvaW50cywKICAqIHdpdGhvdXQgc3RyaW5n
cyAod2hpY2ggaXMgdGhlIGNvbW1vbiBjYXNlKToKLSAqIC0gVVNFVF9TUEFOX0NPTlRBSU5FRCBh
bmQgVVNFVF9TUEFOX1NJTVBMRQotICogICB3b3JrIHRoZSBzYW1lLgorICogLSBVU0VUX1NQQU5f
Q09OVEFJTkVEIGFuZCBVU0VUX1NQQU5fU0lNUExFIHdvcmsgdGhlIHNhbWUuCisgKiAtIFVTRVRf
U1BBTl9DT05UQUlORUQgYW5kIFVTRVRfU1BBTl9TSU1QTEUgYXJlIGludmVyc2VzIG9mIFVTRVRf
U1BBTl9OT1RfQ09OVEFJTkVELgogICogLSBzcGFuKCkgYW5kIHNwYW5CYWNrKCkgcGFydGl0aW9u
IGFueSBzdHJpbmcgdGhlIHNhbWUgd2F5IHdoZW4KICAqICAgYWx0ZXJuYXRpbmcgYmV0d2VlbiBz
cGFuKFVTRVRfU1BBTl9OT1RfQ09OVEFJTkVEKSBhbmQKICAqICAgc3BhbihlaXRoZXIgImNvbnRh
aW5lZCIgY29uZGl0aW9uKS4KQEAgLTE0OSw3ICsxNDksOCBAQCBlbnVtIHsKICAqLwogdHlwZWRl
ZiBlbnVtIFVTZXRTcGFuQ29uZGl0aW9uIHsKICAgICAvKioKLSAgICAgKiBDb250aW51ZSBhIHNw
YW4oKSB3aGlsZSB0aGVyZSBpcyBubyBzZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlv
bi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgbm8gc2V0IGVsZW1l
bnQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCisgICAgICogSW5jcmVtZW50cyBieSBvbmUgY29k
ZSBwb2ludCBhdCBhIHRpbWUuCiAgICAgICogU3RvcHMgYmVmb3JlIHRoZSBmaXJzdCBzZXQgZWxl
bWVudCAoY2hhcmFjdGVyIG9yIHN0cmluZykuCiAgICAgICogKEZvciBjb2RlIHBvaW50cyBvbmx5
LCB0aGlzIGlzIGxpa2Ugd2hpbGUgY29udGFpbnMoY3VycmVudCk9PUZBTFNFKS4KICAgICAgKgpA
QCAtMTYxLDIyICsxNjIsMjMgQEAgdHlwZWRlZiBlbnVtIFVTZXRTcGFuQ29uZGl0aW9uIHsKICAg
ICAgKi8KICAgICBVU0VUX1NQQU5fTk9UX0NPTlRBSU5FRCA9IDAsCiAgICAgLyoqCi0gICAgICog
Q29udGludWUgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBzZXQgZWxlbWVudCBhdCB0aGUgY3Vy
cmVudCBwb3NpdGlvbi4KKyAgICAgKiBTcGFucyB0aGUgbG9uZ2VzdCBzdWJzdHJpbmcgdGhhdCBp
cyBhIGNvbmNhdGVuYXRpb24gb2Ygc2V0IGVsZW1lbnRzIChjaGFyYWN0ZXJzIG9yIHN0cmluZ3Mp
LgogICAgICAqIChGb3IgY2hhcmFjdGVycyBvbmx5LCB0aGlzIGlzIGxpa2Ugd2hpbGUgY29udGFp
bnMoY3VycmVudCk9PVRSVUUpLgogICAgICAqCiAgICAgICogV2hlbiBzcGFuKCkgcmV0dXJucywg
dGhlIHN1YnN0cmluZyBiZXR3ZWVuIHdoZXJlIGl0IHN0YXJ0ZWQgYW5kIHRoZSBwb3NpdGlvbgog
ICAgICAqIGl0IHJldHVybmVkIGNvbnNpc3RzIG9ubHkgb2Ygc2V0IGVsZW1lbnRzIChjaGFyYWN0
ZXJzIG9yIHN0cmluZ3MpIHRoYXQgYXJlIGluIHRoZSBzZXQuCiAgICAgICoKLSAgICAgKiBJZiBh
IHNldCBjb250YWlucyBzdHJpbmdzLCB0aGVuIHRoZSBzcGFuIHdpbGwgYmUgdGhlIGxvbmdlc3Qg
c3Vic3RyaW5nCi0gICAgICogbWF0Y2hpbmcgYW55IG9mIHRoZSBwb3NzaWJsZSBjb25jYXRlbmF0
aW9ucyBvZiBzZXQgZWxlbWVudHMgKGNoYXJhY3RlcnMgb3Igc3RyaW5ncykuCi0gICAgICogKFRo
ZXJlIG11c3QgYmUgYSBzaW5nbGUsIG5vbi1vdmVybGFwcGluZyBjb25jYXRlbmF0aW9uIG9mIGNo
YXJhY3RlcnMgb3Igc3RyaW5ncy4pCi0gICAgICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIGEgUE9T
SVggcmVndWxhciBleHByZXNzaW9uIGZvciAoT1Igb2YgZWFjaCBzZXQgZWxlbWVudCkqLgorICAg
ICAqIElmIGEgc2V0IGNvbnRhaW5zIHN0cmluZ3MsIHRoZW4gdGhlIHNwYW4gd2lsbCBiZSB0aGUg
bG9uZ2VzdCBzdWJzdHJpbmcgZm9yIHdoaWNoIHRoZXJlCisgICAgICogZXhpc3RzIGF0IGxlYXN0
IG9uZSBub24tb3ZlcmxhcHBpbmcgY29uY2F0ZW5hdGlvbiBvZiBzZXQgZWxlbWVudHMgKGNoYXJh
Y3RlcnMgb3Igc3RyaW5ncykuCisgICAgICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIGEgUE9TSVgg
cmVndWxhciBleHByZXNzaW9uIGZvciA8Y29kZT4oT1Igb2YgZWFjaCBzZXQgZWxlbWVudCkqPC9j
b2RlPi4KKyAgICAgKiAoSmF2YS9JQ1UvUGVybCByZWdleCBzdG9wcyBhdCB0aGUgZmlyc3QgbWF0
Y2ggb2YgYW4gT1IuKQogICAgICAqCiAgICAgICogQHN0YWJsZSBJQ1UgMy44CiAgICAgICovCiAg
ICAgVVNFVF9TUEFOX0NPTlRBSU5FRCA9IDEsCiAgICAgLyoqCi0gICAgICogQ29udGludWUgYSBz
cGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBzZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlv
bi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBzZXQgZWxlbWVu
dCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBJbmNyZW1lbnRzIGJ5IHRoZSBsb25n
ZXN0IG1hdGNoaW5nIGVsZW1lbnQgYXQgZWFjaCBwb3NpdGlvbi4KICAgICAgKiAoRm9yIGNoYXJh
Y3RlcnMgb25seSwgdGhpcyBpcyBsaWtlIHdoaWxlIGNvbnRhaW5zKGN1cnJlbnQpPT1UUlVFKS4K
ICAgICAgKgogICAgICAqIFdoZW4gc3BhbigpIHJldHVybnMsIHRoZSBzdWJzdHJpbmcgYmV0d2Vl
biB3aGVyZSBpdCBzdGFydGVkIGFuZCB0aGUgcG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvaWN1L3VuaWNvZGUvdXN0cmluZy5oIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91c3RyaW5n
LmgKaW5kZXggZDJlYTMxYzY3NDdmOGYxYzFlYjAzNzBlMjg0M2MzZjY0NDk4YjBmMS4uNmQxNDFl
OGRmNjMzOGRjOGU0ZWQwYzlmNDRiNzZiYjNhYzUxYTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9pY3UvdW5pY29kZS91c3RyaW5nLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91c3Ry
aW5nLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAo
QykgMTk5OC0yMDEyLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJp
Z2h0IChDKSAxOTk4LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBD
b3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKICoKQEAgLTEzMTEsNyArMTMxMSw2IEBAIHVfc3RyRnJvbVVURjgoVUNoYXIgKmRlc3QsCiAK
IC8qKgogICogQ29udmVydCBhIFVURi0xNiBzdHJpbmcgdG8gVVRGLTguCi0gKiBJZiB0aGUgaW5w
dXQgc3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1lZCwgdGhlbiB0aGUgVV9JTlZBTElEX0NIQVJfRk9V
TkQgZXJyb3IgY29kZSBpcyBzZXQuCiAgKgogICogU2FtZSBhcyB1X3N0clRvVVRGOCgpIGV4Y2Vw
dCBmb3IgdGhlIGFkZGl0aW9uYWwgc3ViY2hhciB3aGljaCBpcyBvdXRwdXQgZm9yCiAgKiBpbGxl
Z2FsIGlucHV0IHNlcXVlbmNlcywgaW5zdGVhZCBvZiBzdG9wcGluZyB3aXRoIHRoZSBVX0lOVkFM
SURfQ0hBUl9GT1VORCBlcnJvciBjb2RlLgpAQCAtMTM1Niw3ICsxMzU1LDYgQEAgdV9zdHJUb1VU
RjhXaXRoU3ViKGNoYXIgKmRlc3QsCiAKIC8qKgogICogQ29udmVydCBhIFVURi04IHN0cmluZyB0
byBVVEYtMTYuCi0gKiBJZiB0aGUgaW5wdXQgc3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1lZCwgdGhl
biB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29kZSBpcyBzZXQuCiAgKgogICogU2Ft
ZSBhcyB1X3N0ckZyb21VVEY4KCkgZXhjZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdo
aWNoIGlzIG91dHB1dCBmb3IKICAqIGlsbGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9m
IHN0b3BwaW5nIHdpdGggdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0x
NTIxLDcgKzE1MTksNiBAQCB1X3N0ckZyb21VVEYzMihVQ2hhciAgICpkZXN0LAogCiAvKioKICAq
IENvbnZlcnQgYSBVVEYtMTYgc3RyaW5nIHRvIFVURi0zMi4KLSAqIElmIHRoZSBpbnB1dCBzdHJp
bmcgaXMgbm90IHdlbGwtZm9ybWVkLCB0aGVuIHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJv
ciBjb2RlIGlzIHNldC4KICAqCiAgKiBTYW1lIGFzIHVfc3RyVG9VVEYzMigpIGV4Y2VwdCBmb3Ig
dGhlIGFkZGl0aW9uYWwgc3ViY2hhciB3aGljaCBpcyBvdXRwdXQgZm9yCiAgKiBpbGxlZ2FsIGlu
cHV0IHNlcXVlbmNlcywgaW5zdGVhZCBvZiBzdG9wcGluZyB3aXRoIHRoZSBVX0lOVkFMSURfQ0hB
Ul9GT1VORCBlcnJvciBjb2RlLgpAQCAtMTU2Niw3ICsxNTYzLDYgQEAgdV9zdHJUb1VURjMyV2l0
aFN1YihVQ2hhcjMyICpkZXN0LAogCiAvKioKICAqIENvbnZlcnQgYSBVVEYtMzIgc3RyaW5nIHRv
IFVURi0xNi4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkLCB0aGVu
IHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KICAqCiAgKiBTYW1l
IGFzIHVfc3RyRnJvbVVURjMyKCkgZXhjZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdo
aWNoIGlzIG91dHB1dCBmb3IKICAqIGlsbGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9m
IHN0b3BwaW5nIHdpdGggdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0x
NjUyLDcgKzE2NDgsOCBAQCB1X3N0clRvSmF2YU1vZGlmaWVkVVRGOCgKIAogLyoqCiAgKiBDb252
ZXJ0IGEgSmF2YSBNb2RpZmllZCBVVEYtOCBzdHJpbmcgdG8gYSAxNi1iaXQgVW5pY29kZSBzdHJp
bmcuCi0gKiBJZiB0aGUgaW5wdXQgc3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1lZCwgdGhlbiB0aGUg
VV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29kZSBpcyBzZXQuCisgKiBJZiB0aGUgaW5wdXQg
c3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1lZCBhbmQgbm8gc3Vic3RpdHV0aW9uIGNoYXIgaXMgc3Bl
Y2lmaWVkLCAKKyAqIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUgaXMg
c2V0LgogICoKICAqIFRoaXMgZnVuY3Rpb24gYmVoYXZlcyBhY2NvcmRpbmcgdG8gdGhlIGRvY3Vt
ZW50YXRpb24gZm9yIEphdmEgRGF0YUlucHV0LnJlYWRVVEYoKQogICogZXhjZXB0IHRoYXQgaXQg
dGFrZXMgYSBsZW5ndGggcGFyYW1ldGVyIHJhdGhlciB0aGFuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL2ljdS91bmljb2RlL3V0ZjguaCBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdXRmOC5oCmlu
ZGV4IDIxZTVmM2QwNDc5MDUzMTU1ZjI5NGM0Mjg4NGY0Mjc0ZGE1NDRlYjguLjdiZDBiMGU4NTI2
MGYwMjBhODg1ZDU5YWJjMjRiZjMwNTA5N2QyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvaWN1
L3VuaWNvZGUvdXRmOC5oCisrKyBiL1NvdXJjZS9XVEYvaWN1L3VuaWNvZGUvdXRmOC5oCkBAIC0x
LDcgKzEsNyBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQg
KEMpIDE5OTktMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHly
aWdodCAoQykgMTk5OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAg
Q29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCkBAIC03OCw5ICs3OCw5IEBAIHV0ZjhfY291bnRUcmFpbEJ5dGVzWzI1
Nl07CiAgKiBAaW50ZXJuYWwKICAqLwogI2RlZmluZSBVOF9DT1VOVF9UUkFJTF9CWVRFUyhsZWFk
Qnl0ZSkgXAotICAgICgobGVhZEJ5dGUpPDB4ZjAgPyBcCi0gICAgICAgICgobGVhZEJ5dGUpPj0w
eGMwKSsoKGxlYWRCeXRlKT49MHhlMCkgOiBcCi0gICAgICAgIChsZWFkQnl0ZSk8MHhmZSA/IDMr
KChsZWFkQnl0ZSk+PTB4ZjgpKygobGVhZEJ5dGUpPj0weGZjKSA6IDApCisgICAgKCh1aW50OF90
KShsZWFkQnl0ZSk8MHhmMCA/IFwKKyAgICAgICAgKCh1aW50OF90KShsZWFkQnl0ZSk+PTB4YzAp
KygodWludDhfdCkobGVhZEJ5dGUpPj0weGUwKSA6IFwKKyAgICAgICAgKHVpbnQ4X3QpKGxlYWRC
eXRlKTwweGZlID8gMysoKHVpbnQ4X3QpKGxlYWRCeXRlKT49MHhmOCkrKCh1aW50OF90KShsZWFk
Qnl0ZSk+PTB4ZmMpIDogMCkKIAogLyoqCiAgKiBDb3VudHMgdGhlIHRyYWlsIGJ5dGVzIGZvciBh
IFVURi04IGxlYWQgYnl0ZSBvZiBhIHZhbGlkIFVURi04IHNlcXVlbmNlLgpAQCAtMjUzLDcgKzI1
Myw2IEBAIHV0ZjhfYmFjazFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0
LCBpbnQzMl90IGkpOwogICAgIFU4X05FWFQocywgX3U4X2dldF9pbmRleCwgbGVuZ3RoLCBjKTsg
XAogfQogCi0jaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKIC8qKgogICogR2V0IGEgY29kZSBwb2lu
dCBmcm9tIGEgc3RyaW5nIGF0IGEgcmFuZG9tLWFjY2VzcyBvZmZzZXQsCiAgKiB3aXRob3V0IGNo
YW5naW5nIHRoZSBvZmZzZXQuCkBAIC0yNzcsMTQgKzI3NiwxMyBAQCB1dGY4X2JhY2sxU2FmZUJv
ZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAqIEBwYXJh
bSBsZW5ndGggaW50MzJfdCBzdHJpbmcgbGVuZ3RoCiAgKiBAcGFyYW0gYyBvdXRwdXQgVUNoYXIz
MiB2YXJpYWJsZSwgc2V0IHRvIFUrRkZGRCBpbiBjYXNlIG9mIGFuIGVycm9yCiAgKiBAc2VlIFU4
X0dFVAotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwogI2RlZmluZSBV
OF9HRVRfT1JfRkZGRChzLCBzdGFydCwgaSwgbGVuZ3RoLCBjKSB7IFwKICAgICBpbnQzMl90IF91
OF9nZXRfaW5kZXg9KGkpOyBcCiAgICAgVThfU0VUX0NQX1NUQVJUKHMsIHN0YXJ0LCBfdThfZ2V0
X2luZGV4KTsgXAogICAgIFU4X05FWFRfT1JfRkZGRChzLCBfdThfZ2V0X2luZGV4LCBsZW5ndGgs
IGMpOyBcCiB9Ci0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAvKiBkZWZpbml0aW9u
cyB3aXRoIGZvcndhcmQgaXRlcmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAqLwogCkBAIC0zNjgsNyArMzY2LDYgQEAgdXRmOF9iYWNrMVNhZmVCb2R5KGNvbnN0
IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAgICAgfSBcCiB9CiAKLSNp
Zm5kZWYgVV9ISURFX0RSQUZUX0FQSQogLyoqCiAgKiBHZXQgYSBjb2RlIHBvaW50IGZyb20gYSBz
dHJpbmcgYXQgYSBjb2RlIHBvaW50IGJvdW5kYXJ5IG9mZnNldCwKICAqIGFuZCBhZHZhbmNlIHRo
ZSBvZmZzZXQgdG8gdGhlIG5leHQgY29kZSBwb2ludCBib3VuZGFyeS4KQEAgLTM5MSw3ICszODgs
NyBAQCB1dGY4X2JhY2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwg
aW50MzJfdCBpKTsKICAqIEBwYXJhbSBsZW5ndGggaW50MzJfdCBzdHJpbmcgbGVuZ3RoCiAgKiBA
cGFyYW0gYyBvdXRwdXQgVUNoYXIzMiB2YXJpYWJsZSwgc2V0IHRvIFUrRkZGRCBpbiBjYXNlIG9m
IGFuIGVycm9yCiAgKiBAc2VlIFU4X05FWFQKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUg
SUNVIDUxCiAgKi8KICNkZWZpbmUgVThfTkVYVF9PUl9GRkZEKHMsIGksIGxlbmd0aCwgYykgeyBc
CiAgICAgKGMpPSh1aW50OF90KShzKVsoaSkrK107IFwKQEAgLTQxOSw3ICs0MTYsNiBAQCB1dGY4
X2JhY2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBp
KTsKICAgICAgICAgfSBcCiAgICAgfSBcCiB9Ci0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAq
LwogCiAvKioKICAqIEFwcGVuZCBhIGNvZGUgcG9pbnQgdG8gYSBzdHJpbmcsIG92ZXJ3cml0aW5n
IDEgdG8gNCBieXRlcy4KQEAgLTY3Niw3ICs2NzIsNiBAQCB1dGY4X2JhY2sxU2FmZUJvZHkoY29u
c3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAgICB9IFwKIH0KIAot
I2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCiAvKioKICAqIE1vdmUgdGhlIHN0cmluZyBvZmZzZXQg
ZnJvbSBvbmUgY29kZSBwb2ludCBib3VuZGFyeSB0byB0aGUgcHJldmlvdXMgb25lCiAgKiBhbmQg
Z2V0IHRoZSBjb2RlIHBvaW50IGJldHdlZW4gdGhlbS4KQEAgLTY5OSw3ICs2OTQsNyBAQCB1dGY4
X2JhY2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBp
KTsKICAqIEBwYXJhbSBpIGludDMyX3Qgc3RyaW5nIG9mZnNldCwgbXVzdCBiZSBzdGFydDxpCiAg
KiBAcGFyYW0gYyBvdXRwdXQgVUNoYXIzMiB2YXJpYWJsZSwgc2V0IHRvIFUrRkZGRCBpbiBjYXNl
IG9mIGFuIGVycm9yCiAgKiBAc2VlIFU4X1BSRVYKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFi
bGUgSUNVIDUxCiAgKi8KICNkZWZpbmUgVThfUFJFVl9PUl9GRkZEKHMsIHN0YXJ0LCBpLCBjKSB7
IFwKICAgICAoYyk9KHVpbnQ4X3QpKHMpWy0tKGkpXTsgXApAQCAtNzA3LDcgKzcwMiw2IEBAIHV0
ZjhfYmFjazFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90
IGkpOwogICAgICAgICAoYyk9dXRmOF9wcmV2Q2hhclNhZmVCb2R5KChjb25zdCB1aW50OF90ICop
cywgc3RhcnQsICYoaSksIGMsIC0zKTsgXAogICAgIH0gXAogfQotI2VuZGlmIC8qIFVfSElERV9E
UkFGVF9BUEkgKi8KIAogLyoqCiAgKiBNb3ZlIHRoZSBzdHJpbmcgb2Zmc2V0IGZyb20gb25lIGNv
ZGUgcG9pbnQgYm91bmRhcnkgdG8gdGhlIHByZXZpb3VzIG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvaWN1L3VuaWNvZGUvdXR5cGVzLmggYi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3V0eXBl
cy5oCmluZGV4IDhmOTI0YzlkMTQyNDE3OTI4NDY0Yjc5NDQ3OTYxMjE3NjAxMDI5YjYuLjViOTg3
ODMxYzNkN2RhZDMzZjFlOGFlZjQ4NmU1ZTIwMjRjNjgwMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvaWN1L3VuaWNvZGUvdXR5cGVzLmgKKysrIGIvU291cmNlL1dURi9pY3UvdW5pY29kZS91dHlw
ZXMuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChD
KSAxOTk2LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmln
aHQgKEMpIDE5OTYtMjAxNSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENv
cnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgogKgpAQCAtNjQxLDEzICs2NDEsMTkgQEAgdHlwZWRlZiBlbnVtIFVFcnJvckNvZGUgewogICAg
IFVfUkVHRVhfSU5WQUxJRF9GTEFHLCAgICAgICAgICAgICAgICAgLyoqPCBJbnZhbGlkIHZhbHVl
IGZvciBtYXRjaCBtb2RlIGZsYWdzLiAgICAgICAgICAgICAgICAqLwogICAgIFVfUkVHRVhfTE9P
S19CRUhJTkRfTElNSVQsICAgICAgICAgICAgLyoqPCBMb29rLUJlaGluZCBwYXR0ZXJuIG1hdGNo
ZXMgbXVzdCBoYXZlIGEgYm91bmRlZCBtYXhpbXVtIGxlbmd0aC4gICAgKi8KICAgICBVX1JFR0VY
X1NFVF9DT05UQUlOU19TVFJJTkcsICAgICAgICAgIC8qKjwgUmVnZXhwcyBjYW5ub3QgaGF2ZSBV
bmljb2RlU2V0cyBjb250YWluaW5nIHN0cmluZ3MuKi8KLSAgICBVX1JFR0VYX09DVEFMX1RPT19C
SUcsICAgICAgICAgICAgICAgIC8qKjwgT2N0YWwgY2hhcmFjdGVyIGNvbnN0YW50cyBtdXN0IGJl
IDw9IDAzNzcuICAgICAgICAgKi8KLSAgICBVX1JFR0VYX01JU1NJTkdfQ0xPU0VfQlJBQ0tFVCwg
ICAgICAgIC8qKjwgTWlzc2luZyBjbG9zaW5nIGJyYWNrZXQgb24gYSBicmFja2V0IGV4cHJlc3Np
b24uICAgKi8KKyNpZm5kZWYgVV9ISURFX0RFUFJFQ0FURURfQVBJCisgICAgVV9SRUdFWF9PQ1RB
TF9UT09fQklHLCAgICAgICAgICAgICAgICAvKio8IE9jdGFsIGNoYXJhY3RlciBjb25zdGFudHMg
bXVzdCBiZSA8PSAwMzc3LiBAZGVwcmVjYXRlZCBJQ1UgNTQuIFRoaXMgZXJyb3IgY2Fubm90IG9j
Y3VyLiAqLworI2VuZGlmICAvKiBVX0hJREVfREVQUkVDQVRFRF9BUEkgKi8KKyAgICBVX1JFR0VY
X01JU1NJTkdfQ0xPU0VfQlJBQ0tFVD1VX1JFR0VYX1NFVF9DT05UQUlOU19TVFJJTkcrMiwgLyoq
PCBNaXNzaW5nIGNsb3NpbmcgYnJhY2tldCBvbiBhIGJyYWNrZXQgZXhwcmVzc2lvbi4gKi8KICAg
ICBVX1JFR0VYX0lOVkFMSURfUkFOR0UsICAgICAgICAgICAgICAgIC8qKjwgSW4gYSBjaGFyYWN0
ZXIgcmFuZ2UgW3gteV0sIHggaXMgZ3JlYXRlciB0aGFuIHkuICAgKi8KICAgICBVX1JFR0VYX1NU
QUNLX09WRVJGTE9XLCAgICAgICAgICAgICAgIC8qKjwgUmVndWxhciBleHByZXNzaW9uIGJhY2t0
cmFjayBzdGFjayBvdmVyZmxvdy4gICAgICAgKi8KICAgICBVX1JFR0VYX1RJTUVfT1VULCAgICAg
ICAgICAgICAgICAgICAgIC8qKjwgTWF4aW11bSBhbGxvd2VkIG1hdGNoIHRpbWUgZXhjZWVkZWQg
ICAgICAgICAgICAgICAgKi8KICAgICBVX1JFR0VYX1NUT1BQRURfQllfQ0FMTEVSLCAgICAgICAg
ICAgIC8qKjwgTWF0Y2hpbmcgb3BlcmF0aW9uIGFib3J0ZWQgYnkgdXNlciBjYWxsYmFjayBmbi4g
ICAgKi8KLSAgICBVX1JFR0VYX0VSUk9SX0xJTUlULCAgICAgICAgICAgICAgICAgIC8qKjwgVGhp
cyBtdXN0IGFsd2F5cyBiZSB0aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0aGUgbGltaXQgZm9y
IHJlZ2V4cCBlcnJvcnMgKi8KKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgIFVfUkVHRVhf
UEFUVEVSTl9UT09fQklHLCAgICAgICAgICAgICAgLyoqPCBQYXR0ZXJuIGV4Y2VlZHMgbGltaXRz
IG9uIHNpemUgb3IgY29tcGxleGl0eS4gQGRyYWZ0IElDVSA1NSAqLworICAgIFVfUkVHRVhfSU5W
QUxJRF9DQVBUVVJFX0dST1VQX05BTUUsICAgLyoqPCBJbnZhbGlkIGNhcHR1cmUgZ3JvdXAgbmFt
ZS4gQGRyYWZ0IElDVSA1NSAqLworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisgICAg
VV9SRUdFWF9FUlJPUl9MSU1JVD1VX1JFR0VYX1NUT1BQRURfQllfQ0FMTEVSKzMsIC8qKjwgVGhp
cyBtdXN0IGFsd2F5cyBiZSB0aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0aGUgbGltaXQgZm9y
IHJlZ2V4cCBlcnJvcnMgKi8KIAogICAgIC8qCiAgICAgICogVGhlIGVycm9yIGNvZGUgaW4gdGhl
IHJhbmdlIDB4MTA0MDAtMHgxMDRmZiBhcmUgcmVzZXJ2ZWQgZm9yIElETkEgcmVsYXRlZCBlcnJv
ciBjb2RlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9pY3UvdW5pY29kZS91dmVybnVtLmggYi9T
b3VyY2UvV1RGL2ljdS91bmljb2RlL3V2ZXJudW0uaAppbmRleCBiZDBiMGM5ODk4YTIzNTc5ZThm
YjgxMTlmNmNkMTYzOWFjMmE4ZjQ5Li4zZTJlZmY2MzFjMTA1ODU5NDAwYzJkNzAyYzUzODc2ODk0
YmNiMDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3V2ZXJudW0uaAorKysg
Yi9Tb3VyY2UvV1RGL2ljdS91bmljb2RlL3V2ZXJudW0uaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMTMsIEludGVy
bmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAxNSwg
SW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhl
cnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgpAQCAt
NTEsMTMgKzUxLDEzIEBACiAgKiAgQHN0YWJsZSBJQ1UgMi40CiAgKi8KICNkZWZpbmUgVV9DT1BZ
UklHSFRfU1RSSU5HIFwKLSAgIiBDb3B5cmlnaHQgKEMpIDIwMTMsIEludGVybmF0aW9uYWwgQnVz
aW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4gIgorICAiIENvcHlyaWdodCAoQykgMjAxNSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAiCiAKIC8q
KiBUaGUgY3VycmVudCBJQ1UgbWFqb3IgdmVyc2lvbiBhcyBhbiBpbnRlZ2VyLgogICogIFRoaXMg
dmFsdWUgd2lsbCBjaGFuZ2UgaW4gdGhlIHN1YnNlcXVlbnQgcmVsZWFzZXMgb2YgSUNVCiAgKiAg
QHN0YWJsZSBJQ1UgMi40CiAgKi8KLSNkZWZpbmUgVV9JQ1VfVkVSU0lPTl9NQUpPUl9OVU0gNTIK
KyNkZWZpbmUgVV9JQ1VfVkVSU0lPTl9NQUpPUl9OVU0gNTUKIAogLyoqIFRoZSBjdXJyZW50IElD
VSBtaW5vciB2ZXJzaW9uIGFzIGFuIGludGVnZXIuCiAgKiAgVGhpcyB2YWx1ZSB3aWxsIGNoYW5n
ZSBpbiB0aGUgc3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UKQEAgLTgzLDcgKzgzLDcgQEAKICAq
ICBUaGlzIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBzdWJzZXF1ZW50IHJlbGVhc2VzIG9mIElD
VQogICogIEBzdGFibGUgSUNVIDIuNgogICovCi0jZGVmaW5lIFVfSUNVX1ZFUlNJT05fU1VGRklY
IF81MgorI2RlZmluZSBVX0lDVV9WRVJTSU9OX1NVRkZJWCBfNTUKIAogLyoqCiAgKiBcZGVmIFVf
REVGMl9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FCkBAIC0xMTgsMTkgKzExOCwxOSBAQAogICogIFRo
aXMgdmFsdWUgd2lsbCBjaGFuZ2UgaW4gdGhlIHN1YnNlcXVlbnQgcmVsZWFzZXMgb2YgSUNVCiAg
KiAgQHN0YWJsZSBJQ1UgMi40CiAgKi8KLSNkZWZpbmUgVV9JQ1VfVkVSU0lPTiAiNTIuMSIKKyNk
ZWZpbmUgVV9JQ1VfVkVSU0lPTiAiNTUuMSIKIAogLyoqIFRoZSBjdXJyZW50IElDVSBsaWJyYXJ5
IG1ham9yL21pbm9yIHZlcnNpb24gYXMgYSBzdHJpbmcgd2l0aG91dCBkb3RzLCBmb3IgbGlicmFy
eSBuYW1lIHN1ZmZpeGVzLgogICogIFRoaXMgdmFsdWUgd2lsbCBjaGFuZ2UgaW4gdGhlIHN1YnNl
cXVlbnQgcmVsZWFzZXMgb2YgSUNVCiAgKiAgQHN0YWJsZSBJQ1UgMi42CiAgKi8KLSNkZWZpbmUg
VV9JQ1VfVkVSU0lPTl9TSE9SVCAiNTIiCisjZGVmaW5lIFVfSUNVX1ZFUlNJT05fU0hPUlQgIjU1
IgogCiAjaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEkKIC8qKiBEYXRhIHZlcnNpb24gaW4gSUNV
NEMuCiAgKiBAaW50ZXJuYWwgSUNVIDQuNCBJbnRlcm5hbCBVc2UgT25seQogICoqLwotI2RlZmlu
ZSBVX0lDVV9EQVRBX1ZFUlNJT04gIjUyLjEiCisjZGVmaW5lIFVfSUNVX0RBVEFfVkVSU0lPTiAi
NTUuMSIKICNlbmRpZiAgLyogVV9ISURFX0lOVEVSTkFMX0FQSSAqLwogCiAvKj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpAQCAtMTQ2LDcgKzE0Niw3IEBACiAgKiBUaGlzIHZhbHVlIG1heSBjaGFuZ2UgaW4g
c3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UuCiAgKiBAc3RhYmxlIElDVSAyLjQKICAqLwotI2Rl
ZmluZSBVQ09MX1JVTlRJTUVfVkVSU0lPTiA3CisjZGVmaW5lIFVDT0xfUlVOVElNRV9WRVJTSU9O
IDkKIAogLyoqCiAgKiBDb2xsYXRpb24gYnVpbGRlciBjb2RlIHZlcnNpb24uCkBAIC0xNTUsMTMg
KzE1NSwxNiBAQAogICogVGhpcyB2YWx1ZSBtYXkgY2hhbmdlIGluIHN1YnNlcXVlbnQgcmVsZWFz
ZXMgb2YgSUNVLgogICogQHN0YWJsZSBJQ1UgMi40CiAgKi8KLSNkZWZpbmUgVUNPTF9CVUlMREVS
X1ZFUlNJT04gOAorI2RlZmluZSBVQ09MX0JVSUxERVJfVkVSU0lPTiA5CiAKKyNpZm5kZWYgVV9I
SURFX0RFUFJFQ0FURURfQVBJCiAvKioKLSAqIFRoaXMgaXMgdGhlIHZlcnNpb24gb2YgY29sbGF0
aW9uIHRhaWxvcmluZ3MuCi0gKiBUaGlzIHZhbHVlIG1heSBjaGFuZ2UgaW4gc3Vic2VxdWVudCBy
ZWxlYXNlcyBvZiBJQ1UuCi0gKiBAc3RhYmxlIElDVSAyLjQKKyAqIENvbnN0YW50IDEuCisgKiBU
aGlzIHdhcyBpbnRlbmRlZCB0byBiZSB0aGUgdmVyc2lvbiBvZiBjb2xsYXRpb24gdGFpbG9yaW5n
cywKKyAqIGJ1dCBpbnN0ZWFkIHRoZSB0YWlsb3JpbmcgZGF0YSBjYXJyaWVzIGEgdmVyc2lvbiBu
dW1iZXIuCisgKiBAZGVwcmVjYXRlZCBJQ1UgNTQKICAqLwogI2RlZmluZSBVQ09MX1RBSUxPUklO
R1NfVkVSU0lPTiAxCisjZW5kaWYgIC8qIFVfSElERV9ERVBSRUNBVEVEX0FQSSAqLwogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS9MSUNFTlNFIGIvU291cmNlL1dlYkNv
cmUvaWN1L0xJQ0VOU0UKaW5kZXggMzg1ZDEzMGNkMDYyZTAwOTI1Y2UyYWZmZTIwZDBkZjgxY2U3
NWQ5ZS4uZDZmMGVlYmJjNjU5MDE4ZGQwYzk0ZTRhMjg1Y2U3Y2Y3NjhkOGNjZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaWN1L0xJQ0VOU0UKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L0xJ
Q0VOU0UKQEAgLTEsNiArMSw2IEBACiBDT1BZUklHSFQgQU5EIFBFUk1JU1NJT04gTk9USUNFCiAK
LUNvcHlyaWdodCAoYykgMTk5NS0yMDA2IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMg
Q29ycG9yYXRpb24gYW5kIG90aGVycworQ29weXJpZ2h0IChjKSAxOTk1LTIwMTUgSW50ZXJuYXRp
b25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzCiAKIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS9SRUFETUUgYi9T
b3VyY2UvV2ViQ29yZS9pY3UvUkVBRE1FCmluZGV4IDM4OWUyZTgwMTNiOWMwYmQ2MjQ4NjlkMjAy
YzEzODc5NDVhZDc1OWUuLjMyNmVmZTE3OTg2NDUwOTVlOWE2YzRlYzNhMjljZDJkNDkxNGIxMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS9SRUFETUUKKysrIGIvU291cmNlL1dlYkNv
cmUvaWN1L1JFQURNRQpAQCAtMSw0ICsxLDEyIEBACi1UaGUgaGVhZGVycyBpbiB0aGlzIGRpcmVj
dG9yeSBhcmUgZm9yIGNvbXBpbGluZyBvbiBNYWMgT1MgWCAxMC40LgotVGhlIE1hYyBPUyBYIDEw
LjQgcmVsZWFzZSBpbmNsdWRlcyB0aGUgSUNVIGJpbmFyeSwgYnV0IG5vdCBJQ1UgaGVhZGVycy4K
K1RoZSBoZWFkZXJzIGluIHRoaXMgZGlyZWN0b3J5IGFyZSBmb3IgY29tcGlsaW5nIG9uIE1hYyBP
UyBYIDEwLjQgYW5kIG5ld2VyLgorVGhlIE1hYyBPUyBYIDEwLjQgYW5kIHN1YnNlcXVlbnQgcmVs
ZWFzZXMgaW5jbHVkZSB0aGUgSUNVIGJpbmFyeSwgYnV0IG5vdCBJQ1UgaGVhZGVycy4KKwogRm9y
IG90aGVyIHBsYXRmb3JtcywgaW5zdGFsbGVkIElDVSBoZWFkZXJzIHNob3VsZCBiZSB1c2VkIHJh
dGhlciB0aGFuIHRoZXNlLgotVGhleSBhcmUgc3BlY2lmaWMgdG8gTWFjIE9TIFggMTAuNC4KK1Ro
ZXkgYXJlIHNwZWNpZmljIHRvIHRoZSBNYWMgT1MgWCBwbGF0Zm9ybS4KKworVGhlIGhlYWRlcnMg
aGVyZSBhcmUgZnJvbSBJQ1UgdmVyc2lvbiA1NS4xIGRvd25sb2FkZWQgZnJvbSB0aGUgSUNVIHBy
b2plY3QuCitodHRwOi8vc2l0ZS5pY3UtcHJvamVjdC5vcmcvZG93bmxvYWQvNTUjVE9DLUlDVTRD
LURvd25sb2FkCisKK1RoZSBmb2xsb3dpbmcgY2hhbmdlcyBhcmUgbmVlZGVkIGFnYWluIGlmIHlv
dSB1cGRhdGUgdGhlIGZpbGVzOgordXR5cGVzLmg6NjIgVV9TSE9XX0NQTFVTUExVU19BUEkgMAor
dWNvbmZpZy5oOjkwIFVfRElTQUJMRV9SRU5BTUlORyAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pY3UvdW5pY29kZS9sb2NhbHBvaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmlj
b2RlL2xvY2FscG9pbnRlci5oCmluZGV4IGUzY2NiMjU4MTU0Y2MyMTYwOThlYmMyNzM5ZmI3YjY4
MjIwNTljOTguLmUzYWFiZjY1YzM4MDcwNmZhMDg4NTM2OTc0ODdjNzI3YWI5YWJhZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL2xvY2FscG9pbnRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL2xvY2FscG9pbnRlci5oCkBAIC0xLDcgKzEsNyBAQAog
LyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQgKEMpIDIwMDktMjAx
MiwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMjAw
OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24g
YW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCkBAIC0xOTEsNiArMTkxLDI2IEBAIHB1YmxpYzoKICAgICAgKiBAc3RhYmxlIElDVSA0LjQK
ICAgICAgKi8KICAgICBleHBsaWNpdCBMb2NhbFBvaW50ZXIoVCAqcD1OVUxMKSA6IExvY2FsUG9p
bnRlckJhc2U8VD4ocCkge30KKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgIC8qKgorICAg
ICAqIENvbnN0cnVjdG9yIHRha2VzIG93bmVyc2hpcCBhbmQgcmVwb3J0cyBhbiBlcnJvciBpZiBO
VUxMLgorICAgICAqCisgICAgICogVGhpcyBjb25zdHJ1Y3RvciBpcyBpbnRlbmRlZCB0byBiZSB1
c2VkIHdpdGggb3RoZXItY2xhc3MgY29uc3RydWN0b3JzCisgICAgICogdGhhdCBtYXkgcmVwb3J0
IGEgZmFpbHVyZSBVRXJyb3JDb2RlLAorICAgICAqIHNvIHRoYXQgY2FsbGVycyBuZWVkIHRvIGNo
ZWNrIG9ubHkgZm9yIFVfRkFJTFVSRShlcnJvckNvZGUpCisgICAgICogYW5kIG5vdCBhbHNvIHNl
cGFyYXRlbHkgZm9yIGlzTnVsbCgpLgorICAgICAqCisgICAgICogQHBhcmFtIHAgc2ltcGxlIHBv
aW50ZXIgdG8gYW4gb2JqZWN0IHRoYXQgaXMgYWRvcHRlZAorICAgICAqIEBwYXJhbSBlcnJvckNv
ZGUgaW4vb3V0IFVFcnJvckNvZGUsIHNldCB0byBVX01FTU9SWV9BTExPQ0FUSU9OX0VSUk9SCisg
ICAgICogICAgIGlmIHA9PU5VTEwgYW5kIG5vIG90aGVyIGZhaWx1cmUgY29kZSBoYWQgYmVlbiBz
ZXQKKyAgICAgKiBAZHJhZnQgSUNVIDU1CisgICAgICovCisgICAgTG9jYWxQb2ludGVyKFQgKnAs
IFVFcnJvckNvZGUgJmVycm9yQ29kZSkgOiBMb2NhbFBvaW50ZXJCYXNlPFQ+KHApIHsKKyAgICAg
ICAgaWYocD09TlVMTCAmJiBVX1NVQ0NFU1MoZXJyb3JDb2RlKSkgeworICAgICAgICAgICAgZXJy
b3JDb2RlPVVfTUVNT1JZX0FMTE9DQVRJT05fRVJST1I7CisgICAgICAgIH0KKyAgICB9CisjZW5k
aWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KICAgICAvKioKICAgICAgKiBEZXN0cnVjdG9yIGRl
bGV0ZXMgdGhlIG9iamVjdCBpdCBvd25zLgogICAgICAqIEBzdGFibGUgSUNVIDQuNApAQCAtMjA4
LDYgKzIyOCwzNCBAQCBwdWJsaWM6CiAgICAgICAgIGRlbGV0ZSBMb2NhbFBvaW50ZXJCYXNlPFQ+
OjpwdHI7CiAgICAgICAgIExvY2FsUG9pbnRlckJhc2U8VD46OnB0cj1wOwogICAgIH0KKyNpZm5k
ZWYgVV9ISURFX0RSQUZUX0FQSQorICAgIC8qKgorICAgICAqIERlbGV0ZXMgdGhlIG9iamVjdCBp
dCBvd25zLAorICAgICAqIGFuZCBhZG9wdHMgKHRha2VzIG93bmVyc2hpcCBvZikgdGhlIG9uZSBw
YXNzZWQgaW4uCisgICAgICoKKyAgICAgKiBJZiBVX0ZBSUxVUkUoZXJyb3JDb2RlKSwgdGhlbiB0
aGUgY3VycmVudCBvYmplY3QgaXMgcmV0YWluZWQgYW5kIHRoZSBuZXcgb25lIGRlbGV0ZWQuCisg
ICAgICoKKyAgICAgKiBJZiBVX1NVQ0NFU1MoZXJyb3JDb2RlKSBidXQgdGhlIGlucHV0IHBvaW50
ZXIgaXMgTlVMTCwKKyAgICAgKiB0aGVuIFVfTUVNT1JZX0FMTE9DQVRJT05fRVJST1IgaXMgc2V0
LAorICAgICAqIHRoZSBjdXJyZW50IG9iamVjdCBpcyBkZWxldGVkLCBhbmQgTlVMTCBpcyBzZXQu
CisgICAgICoKKyAgICAgKiBAcGFyYW0gcCBzaW1wbGUgcG9pbnRlciB0byBhbiBvYmplY3QgdGhh
dCBpcyBhZG9wdGVkCisgICAgICogQHBhcmFtIGVycm9yQ29kZSBpbi9vdXQgVUVycm9yQ29kZSwg
c2V0IHRvIFVfTUVNT1JZX0FMTE9DQVRJT05fRVJST1IKKyAgICAgKiAgICAgaWYgcD09TlVMTCBh
bmQgbm8gb3RoZXIgZmFpbHVyZSBjb2RlIGhhZCBiZWVuIHNldAorICAgICAqIEBkcmFmdCBJQ1Ug
NTUKKyAgICAgKi8KKyAgICB2b2lkIGFkb3B0SW5zdGVhZEFuZENoZWNrRXJyb3JDb2RlKFQgKnAs
IFVFcnJvckNvZGUgJmVycm9yQ29kZSkgeworICAgICAgICBpZihVX1NVQ0NFU1MoZXJyb3JDb2Rl
KSkgeworICAgICAgICAgICAgZGVsZXRlIExvY2FsUG9pbnRlckJhc2U8VD46OnB0cjsKKyAgICAg
ICAgICAgIExvY2FsUG9pbnRlckJhc2U8VD46OnB0cj1wOworICAgICAgICAgICAgaWYocD09TlVM
TCkgeworICAgICAgICAgICAgICAgIGVycm9yQ29kZT1VX01FTU9SWV9BTExPQ0FUSU9OX0VSUk9S
OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVsZXRlIHA7
CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KIH07CiAK
IC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvcGxhdGZvcm0uaCBi
L1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3BsYXRmb3JtLmgKaW5kZXggMWIyYWIzMDZlYTMz
NzgyOWZkOTliMmMwZjI4MjcwZDI5YzdiYjJmZi4uNDgyOTAwMDY5ZDEwY2E4NzI2OTNlYTgxOWM1
ZTQzNGVmNGNlZWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvcGxh
dGZvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS9wbGF0Zm9ybS5oCkBAIC0x
LDcgKzEsNyBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgotKiAgIENvcHlyaWdodCAo
QykgMTk5Ny0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJp
Z2h0IChDKSAxOTk3LTIwMTUsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBD
b3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgpAQCAtMTIxLDEwICsxMjEsMTYgQEAKICNkZWZpbmUgVV9QRl9RTlggMzcw
MAogLyoqIExpbnV4IGlzIGEgVW5peC1saWtlIG9wZXJhdGluZyBzeXN0ZW0uIEBpbnRlcm5hbCAq
LwogI2RlZmluZSBVX1BGX0xJTlVYIDQwMDAKKy8qKgorICogTmF0aXZlIENsaWVudCBpcyBwcmV0
dHkgY2xvc2UgdG8gTGludXguCisgKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9u
YXRpdmUtY2xpZW50IGFuZAorICogIGh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL25hdGl2ZWNsaWVu
dAorICogIEBpbnRlcm5hbAorICovCisjZGVmaW5lIFVfUEZfQlJPV1NFUl9OQVRJVkVfQ0xJRU5U
IDQwMjAKIC8qKiBBbmRyb2lkIGlzIGJhc2VkIG9uIExpbnV4LiBAaW50ZXJuYWwgKi8KICNkZWZp
bmUgVV9QRl9BTkRST0lEIDQwNTAKLS8qKiAiQ2xhc3NpYyIgTWFjIE9TICgxOTg0LTIwMDEpIEBp
bnRlcm5hbCAqLwotI2RlZmluZSBVX1BGX0NMQVNTSUNfTUFDT1MgODAwMAorLyogTWF4aW11bSB2
YWx1ZSBmb3IgTGludXgtYmFzZWQgcGxhdGZvcm0gaXMgNDQ5OSAqLwogLyoqIHovT1MgaXMgdGhl
IHN1Y2Nlc3NvciB0byBPUy8zOTAgd2hpY2ggd2FzIHRoZSBzdWNjZXNzb3IgdG8gTVZTLiBAaW50
ZXJuYWwgKi8KICNkZWZpbmUgVV9QRl9PUzM5MCA5MDAwCiAvKiogIklCTSBpIiBpcyB0aGUgY3Vy
cmVudCBuYW1lIG9mIHdoYXQgdXNlZCB0byBiZSBpNS9PUyBhbmQgZWFybGllciBPUy80MDAuIEBp
bnRlcm5hbCAqLwpAQCAtMTQyLDYgKzE0OCw4IEBACiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9Q
Rl9BTkRST0lECiAgICAgLyogQW5kcm9pZCB3Y2hhcl90IHN1cHBvcnQgZGVwZW5kcyBvbiB0aGUg
QVBJIGxldmVsLiAqLwogIyAgIGluY2x1ZGUgPGFuZHJvaWQvYXBpLWxldmVsLmg+CisjZWxpZiBk
ZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKQorIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfQlJP
V1NFUl9OQVRJVkVfQ0xJRU5UCiAjZWxpZiBkZWZpbmVkKGxpbnV4KSB8fCBkZWZpbmVkKF9fbGlu
dXhfXykgfHwgZGVmaW5lZChfX2xpbnV4KQogIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfTElO
VVgKICNlbGlmIGRlZmluZWQoX19BUFBMRV9fKSAmJiBkZWZpbmVkKF9fTUFDSF9fKQpAQCAtMTY5
LDggKzE3Nyw2IEBACiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9IUFVYCiAjZWxpZiBkZWZp
bmVkKHNnaSkgfHwgZGVmaW5lZChfX3NnaSkKICMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0lS
SVgKLSNlbGlmIGRlZmluZWQobWFjaW50b3NoKQotIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZf
Q0xBU1NJQ19NQUNPUwogI2VsaWYgZGVmaW5lZChfX1FOWF9fKSB8fCBkZWZpbmVkKF9fUU5YTlRP
X18pCiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9RTlgKICNlbGlmIGRlZmluZWQoX19UT1Nf
TVZTX18pCkBAIC0yMzAsNyArMjM2LDcgQEAKICAqLwogI2lmZGVmIFVfUExBVEZPUk1fSU1QTEVN
RU5UU19QT1NJWAogICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1ZS4gKi8KLSNlbGlmIFVf
UExBVEZPUk1fVVNFU19PTkxZX1dJTjMyX0FQSSB8fCBVX1BMQVRGT1JNID09IFVfUEZfQ0xBU1NJ
Q19NQUNPUworI2VsaWYgVV9QTEFURk9STV9VU0VTX09OTFlfV0lOMzJfQVBJCiAjICAgZGVmaW5l
IFVfUExBVEZPUk1fSU1QTEVNRU5UU19QT1NJWCAwCiAjZWxzZQogIyAgIGRlZmluZSBVX1BMQVRG
T1JNX0lNUExFTUVOVFNfUE9TSVggMQpAQCAtMjQzLDcgKzI0OSw3IEBACiAgKi8KICNpZmRlZiBV
X1BMQVRGT1JNX0lTX0xJTlVYX0JBU0VECiAgICAgLyogVXNlIHRoZSBwcmVkZWZpbmVkIHZhbHVl
LiAqLwotI2VsaWYgVV9QRl9MSU5VWCA8PSBVX1BMQVRGT1JNICYmIFVfUExBVEZPUk0gPD0gVV9Q
Rl9BTkRST0lECisjZWxpZiBVX1BGX0xJTlVYIDw9IFVfUExBVEZPUk0gJiYgVV9QTEFURk9STSA8
PSA0NDk5CiAjICAgZGVmaW5lIFVfUExBVEZPUk1fSVNfTElOVVhfQkFTRUQgMQogI2Vsc2UKICMg
ICBkZWZpbmUgVV9QTEFURk9STV9JU19MSU5VWF9CQVNFRCAwCkBAIC01NzksNyArNTg1LDcgQEAK
ICAqLwogI2lmZGVmIFVfU0laRU9GX1dDSEFSX1QKICAgICAvKiBVc2UgdGhlIHByZWRlZmluZWQg
dmFsdWUuICovCi0jZWxpZiAoVV9QTEFURk9STSA9PSBVX1BGX0FORFJPSUQgJiYgX19BTkRST0lE
X0FQSV9fIDwgOSkgfHwgVV9QTEFURk9STSA9PSBVX1BGX0NMQVNTSUNfTUFDT1MKKyNlbGlmIChV
X1BMQVRGT1JNID09IFVfUEZfQU5EUk9JRCAmJiBfX0FORFJPSURfQVBJX18gPCA5KQogICAgIC8q
CiAgICAgICogQ2xhc3NpYyBNYWMgT1MgYW5kIE1hYyBPUyBYIGJlZm9yZSAxMC4zIChQYW50aGVy
KSBkaWQgbm90IHN1cHBvcnQgd2NoYXJfdCBvciB3c3RyaW5nLgogICAgICAqIE5ld2VyIE1hYyBP
UyBYIGhhcyBzaXplIDQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS9w
dXRpbC5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvcHV0aWwuaAppbmRleCA2ZmM3ZTlj
ZDVhNjJhNTU5NDZhZTZkNzc4N2JmMjVkMjM2MTEwYTFhLi5kZjFiMTdiYWQwZjY1MzUxMGZkZjE4
ZGQ0Yzc4ZWFkOTRhOGEyMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29k
ZS9wdXRpbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3B1dGlsLmgKQEAgLTEs
NyArMSw3IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChD
KSAxOTk3LTIwMTEsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmln
aHQgKEMpIDE5OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENv
cnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCkBAIC02Niw2ICs2Niw3IEBACiAgKi8KIFVfU1RBQkxFIGNvbnN0IGNoYXIq
IFVfRVhQT1JUMiB1X2dldERhdGFEaXJlY3Rvcnkodm9pZCk7CiAKKwogLyoqIAogICogU2V0IHRo
ZSBJQ1UgZGF0YSBkaXJlY3RvcnkuIAogICogVGhlIGRhdGEgZGlyZWN0b3J5IGlzIHdoZXJlIGNv
bW1vbiBmb3JtYXQgSUNVIGRhdGEgZmlsZXMgKC5kYXQgZmlsZXMpCkBAIC04NywyMCArODgsMzYg
QEAgVV9TVEFCTEUgY29uc3QgY2hhciogVV9FWFBPUlQyIHVfZ2V0RGF0YURpcmVjdG9yeSh2b2lk
KTsKICAqLwogVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgdV9zZXREYXRhRGlyZWN0b3J5KGNvbnN0
IGNoYXIgKmRpcmVjdG9yeSk7CiAKKyNpZm5kZWYgVV9ISURFX0lOVEVSTkFMX0FQSQorLyoqCisg
ICogUmV0dXJuIHRoZSB0aW1lIHpvbmUgZmlsZXMgb3ZlcnJpZGUgZGlyZWN0b3J5LCBvciBhbiBl
bXB0eSBzdHJpbmcgaWYKKyAgKiBubyBkaXJlY3Rvcnkgd2FzIHNwZWNpZmllZC4gQ2VydGFpbiB0
aW1lIHpvbmUgcmVzb3VyY2VzIHdpbGwgYmUgcHJlZmVycmVudGlhbGx5CisgICogbG9hZGVkIGZy
b20gaW5kaXZpZHVhbCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KKyAgKgorICAqIEByZXR1cm4g
dGhlIHRpbWUgem9uZSBkYXRhIG92ZXJyaWRlIGRpcmVjdG9yeS4KKyAgKiBAaW50ZXJuYWwKKyAg
Ki8gCitVX0lOVEVSTkFMIGNvbnN0IGNoYXIgKiBVX0VYUE9SVDIgdV9nZXRUaW1lWm9uZUZpbGVz
RGlyZWN0b3J5KFVFcnJvckNvZGUgKnN0YXR1cyk7CisKKy8qKgorICAqIFNldCB0aGUgdGltZSB6
b25lIGZpbGVzIG92ZXJyaWRlIGRpcmVjdG9yeS4KKyAgKiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB0
aHJlYWQgc2FmZTsgaXQgbXVzdCBub3QgYmUgY2FsbGVkIGNvbmN1cnJlbnRseSB3aXRoCisgICog
ICB1X2dldFRpbWVab25lRmlsZXNEaXJlY3RvcnkoKSBvciBhbnkgb3RoZXIgdXNlIG9mIElDVSB0
aW1lIHpvbmUgZnVuY3Rpb25zLgorICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2Fs
bGVkIGJlZm9yZSB1c2luZyBhbnkgSUNVIHNlcnZpY2UgdGhhdAorICAqICAgd2lsbCBhY2Nlc3Mg
dGhlIHRpbWUgem9uZSBkYXRhLgorICAqIEBpbnRlcm5hbAorICAqLworVV9JTlRFUk5BTCB2b2lk
IFVfRVhQT1JUMiB1X3NldFRpbWVab25lRmlsZXNEaXJlY3RvcnkoY29uc3QgY2hhciAqcGF0aCwg
VUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9ISURFX0lOVEVSTkFMX0FQSSAqLwor
CisKIC8qKgogICogQHsKICAqIEZpbGVzeXN0ZW0gZmlsZSBhbmQgcGF0aCBzZXBhcmF0b3IgY2hh
cmFjdGVycy4KICAqIEV4YW1wbGU6ICcvJyBhbmQgJzonIG9uIFVuaXgsICdcXCcgYW5kICc7JyBv
biBXaW5kb3dzLgogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLSNpZiBVX1BMQVRGT1JNID09IFVf
UEZfQ0xBU1NJQ19NQUNPUwotIyAgIGRlZmluZSBVX0ZJTEVfU0VQX0NIQVIgJzonCi0jICAgZGVm
aW5lIFVfRklMRV9BTFRfU0VQX0NIQVIgJzonCi0jICAgZGVmaW5lIFVfUEFUSF9TRVBfQ0hBUiAn
OycKLSMgICBkZWZpbmUgVV9GSUxFX1NFUF9TVFJJTkcgIjoiCi0jICAgZGVmaW5lIFVfRklMRV9B
TFRfU0VQX1NUUklORyAiOiIKLSMgICBkZWZpbmUgVV9QQVRIX1NFUF9TVFJJTkcgIjsiCi0jZWxp
ZiBVX1BMQVRGT1JNX1VTRVNfT05MWV9XSU4zMl9BUEkKKyNpZiBVX1BMQVRGT1JNX1VTRVNfT05M
WV9XSU4zMl9BUEkKICMgICBkZWZpbmUgVV9GSUxFX1NFUF9DSEFSICdcXCcKICMgICBkZWZpbmUg
VV9GSUxFX0FMVF9TRVBfQ0hBUiAnLycKICMgICBkZWZpbmUgVV9QQVRIX1NFUF9DSEFSICc7Jwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvc3RkX3N0cmluZy5oIGIvU291
cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvc3RkX3N0cmluZy5oCmluZGV4IDY3YjFkNmM1YWFkMTBh
MGI2MjgzN2MyNTI1NDc3NjM1YjZiMDFmMjIuLjA1OTU1YzVkMWU3MjdmOGUzNWJjYWViN2Q5NWY4
NWE3MGQ2MzBjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3N0ZF9z
dHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS9zdGRfc3RyaW5nLmgKQEAg
LTEsNyArMSw3IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgotKiAgIENvcHlyaWdo
dCAoQykgMjAwOS0yMDExLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29w
eXJpZ2h0IChDKSAyMDA5LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICog
ICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKQEAgLTE4LDcgKzE4LDcgQEAKICNkZWZpbmUgX19TVERfU1RSSU5H
X0hfXwogCiAvKioKLSAqIFxmaWxlIAorICogXGZpbGUKICAqIFxicmllZiBDKysgQVBJOiBDZW50
cmFsIElDVSBoZWFkZXIgZm9yIGluY2x1ZGluZyB0aGUgQysrIHN0YW5kYXJkICZsdDtzdHJpbmcm
Z3Q7CiAgKiAgICAgICAgICAgICAgICAgaGVhZGVyIGFuZCBmb3IgcmVsYXRlZCBkZWZpbml0aW9u
cy4KICAqLwpAQCAtMjcsNiArMjcsOSBAQAogCiAjaWYgVV9IQVZFX1NURF9TVFJJTkcKIAorI2lm
ICFkZWZpbmVkKF9NU0NfVkVSKQorbmFtZXNwYWNlIHN0ZCB7IGNsYXNzIHR5cGVfaW5mbzsgfSAv
LyBXT1JLQVJPVU5EOiBodHRwOi8vbGx2bS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNjQK
KyNlbmRpZgogI2luY2x1ZGUgPHN0cmluZz4KIAogI2VuZGlmICAvLyBVX0hBVkVfU1REX1NUUklO
RwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdWJyay5oIGIvU291cmNl
L1dlYkNvcmUvaWN1L3VuaWNvZGUvdWJyay5oCmluZGV4IGU5YzBlZjYyN2I2NzI3OWY4NmU0NjA0
NGJmMGYyNTcxMDJlMGM2Y2QuLjliZGI0ZDVkOWRlMzE4OGUzZmVkNzJlMzllZmViNzUyYjVkYTVi
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VicmsuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91YnJrLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0qIENvcHlyaWdodCAoQykgMTk5Ni0yMDEzLCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisqIENvcHlyaWdo
dCAoQykgMTk5Ni0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0
aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKICovCkBAIC0zNzgsMTAgKzM3OCw5IEBAIFVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQy
CiB1YnJrX3ByZXZpb3VzKFVCcmVha0l0ZXJhdG9yICpiaSk7CiAKIC8qKgotICogU2V0IHRoZSBp
dGVyYXRvciBwb3NpdGlvbiB0byB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiB0
aGUgdGV4dCBiZWluZyBzY2FubmVkLgotICogVGhpcyBpcyBub3QgYWx3YXlzIHRoZSBzYW1lIGFz
IGluZGV4IDAgb2YgdGhlIHRleHQuCisgKiBTZXQgdGhlIGl0ZXJhdG9yIHBvc2l0aW9uIHRvIHpl
cm8sIHRoZSBzdGFydCBvZiB0aGUgdGV4dCBiZWluZyBzY2FubmVkLgogICogQHBhcmFtIGJpIFRo
ZSBicmVhayBpdGVyYXRvciB0byB1c2UuCi0gKiBAcmV0dXJuIFRoZSBjaGFyYWN0ZXIgaW5kZXgg
b2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiB0aGUgdGV4dCBiZWluZyBzY2FubmVkLgorICogQHJl
dHVybiBUaGUgbmV3IGl0ZXJhdG9yIHBvc2l0aW9uICh6ZXJvKS4KICAqIEBzZWUgdWJya19sYXN0
CiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1
L3VuaWNvZGUvdWNoYXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VjaGFyLmgKaW5k
ZXggMWE1YjcxYjQ2M2U0ODM2ZWU1MTM1MmJhYWM2YjRlNGM3MjYzZjMxZS4uMWQzYWUwZGQ0M2Y0
MzVmYmYwMWVjMmRlZTBlNTE2MzkyMWQ2ZTU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aWN1L3VuaWNvZGUvdWNoYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91Y2hh
ci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMp
IDE5OTctMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdo
dCAoQykgMTk5Ny0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29y
cG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CiAqCkBAIC0zOSw3ICszOSw3IEBAIFVfQ0RFQ0xfQkVHSU4KICAqIEBzZWUgdV9nZXRVbmljb2Rl
VmVyc2lvbgogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLSNkZWZpbmUgVV9VTklDT0RFX1ZFUlNJ
T04gIjYuMyIKKyNkZWZpbmUgVV9VTklDT0RFX1ZFUlNJT04gIjcuMCIKIAogLyoqCiAgKiBcZmls
ZQpAQCAtMTQ1Miw4ICsxNDUyLDc1IEBAIGVudW0gVUJsb2NrQ29kZSB7CiAgICAgLyoqIEBzdGFi
bGUgSUNVIDQ5ICovCiAgICAgVUJMT0NLX1RBS1JJID0gMjIwLCAvKlsxMTY4MF0qLwogCi0gICAg
LyoqIEBzdGFibGUgSUNVIDIuMCAqLwotICAgIFVCTE9DS19DT1VOVCA9IDIyMSwKKyAgICAvKiBO
ZXcgYmxvY2tzIGluIFVuaWNvZGUgNy4wICovCisKKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICBVQkxPQ0tfQkFTU0FfVkFIID0gMjIxLCAvKlsxNkFEMF0qLworICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVCTE9DS19DQVVDQVNJQU5fQUxCQU5JQU4gPSAyMjIsIC8qWzEwNTMw
XSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0NPUFRJQ19FUEFDVF9O
VU1CRVJTID0gMjIzLCAvKlsxMDJFMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVCTE9DS19DT01CSU5JTkdfRElBQ1JJVElDQUxfTUFSS1NfRVhURU5ERUQgPSAyMjQsIC8qWzFB
QjBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfRFVQTE9ZQU4gPSAy
MjUsIC8qWzFCQzAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0VM
QkFTQU4gPSAyMjYsIC8qWzEwNTAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAg
VUJMT0NLX0dFT01FVFJJQ19TSEFQRVNfRVhURU5ERUQgPSAyMjcsIC8qWzFGNzgwXSovCisgICAg
LyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0dSQU5USEEgPSAyMjgsIC8qWzExMzAw
XSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0tIT0pLSSA9IDIyOSwg
LypbMTEyMDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfS0hVREFX
QURJID0gMjMwLCAvKlsxMTJCMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVC
TE9DS19MQVRJTl9FWFRFTkRFRF9FID0gMjMxLCAvKltBQjMwXSovCisgICAgLyoqIEBzdGFibGUg
SUNVIDU0ICovCisgICAgVUJMT0NLX0xJTkVBUl9BID0gMjMyLCAvKlsxMDYwMF0qLworICAgIC8q
KiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19NQUhBSkFOSSA9IDIzMywgLypbMTExNTBd
Ki8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTUFOSUNIQUVBTiA9IDIz
NCwgLypbMTBBQzBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTUVO
REVfS0lLQUtVSSA9IDIzNSwgLypbMUU4MDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICBVQkxPQ0tfTU9ESSA9IDIzNiwgLypbMTE2MDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICBVQkxPQ0tfTVJPID0gMjM3LCAvKlsxNkE0MF0qLworICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgIFVCTE9DS19NWUFOTUFSX0VYVEVOREVEX0IgPSAyMzgsIC8qW0E5RTBd
Ki8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTkFCQVRBRUFOID0gMjM5
LCAvKlsxMDg4MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19PTERf
Tk9SVEhfQVJBQklBTiA9IDI0MCwgLypbMTBBODBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVQkxPQ0tfT0xEX1BFUk1JQyA9IDI0MSwgLypbMTAzNTBdKi8KKyAgICAvKiogQHN0
YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfT1JOQU1FTlRBTF9ESU5HQkFUUyA9IDI0MiwgLypb
MUY2NTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfUEFIQVdIX0hN
T05HID0gMjQzLCAvKlsxNkIwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVC
TE9DS19QQUxNWVJFTkUgPSAyNDQsIC8qWzEwODYwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX1BBVV9DSU5fSEFVID0gMjQ1LCAvKlsxMUFDMF0qLworICAgIC8qKiBA
c3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19QU0FMVEVSX1BBSExBVkkgPSAyNDYsIC8qWzEw
QjgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1NIT1JUSEFORF9G
T1JNQVRfQ09OVFJPTFMgPSAyNDcsIC8qWzFCQ0EwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX1NJRERIQU0gPSAyNDgsIC8qWzExNTgwXSovCisgICAgLyoqIEBzdGFi
bGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1NJTkhBTEFfQVJDSEFJQ19OVU1CRVJTID0gMjQ5LCAv
KlsxMTFFMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19TVVBQTEVN
RU5UQUxfQVJST1dTX0MgPSAyNTAsIC8qWzFGODAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0
ICovCisgICAgVUJMT0NLX1RJUkhVVEEgPSAyNTEsIC8qWzExNDgwXSovCisgICAgLyoqIEBzdGFi
bGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1dBUkFOR19DSVRJID0gMjUyLCAvKlsxMThBMF0qLwor
CisgICAgLyoqIEBzdGFibGUgSUNVIDIuMCAqLworICAgIFVCTE9DS19DT1VOVCA9IDI1MywKIAog
ICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8KICAgICBVQkxPQ0tfSU5WQUxJRF9DT0RFPS0xCkBA
IC0xNjYyLDYgKzE3MjksMzQgQEAgdHlwZWRlZiBlbnVtIFVKb2luaW5nR3JvdXAgewogICAgIFVf
SkdfRkFSU0lfWUVILCAvKio8IEBzdGFibGUgSUNVIDQuNCAqLwogICAgIFVfSkdfTllBLCAgICAg
ICAvKio8IEBzdGFibGUgSUNVIDQuNCAqLwogICAgIFVfSkdfUk9ISU5HWUFfWUVILCAgLyoqPCBA
c3RhYmxlIElDVSA0OSAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9BTEVQSCwgIC8qKjwgQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fQVlJTiwgIC8qKjwgQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fQkVUSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICBVX0pHX01BTklDSEFFQU5fREFMRVRILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVfSkdfTUFOSUNIQUVBTl9ESEFNRURILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVf
SkdfTUFOSUNIQUVBTl9GSVZFLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFO
SUNIQUVBTl9HSU1FTCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFF
QU5fSEVUSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fSFVO
RFJFRCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fS0FQSCwg
IC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fTEFNRURILCAgLyoq
PCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9NRU0sICAvKio8IEBzdGFi
bGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX05VTiwgIC8qKjwgQHN0YWJsZSBJQ1Ug
NTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fT05FLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLwor
ICAgIFVfSkdfTUFOSUNIQUVBTl9QRSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pH
X01BTklDSEFFQU5fUU9QSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fUkVTSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5f
U0FESEUsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1NBTUVL
SCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fVEFXLCAgLyoq
PCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9URU4sICAvKio8IEBzdGFi
bGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RFVEgsICAvKio8IEBzdGFibGUgSUNV
IDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RIQU1FREgsICAvKio8IEBzdGFibGUgSUNVIDU0
ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RXRU5UWSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICBVX0pHX01BTklDSEFFQU5fV0FXLCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVf
SkdfTUFOSUNIQUVBTl9ZT0RILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFO
SUNIQUVBTl9aQVlJTiwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX1NUUkFJR0hU
X1dBVywgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KICAgICBVX0pHX0NPVU5UCiB9IFVKb2luaW5n
R3JvdXA7CiAKQEAgLTI3NDAsNyArMjgzNSw3IEBAIHVfY2hhck5hbWUoVUNoYXIzMiBjb2RlLCBV
Q2hhck5hbWVDaG9pY2UgbmFtZUNob2ljZSwKICAqCiAgKiBAZGVwcmVjYXRlZCBJQ1UgNDkKICAq
LwotVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKK1VfREVQUkVDQVRFRCBpbnQzMl90IFVfRVhQ
T1JUMgogdV9nZXRJU09Db21tZW50KFVDaGFyMzIgYywKICAgICAgICAgICAgICAgICBjaGFyICpk
ZXN0LCBpbnQzMl90IGRlc3RDYXBhY2l0eSwKICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlICpw
RXJyb3JDb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VjbnYu
aCBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VjbnYuaAppbmRleCBjNWZjMmRjNzg1NmEx
NmUyMWZkMzA3OTE3YjczODAyN2Y1NjYwNTlkLi41NjQ2NTZjMjg0ZjhlMDI3MGIyYzk1NjI1NDMy
MmI0NDQzYjMwMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91Y252
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdWNudi5oCkBAIC0xLDYgKzEsNiBA
QAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDE5OTktMjAxMywgSW50ZXJu
YXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5OS0yMDE0LCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiAgdWNudi5oOgpAQCAt
MTgsNyArMTgsNyBAQAogCiAvKioKICAqIFxmaWxlCi0gKiBcYnJpZWYgQyBBUEk6IENoYXJhY3Rl
ciBjb252ZXJzaW9uIAorICogXGJyaWVmIEMgQVBJOiBDaGFyYWN0ZXIgY29udmVyc2lvbgogICoK
ICAqIDxoMj5DaGFyYWN0ZXIgQ29udmVyc2lvbiBDIEFQSTwvaDI+CiAgKgpAQCAtMzksNyArMzks
NyBAQAogICogb3Ige0BsaW5rIHVjbnZfc2V0VG9VQ2FsbEJhY2soKSB9IG9uIHRoZSBjb252ZXJ0
ZXIuIFRoZSBoZWFkZXIgdWNudl9lcnIuaCBkZWZpbmVzCiAgKiBtYW55IG90aGVyIGNhbGxiYWNr
IGFjdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGEgY2hhcmFjdGVyIHN1YnN0aXR1
dGlvbi48L3A+CiAgKgotICogPHA+TW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIEFQSSBjYW4g
YmUgZm91bmQgaW4gb3VyIAorICogPHA+TW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIEFQSSBj
YW4gYmUgZm91bmQgaW4gb3VyCiAgKiA8YSBocmVmPSJodHRwOi8vaWN1LXByb2plY3Qub3JnL3Vz
ZXJndWlkZS9jb252ZXJzaW9uLmh0bWwiPlVzZXIncwogICogR3VpZGU8L2E+LjwvcD4KICAqLwpA
QCAtMTE2LDcgKzExNiw3IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgLyoqIEBzdGFibGUgSUNVIDIu
MCAqLwogICAgIFVDTlZfTE1CQ1NfMSA9IDExLAogICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8K
LSAgICBVQ05WX0xNQkNTXzIsIAorICAgIFVDTlZfTE1CQ1NfMiwKICAgICAvKiogQHN0YWJsZSBJ
Q1UgMi4wICovCiAgICAgVUNOVl9MTUJDU18zLAogICAgIC8qKiBAc3RhYmxlIElDVSAyLjAgKi8K
QEAgLTIzNyw3ICsyMzcsNyBAQCBVX0NERUNMX0VORAogI2RlZmluZSBVQ05WX09QVElPTl9TRVBf
Q0hBUiAnLCcKIAogLyoqCi0gKiBTdHJpbmcgdmVyc2lvbiBvZiBVQ05WX09QVElPTl9TRVBfQ0hB
Ui4gCisgKiBTdHJpbmcgdmVyc2lvbiBvZiBVQ05WX09QVElPTl9TRVBfQ0hBUi4KICAqIEBzZWUg
dWNudl9vcGVuCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwpAQCAtMjUxLDcgKzI1MSw3IEBAIFVf
Q0RFQ0xfRU5ECiAjZGVmaW5lIFVDTlZfVkFMVUVfU0VQX0NIQVIgJz0nCiAKIC8qKgotICogU3Ry
aW5nIHZlcnNpb24gb2YgVUNOVl9WQUxVRV9TRVBfQ0hBUi4gCisgKiBTdHJpbmcgdmVyc2lvbiBv
ZiBVQ05WX1ZBTFVFX1NFUF9DSEFSLgogICogQHNlZSB1Y252X29wZW4KICAqIEBzdGFibGUgSUNV
IDIuMAogICovCkBAIC0yNjksNyArMjY5LDcgQEAgVV9DREVDTF9FTkQKIAogLyoqCiAgKiBDb252
ZXJ0ZXIgb3B0aW9uIGZvciBzcGVjaWZ5aW5nIGEgdmVyc2lvbiBzZWxlY3RvciAoMC4uOSkgZm9y
IHNvbWUgY29udmVydGVycy4KLSAqIEZvciBleGFtcGxlLCAKKyAqIEZvciBleGFtcGxlLAogICog
XGNvZGUKICAqICAgdWNudl9vcGVuKCJVVEYtNyx2ZXJzaW9uPTEiLCAmZXJyb3JDb2RlKTsKICAq
IFxlbmRjb2RlCkBAIC0zNjEsMjkgKzM2MSwyOSBAQCB1Y252X2NvbXBhcmVOYW1lcyhjb25zdCBj
aGFyICpuYW1lMSwgY29uc3QgY2hhciAqbmFtZTIpOwogICogQHNlZSB1Y252X2NvbXBhcmVOYW1l
cwogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIFVDb252ZXJ0ZXIqIFVfRVhQT1JU
MiAKK1VfU1RBQkxFIFVDb252ZXJ0ZXIqIFVfRVhQT1JUMgogdWNudl9vcGVuKGNvbnN0IGNoYXIg
KmNvbnZlcnRlck5hbWUsIFVFcnJvckNvZGUgKmVycik7CiAKIAogLyoqCi0gKiBDcmVhdGVzIGEg
VW5pY29kZSBjb252ZXJ0ZXIgd2l0aCB0aGUgbmFtZXMgc3BlY2lmaWVkIGFzIHVuaWNvZGUgc3Ry
aW5nLiAKKyAqIENyZWF0ZXMgYSBVbmljb2RlIGNvbnZlcnRlciB3aXRoIHRoZSBuYW1lcyBzcGVj
aWZpZWQgYXMgdW5pY29kZSBzdHJpbmcuCiAgKiBUaGUgbmFtZSBzaG91bGQgYmUgbGltaXRlZCB0
byB0aGUgQVNDSUktNyBhbHBoYW51bWVyaWNzIHJhbmdlLgogICogVGhlIGFjdHVhbCBuYW1lIHdp
bGwgYmUgcmVzb2x2ZWQgd2l0aCB0aGUgYWxpYXMgZmlsZQogICogdXNpbmcgYSBjYXNlLWluc2Vu
c2l0aXZlIHN0cmluZyBjb21wYXJpc29uIHRoYXQgaWdub3JlcwogICogbGVhZGluZyB6ZXJvZXMg
YW5kIGFsbCBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuCiAgKiBFLmcuLCB0aGUgbmFtZXMg
IlVURjgiLCAidXRmLTgiLCAidSpUQGYwOCIgYW5kICJVdGYgOCIgYXJlIGFsbCBlcXVpdmFsZW50
LgogICogKFNlZSBhbHNvIHVjbnZfY29tcGFyZU5hbWVzKCkuKQotICogSWYgPFRUPk5VTEw8L1RU
PiBpcyBwYXNzZWQgZm9yIHRoZSBjb252ZXJ0ZXIgbmFtZSwgaXQgd2lsbCBjcmVhdGUgCisgKiBJ
ZiA8VFQ+TlVMTDwvVFQ+IGlzIHBhc3NlZCBmb3IgdGhlIGNvbnZlcnRlciBuYW1lLCBpdCB3aWxs
IGNyZWF0ZQogICogb25lIHdpdGggdGhlIHVjbnZfZ2V0RGVmYXVsdE5hbWUoKSByZXR1cm4gdmFs
dWUuCiAgKiBJZiB0aGUgYWxpYXMgaXMgYW1iaWd1b3VzLCB0aGVuIHRoZSBwcmVmZXJyZWQgY29u
dmVydGVyIGlzIHVzZWQKICAqIGFuZCB0aGUgc3RhdHVzIGlzIHNldCB0byBVX0FNQklHVU9VU19B
TElBU19XQVJOSU5HLgogICoKICAqIDxwPlNlZSB1Y252X29wZW4gZm9yIHRoZSBjb21wbGV0ZSBk
ZXRhaWxzPC9wPgotICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgVUNvbnZlcnRlciB0YWJsZSBp
biBhIHplcm8gdGVybWluYXRlZCAKKyAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIFVDb252ZXJ0
ZXIgdGFibGUgaW4gYSB6ZXJvIHRlcm1pbmF0ZWQKICAqICAgICAgICBVbmljb2RlIHN0cmluZwot
ICogQHBhcmFtIGVyciBvdXRnb2luZyBlcnJvciBzdGF0dXMgPFRUPlVfTUVNT1JZX0FMTE9DQVRJ
T05fRVJST1IsIAorICogQHBhcmFtIGVyciBvdXRnb2luZyBlcnJvciBzdGF0dXMgPFRUPlVfTUVN
T1JZX0FMTE9DQVRJT05fRVJST1IsCiAgKiAgICAgICAgVV9GSUxFX0FDQ0VTU19FUlJPUjwvVFQ+
Ci0gKiBAcmV0dXJuIHRoZSBjcmVhdGVkIFVuaWNvZGUgY29udmVydGVyIG9iamVjdCwgb3IgPFRU
Pk5VTEw8L1RUPiBpZiBhbiAKKyAqIEByZXR1cm4gdGhlIGNyZWF0ZWQgVW5pY29kZSBjb252ZXJ0
ZXIgb2JqZWN0LCBvciA8VFQ+TlVMTDwvVFQ+IGlmIGFuCiAgKiAgICAgICAgZXJyb3Igb2NjdXJl
ZAogICogQHNlZSB1Y252X29wZW4KICAqIEBzZWUgdWNudl9vcGVuQ0NTSUQKQEAgLTM5MSw3ICsz
OTEsNyBAQCB1Y252X29wZW4oY29uc3QgY2hhciAqY29udmVydGVyTmFtZSwgVUVycm9yQ29kZSAq
ZXJyKTsKICAqIEBzZWUgdWNudl9jb21wYXJlTmFtZXMKICAqIEBzdGFibGUgSUNVIDIuMAogICov
Ci1VX1NUQUJMRSBVQ29udmVydGVyKiBVX0VYUE9SVDIgCitVX1NUQUJMRSBVQ29udmVydGVyKiBV
X0VYUE9SVDIKIHVjbnZfb3BlblUoY29uc3QgVUNoYXIgKm5hbWUsCiAgICAgICAgICAgIFVFcnJv
ckNvZGUgKmVycik7CiAKQEAgLTQ2NiwyMCArNDY2LDIwIEBAIHVjbnZfb3BlbkNDU0lEKGludDMy
X3QgY29kZXBhZ2UsCiAKIC8qKgogICogPHA+Q3JlYXRlcyBhIFVDb252ZXJ0ZXIgb2JqZWN0IHNw
ZWNpZmllZCBmcm9tIGEgcGFja2FnZU5hbWUgYW5kIGEgY29udmVydGVyTmFtZS48L3A+Ci0gKiAK
KyAqCiAgKiA8cD5UaGUgcGFja2FnZU5hbWUgYW5kIGNvbnZlcnRlck5hbWUgbXVzdCBwb2ludCB0
byBhbiBJQ1UgdWRhdGEgb2JqZWN0LCBhcyBkZWZpbmVkIGJ5CiAgKiAgIDxjb2RlPiB1ZGF0YV9v
cGVuKCBwYWNrYWdlTmFtZSwgImNudiIsIGNvbnZlcnRlck5hbWUsIGVycikgPC9jb2RlPiBvciBl
cXVpdmFsZW50LgogICogVHlwaWNhbGx5LCBwYWNrYWdlTmFtZSB3aWxsIHJlZmVyIHRvIGEgKC5k
YXQpIGZpbGUsIG9yIHRvIGEgcGFja2FnZSByZWdpc3RlcmVkIHdpdGgKICAqIHVkYXRhX3NldEFw
cERhdGEoKS4gVXNpbmcgYSBmdWxsIGZpbGUgb3IgZGlyZWN0b3J5IHBhdGhuYW1lIGZvciBwYWNr
YWdlTmFtZSBpcyBkZXByZWNhdGVkLjwvcD4KLSAqIAorICoKICAqIDxwPlRoZSBuYW1lIHdpbGwg
Tk9UIGJlIGxvb2tlZCB1cCBpbiB0aGUgYWxpYXMgbWVjaGFuaXNtLCBub3Igd2lsbCB0aGUgY29u
dmVydGVyIGJlCiAgKiBzdG9yZWQgaW4gdGhlIGNvbnZlcnRlciBjYWNoZSBvciB0aGUgYWxpYXMg
dGFibGUuIFRoZSBvbmx5IHdheSB0byBvcGVuIGZ1cnRoZXIgY29udmVydGVycwotICogaXMgY2Fs
bCB0aGlzIGZ1bmN0aW9uIG11bHRpcGxlIHRpbWVzLCBvciB1c2UgdGhlIHVjbnZfc2FmZUNsb25l
KCkgZnVuY3Rpb24gdG8gY2xvbmUgYSAKKyAqIGlzIGNhbGwgdGhpcyBmdW5jdGlvbiBtdWx0aXBs
ZSB0aW1lcywgb3IgdXNlIHRoZSB1Y252X3NhZmVDbG9uZSgpIGZ1bmN0aW9uIHRvIGNsb25lIGEK
ICAqICdtYXN0ZXInIGNvbnZlcnRlci48L3A+CiAgKgogICogPHA+QSBmdXR1cmUgdmVyc2lvbiBv
ZiBJQ1UgbWF5IGFkZCBhbGlhcyB0YWJsZSBsb29rdXBzIGFuZC9vciBjYWNoaW5nCiAgKiB0byB0
aGlzIGZ1bmN0aW9uLjwvcD4KLSAqIAorICoKICAqIDxwPkV4YW1wbGUgVXNlOgogICogICAgICA8
Y29kZT5jbnYgPSB1Y252X29wZW5QYWNrYWdlKCJteWFwcCIsICJteWNvbnZlcnRlciIsICZlcnIp
OzwvY29kZT4KICAqIDwvcD4KQEAgLTQ5NCw3ICs0OTQsNyBAQCB1Y252X29wZW5DQ1NJRChpbnQz
Ml90IGNvZGVwYWdlLAogICogQHNlZSB1Y252X2Nsb3NlCiAgKiBAc3RhYmxlIElDVSAyLjIKICAq
LwotVV9TVEFCTEUgVUNvbnZlcnRlciogVV9FWFBPUlQyIAorVV9TVEFCTEUgVUNvbnZlcnRlciog
VV9FWFBPUlQyCiB1Y252X29wZW5QYWNrYWdlKGNvbnN0IGNoYXIgKnBhY2thZ2VOYW1lLCBjb25z
dCBjaGFyICpjb252ZXJ0ZXJOYW1lLCBVRXJyb3JDb2RlICplcnIpOwogCiAvKioKQEAgLTUyMiw3
ICs1MjIsNyBAQCB1Y252X29wZW5QYWNrYWdlKGNvbnN0IGNoYXIgKnBhY2thZ2VOYW1lLCBjb25z
dCBjaGFyICpjb252ZXJ0ZXJOYW1lLCBVRXJyb3JDb2RlCiAgKgogICogQHBhcmFtIGNudiBjb252
ZXJ0ZXIgdG8gYmUgY2xvbmVkCiAgKiBAcGFyYW0gc3RhY2tCdWZmZXIgPGVtPkRlcHJlY2F0ZWQg
ZnVuY3Rpb25hbGl0eSBhcyBvZiBJQ1UgNTIsIHVzZSBOVUxMLjwvZW0+PGJyPgotICogIHVzZXIg
YWxsb2NhdGVkIHNwYWNlIGZvciB0aGUgbmV3IGNsb25lLiBJZiBOVUxMIG5ldyBtZW1vcnkgd2ls
bCBiZSBhbGxvY2F0ZWQuIAorICogIHVzZXIgYWxsb2NhdGVkIHNwYWNlIGZvciB0aGUgbmV3IGNs
b25lLiBJZiBOVUxMIG5ldyBtZW1vcnkgd2lsbCBiZSBhbGxvY2F0ZWQuCiAgKiAgSWYgYnVmZmVy
IGlzIG5vdCBsYXJnZSBlbm91Z2gsIG5ldyBtZW1vcnkgd2lsbCBiZSBhbGxvY2F0ZWQuCiAgKiAg
Q2xpZW50cyBjYW4gdXNlIHRoZSBVX0NOVl9TQUZFQ0xPTkVfQlVGRkVSU0laRS4gVGhpcyB3aWxs
IHByb2JhYmx5IGJlIGVub3VnaCB0byBhdm9pZCBtZW1vcnkgYWxsb2NhdGlvbnMuCiAgKiBAcGFy
YW0gcEJ1ZmZlclNpemUgPGVtPkRlcHJlY2F0ZWQgZnVuY3Rpb25hbGl0eSBhcyBvZiBJQ1UgNTIs
IHVzZSBOVUxMIG9yIDEuPC9lbT48YnI+CkBAIC01MzYsMTAgKzUzNiwxMCBAQCB1Y252X29wZW5Q
YWNrYWdlKGNvbnN0IGNoYXIgKnBhY2thZ2VOYW1lLCBjb25zdCBjaGFyICpjb252ZXJ0ZXJOYW1l
LCBVRXJyb3JDb2RlCiAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gdGhlIG5ldyBjbG9uZQogICogQHN0
YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIFVDb252ZXJ0ZXIgKiBVX0VYUE9SVDIgCi11Y252
X3NhZmVDbG9uZShjb25zdCBVQ29udmVydGVyICpjbnYsIAorVV9TVEFCTEUgVUNvbnZlcnRlciAq
IFVfRVhQT1JUMgordWNudl9zYWZlQ2xvbmUoY29uc3QgVUNvbnZlcnRlciAqY252LAogICAgICAg
ICAgICAgICAgdm9pZCAgICAgICAgICAgICAqc3RhY2tCdWZmZXIsCi0gICAgICAgICAgICAgICBp
bnQzMl90ICAgICAgICAgICpwQnVmZmVyU2l6ZSwgCisgICAgICAgICAgICAgICBpbnQzMl90ICAg
ICAgICAgICpwQnVmZmVyU2l6ZSwKICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgICAgICAgKnN0
YXR1cyk7CiAKICNpZm5kZWYgVV9ISURFX0RFUFJFQ0FURURfQVBJCkBAIC01OTUsNyArNTk1LDcg
QEAgVV9OQU1FU1BBQ0VfRU5ECiAgKgogICogQHBhcmFtIGNvbnZlcnRlciB0aGUgVW5pY29kZSBj
b252ZXJ0ZXIKICAqIEBwYXJhbSBzdWJDaGFycyB0aGUgc3Vic2l0dXRpb24gY2hhcmFjdGVycwot
ICogQHBhcmFtIGxlbiBvbiBpbnB1dCB0aGUgY2FwYWNpdHkgb2Ygc3ViQ2hhcnMsIG9uIG91dHB1
dCB0aGUgbnVtYmVyIAorICogQHBhcmFtIGxlbiBvbiBpbnB1dCB0aGUgY2FwYWNpdHkgb2Ygc3Vi
Q2hhcnMsIG9uIG91dHB1dCB0aGUgbnVtYmVyCiAgKiBvZiBieXRlcyBjb3BpZWQgdG8gaXQKICAq
IEBwYXJhbSAgZXJyIHRoZSBvdXRnb2luZyBlcnJvciBzdGF0dXMgY29kZS4KICAqIElmIHRoZSBz
dWJzdGl0dXRpb24gY2hhcmFjdGVyIGFycmF5IGlzIHRvbyBzbWFsbCwgYW4KQEAgLTY5Myw3ICs2
OTMsNyBAQCB1Y252X2dldEludmFsaWRDaGFycyhjb25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIs
CiAgKgogICogQHBhcmFtIGNvbnZlcnRlciB0aGUgVW5pY29kZSBjb252ZXJ0ZXIKICAqIEBwYXJh
bSBlcnJVQ2hhcnMgdGhlIFVDaGFycyB3aGljaCB3ZXJlIGluIGVycm9yCi0gKiBAcGFyYW0gbGVu
IG9uIGlucHV0IHRoZSBjYXBhY2l0eSBvZiBlcnJVQ2hhcnMsIG9uIG91dHB1dCB0aGUgbnVtYmVy
IG9mIAorICogQHBhcmFtIGxlbiBvbiBpbnB1dCB0aGUgY2FwYWNpdHkgb2YgZXJyVUNoYXJzLCBv
biBvdXRwdXQgdGhlIG51bWJlciBvZgogICogIFVDaGFycyB3aGljaCB3ZXJlIGNvcGllZCB0byBp
dAogICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUuCiAgKiBJZiB0aGUgc3Vic3Rp
dHV0aW9uIGNoYXJhY3RlciBhcnJheSBpcyB0b28gc21hbGwsIGFuCkBAIC03MjQsNyArNzI0LDcg
QEAgdWNudl9yZXNldChVQ29udmVydGVyICpjb252ZXJ0ZXIpOwogICogQHBhcmFtIGNvbnZlcnRl
ciB0aGUgVW5pY29kZSBjb252ZXJ0ZXIKICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJM
RSB2b2lkIFVfRVhQT1JUMiAKK1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCiB1Y252X3Jlc2V0VG9V
bmljb2RlKFVDb252ZXJ0ZXIgKmNvbnZlcnRlcik7CiAKIC8qKgpAQCAtNzM1LDcgKzczNSw3IEBA
IHVjbnZfcmVzZXRUb1VuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyKTsKICAqIEBwYXJhbSBj
b252ZXJ0ZXIgdGhlIFVuaWNvZGUgY29udmVydGVyCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwot
VV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgogdWNudl9y
ZXNldEZyb21Vbmljb2RlKFVDb252ZXJ0ZXIgKmNvbnZlcnRlcik7CiAKIC8qKgpAQCAtNzc5LDgg
Kzc3OSwxMCBAQCB1Y252X3Jlc2V0RnJvbVVuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyKTsK
ICAqIC0gSVNPLTIwMjItQ046IDggKDQtYnl0ZSBkZXNpZ25hdG9yIHNlcXVlbmNlcyArIDItYnl0
ZSBTUzIvU1MzICsgREJDUykKICAqCiAgKiBAcGFyYW0gY29udmVydGVyIFRoZSBVbmljb2RlIGNv
bnZlcnRlci4KLSAqIEByZXR1cm4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHBlciBVQ2hh
ciB0aGF0IGFyZSBvdXRwdXQgYnkgdWNudl9mcm9tVW5pY29kZSgpLAotICogICAgICAgICB0byBi
ZSB1c2VkIHRvZ2V0aGVyIHdpdGggVUNOVl9HRVRfTUFYX0JZVEVTX0ZPUl9TVFJJTkcgZm9yIGJ1
ZmZlciBhbGxvY2F0aW9uLgorICogQHJldHVybiBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMg
cGVyIFVDaGFyICgxNiBiaXQgY29kZSB1bml0KQorICogICAgdGhhdCBhcmUgb3V0cHV0IGJ5IHVj
bnZfZnJvbVVuaWNvZGUoKSwKKyAqICAgIHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBVQ05WX0dF
VF9NQVhfQllURVNfRk9SX1NUUklORworICogICAgZm9yIGJ1ZmZlciBhbGxvY2F0aW9uLgogICoK
ICAqIEBzZWUgVUNOVl9HRVRfTUFYX0JZVEVTX0ZPUl9TVFJJTkcKICAqIEBzZWUgdWNudl9nZXRN
aW5DaGFyU2l6ZQpAQCAtODEyLDEwICs4MTQsMTAgQEAgdWNudl9nZXRNYXhDaGFyU2l6ZShjb25z
dCBVQ29udmVydGVyICpjb252ZXJ0ZXIpOwogICAgICAoKChpbnQzMl90KShsZW5ndGgpKzEwKSoo
aW50MzJfdCkobWF4Q2hhclNpemUpKQogCiAvKioKLSAqIFJldHVybnMgdGhlIG1pbmltdW0gYnl0
ZSBsZW5ndGggZm9yIGNoYXJhY3RlcnMgaW4gdGhpcyBjb2RlcGFnZS4gCisgKiBSZXR1cm5zIHRo
ZSBtaW5pbXVtIGJ5dGUgbGVuZ3RoIChwZXIgY29kZXBvaW50KSBmb3IgY2hhcmFjdGVycyBpbiB0
aGlzIGNvZGVwYWdlLgogICogVGhpcyBpcyB1c3VhbGx5IGVpdGhlciAxIG9yIDIuCiAgKiBAcGFy
YW0gY29udmVydGVyIHRoZSBVbmljb2RlIGNvbnZlcnRlcgotICogQHJldHVybiB0aGUgbWluaW11
bSBudW1iZXIgb2YgYnl0ZXMgYWxsb3dlZCBieSB0aGlzIHBhcnRpY3VsYXIgY29udmVydGVyCisg
KiBAcmV0dXJuIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcyBwZXIgY29kZXBvaW50IGFsbG93
ZWQgYnkgdGhpcyBwYXJ0aWN1bGFyIGNvbnZlcnRlcgogICogQHNlZSB1Y252X2dldE1heENoYXJT
aXplCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwpAQCAtODIzLDcgKzgyNSw3IEBAIFVfU1RBQkxF
IGludDhfdCBVX0VYUE9SVDIKIHVjbnZfZ2V0TWluQ2hhclNpemUoY29uc3QgVUNvbnZlcnRlciAq
Y29udmVydGVyKTsKIAogLyoqCi0gKiBSZXR1cm5zIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIGNv
bnZlcnRlciBwYXNzZWQgaW4gYmFzZWQgb24gdGhlIExvY2FsZSAKKyAqIFJldHVybnMgdGhlIGRp
c3BsYXkgbmFtZSBvZiB0aGUgY29udmVydGVyIHBhc3NlZCBpbiBiYXNlZCBvbiB0aGUgTG9jYWxl
CiAgKiBwYXNzZWQgaW4uIElmIHRoZSBsb2NhbGUgY29udGFpbnMgbm8gZGlzcGxheSBuYW1lLCB0
aGUgaW50ZXJuYWwgQVNDSUkKICAqIG5hbWUgd2lsbCBiZSBmaWxsZWQgaW4uCiAgKgpAQCAtODQ1
LDcgKzg0Nyw3IEBAIHVjbnZfZ2V0RGlzcGxheU5hbWUoY29uc3QgVUNvbnZlcnRlciAqY29udmVy
dGVyLAogCiAvKioKICAqIEdldHMgdGhlIGludGVybmFsLCBjYW5vbmljYWwgbmFtZSBvZiB0aGUg
Y29udmVydGVyICh6ZXJvLXRlcm1pbmF0ZWQpLgotICogVGhlIGxpZmV0aW1lIG9mIHRoZSByZXR1
cm5lZCBzdHJpbmcgd2lsbCBiZSB0aGF0IG9mIHRoZSBjb252ZXJ0ZXIgCisgKiBUaGUgbGlmZXRp
bWUgb2YgdGhlIHJldHVybmVkIHN0cmluZyB3aWxsIGJlIHRoYXQgb2YgdGhlIGNvbnZlcnRlcgog
ICogcGFzc2VkIHRvIHRoaXMgZnVuY3Rpb24uCiAgKiBAcGFyYW0gY29udmVydGVyIHRoZSBVbmlj
b2RlIGNvbnZlcnRlcgogICogQHBhcmFtIGVyciBVRXJyb3JDb2RlIHN0YXR1cwpAQCAtODUzLDcg
Kzg1NSw3IEBAIHVjbnZfZ2V0RGlzcGxheU5hbWUoY29uc3QgVUNvbnZlcnRlciAqY29udmVydGVy
LAogICogQHNlZSB1Y252X2dldERpc3BsYXlOYW1lCiAgKiBAc3RhYmxlIElDVSAyLjAKICAqLwot
VV9TVEFCTEUgY29uc3QgY2hhciAqIFVfRVhQT1JUMiAKK1VfU1RBQkxFIGNvbnN0IGNoYXIgKiBV
X0VYUE9SVDIKIHVjbnZfZ2V0TmFtZShjb25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIsIFVFcnJv
ckNvZGUgKmVycik7CiAKIC8qKgpAQCAtODg0LDEwICs4ODYsMTAgQEAgdWNudl9nZXRDQ1NJRChj
b25zdCBVQ29udmVydGVyICpjb252ZXJ0ZXIsCiAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKmVy
cik7CiAKIC8qKgotICogR2V0cyBhIGNvZGVwYWdlIHBsYXRmb3JtIGFzc29jaWF0ZWQgd2l0aCB0
aGUgY29udmVydGVyLiBDdXJyZW50bHksIAorICogR2V0cyBhIGNvZGVwYWdlIHBsYXRmb3JtIGFz
c29jaWF0ZWQgd2l0aCB0aGUgY29udmVydGVyLiBDdXJyZW50bHksCiAgKiBvbmx5IDxUVD5VQ05W
X0lCTTwvVFQ+IHdpbGwgYmUgcmV0dXJuZWQuCi0gKiBEb2VzIG5vdCB0ZXN0IGlmIHRoZSBjb252
ZXJ0ZXIgaXMgPFRUPk5VTEw8L1RUPiBvciBpZiBjb252ZXJ0ZXIncyBkYXRhIAotICogdGFibGUg
aXMgPFRUPk5VTEw8L1RUPi4gCisgKiBEb2VzIG5vdCB0ZXN0IGlmIHRoZSBjb252ZXJ0ZXIgaXMg
PFRUPk5VTEw8L1RUPiBvciBpZiBjb252ZXJ0ZXIncyBkYXRhCisgKiB0YWJsZSBpcyA8VFQ+TlVM
TDwvVFQ+LgogICogQHBhcmFtIGNvbnZlcnRlciB0aGUgVW5pY29kZSBjb252ZXJ0ZXIKICAqIEBw
YXJhbSBlcnIgdGhlIGVycm9yIHN0YXR1cyBjb2RlLgogICogQHJldHVybiBUaGUgY29kZXBhZ2Ug
cGxhdGZvcm0KQEAgLTg5OSw3ICs5MDEsNyBAQCB1Y252X2dldFBsYXRmb3JtKGNvbnN0IFVDb252
ZXJ0ZXIgKmNvbnZlcnRlciwKIAogLyoqCiAgKiBHZXRzIHRoZSB0eXBlIG9mIHRoZSBjb252ZXJ0
ZXIKLSAqIGUuZy4gU0JDUywgTUJDUywgREJDUywgVVRGOCwgVVRGMTZfQkUsIFVURjE2X0xFLCBJ
U09fMjAyMiwgCisgKiBlLmcuIFNCQ1MsIE1CQ1MsIERCQ1MsIFVURjgsIFVURjE2X0JFLCBVVEYx
Nl9MRSwgSVNPXzIwMjIsCiAgKiBFQkNESUNfU1RBVEVGVUwsIExBVElOXzEKICAqIEBwYXJhbSBj
b252ZXJ0ZXIgYSB2YWxpZCwgb3BlbmVkIGNvbnZlcnRlcgogICogQHJldHVybiB0aGUgdHlwZSBv
ZiB0aGUgY29udmVydGVyCkBAIC05MTEsMjAgKzkxMywyMCBAQCB1Y252X2dldFR5cGUoY29uc3Qg
VUNvbnZlcnRlciAqIGNvbnZlcnRlcik7CiAvKioKICAqIEdldHMgdGhlICJzdGFydGVyIiAobGVh
ZCkgYnl0ZXMgZm9yIGNvbnZlcnRlcnMgb2YgdHlwZSBNQkNTLgogICogV2lsbCBmaWxsIGluIGFu
IDxUVD5VX0lMTEVHQUxfQVJHVU1FTlRfRVJST1I8L1RUPiBpZiBjb252ZXJ0ZXIgcGFzc2VkIGlu
Ci0gKiBpcyBub3QgTUJDUy4gRmlsbHMgaW4gYW4gYXJyYXkgb2YgdHlwZSBVQm9vbCwgd2l0aCB0
aGUgdmFsdWUgb2YgdGhlIGJ5dGUgCisgKiBpcyBub3QgTUJDUy4gRmlsbHMgaW4gYW4gYXJyYXkg
b2YgdHlwZSBVQm9vbCwgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIGJ5dGUKICAqIGFzIG9mZnNldCB0
byB0aGUgYXJyYXkuIEZvciBleGFtcGxlLCBpZiAoc3RhcnRlcnNbMHgyMF0gPT0gVFJVRSkgYXQg
cmV0dXJuLAogICogaXQgbWVhbnMgdGhhdCB0aGUgYnl0ZSAweDIwIGlzIGEgc3RhcnRlciBieXRl
IGluIHRoaXMgY29udmVydGVyLgogICogQ29udGV4dCBwb2ludGVycyBhcmUgYWx3YXlzIG93bmVk
IGJ5IHRoZSBjYWxsZXIuCi0gKiAKKyAqCiAgKiBAcGFyYW0gY29udmVydGVyIGEgdmFsaWQsIG9w
ZW5lZCBjb252ZXJ0ZXIgb2YgdHlwZSBNQkNTCiAgKiBAcGFyYW0gc3RhcnRlcnMgYW4gYXJyYXkg
b2Ygc2l6ZSAyNTYgdG8gYmUgZmlsbGVkIGluCi0gKiBAcGFyYW0gZXJyIGVycm9yIHN0YXR1cywg
PFRUPlVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUjwvVFQ+IGlmIHRoZSAKKyAqIEBwYXJhbSBlcnIg
ZXJyb3Igc3RhdHVzLCA8VFQ+VV9JTExFR0FMX0FSR1VNRU5UX0VSUk9SPC9UVD4gaWYgdGhlCiAg
KiBjb252ZXJ0ZXIgaXMgbm90IGEgdHlwZSB3aGljaCBjYW4gcmV0dXJuIHN0YXJ0ZXJzLgogICog
QHNlZSB1Y252X2dldFR5cGUKICAqIEBzdGFibGUgSUNVIDIuMAogICovCiBVX1NUQUJMRSB2b2lk
IFVfRVhQT1JUMgotdWNudl9nZXRTdGFydGVycyhjb25zdCBVQ29udmVydGVyKiBjb252ZXJ0ZXIs
IAordWNudl9nZXRTdGFydGVycyhjb25zdCBVQ29udmVydGVyKiBjb252ZXJ0ZXIsCiAgICAgICAg
ICAgICAgICAgIFVCb29sIHN0YXJ0ZXJzWzI1Nl0sCiAgICAgICAgICAgICAgICAgIFVFcnJvckNv
ZGUqIGVycik7CiAKQEAgLTk5Nyw3ICs5OTksNyBAQCB1Y252X2dldFVuaWNvZGVTZXQoY29uc3Qg
VUNvbnZlcnRlciAqY252LAogCiAvKioKICAqIEdldHMgdGhlIGN1cnJlbnQgY2FsYmFjayBmdW5j
dGlvbiB1c2VkIGJ5IHRoZSBjb252ZXJ0ZXIgd2hlbiBhbiBpbGxlZ2FsCi0gKiAgb3IgaW52YWxp
ZCBjb2RlcGFnZSBzZXF1ZW5jZSBpcyBmb3VuZC4gCisgKiAgb3IgaW52YWxpZCBjb2RlcGFnZSBz
ZXF1ZW5jZSBpcyBmb3VuZC4KICAqIENvbnRleHQgcG9pbnRlcnMgYXJlIGFsd2F5cyBvd25lZCBi
eSB0aGUgY2FsbGVyLgogICoKICAqIEBwYXJhbSBjb252ZXJ0ZXIgdGhlIHVuaWNvZGUgY29udmVy
dGVyCkBAIC0xMDEyLDcgKzEwMTQsNyBAQCB1Y252X2dldFRvVUNhbGxCYWNrIChjb25zdCBVQ29u
dmVydGVyICogY29udmVydGVyLAogICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqKmNv
bnRleHQpOwogCiAvKioKLSAqIEdldHMgdGhlIGN1cnJlbnQgY2FsbGJhY2sgZnVuY3Rpb24gdXNl
ZCBieSB0aGUgY29udmVydGVyIHdoZW4gaWxsZWdhbCAKKyAqIEdldHMgdGhlIGN1cnJlbnQgY2Fs
bGJhY2sgZnVuY3Rpb24gdXNlZCBieSB0aGUgY29udmVydGVyIHdoZW4gaWxsZWdhbAogICogb3Ig
aW52YWxpZCBVbmljb2RlIHNlcXVlbmNlIGlzIGZvdW5kLgogICogQ29udGV4dCBwb2ludGVycyBh
cmUgYWx3YXlzIG93bmVkIGJ5IHRoZSBjYWxsZXIuCiAgKgpAQCAtMTA3OCwyNiArMTA4MCwyNiBA
QCB1Y252X3NldEZyb21VQ2FsbEJhY2sgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiBjaGFy
YWN0ZXJzLiBUaGlzIGZ1bmN0aW9uIGlzIG9wdGltaXplZCBmb3IgY29udmVydGluZyBhIGNvbnRp
bnVvdXMKICAqIHN0cmVhbSBvZiBkYXRhIGluIGJ1ZmZlci1zaXplZCBjaHVua3MsIHdoZXJlIHRo
ZSBlbnRpcmUgc291cmNlIGFuZAogICogdGFyZ2V0IGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUg
YnVmZmVycy4KLSAqIAotICogVGhlIHNvdXJjZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0
ZXIuIEl0IHN0YXJ0cyBvdXQgcG9pbnRpbmcgd2hlcmUgdGhlIAotICogY29udmVyc2lvbiBpcyB0
byBiZWdpbiwgYW5kIGVuZHMgdXAgcG9pbnRpbmcgYWZ0ZXIgdGhlIGxhc3QgVUNoYXIgY29uc3Vt
ZWQuIAotICogCisgKgorICogVGhlIHNvdXJjZSBwb2ludGVyIGlzIGFuIGluL291dCBwYXJhbWV0
ZXIuIEl0IHN0YXJ0cyBvdXQgcG9pbnRpbmcgd2hlcmUgdGhlCisgKiBjb252ZXJzaW9uIGlzIHRv
IGJlZ2luLCBhbmQgZW5kcyB1cCBwb2ludGluZyBhZnRlciB0aGUgbGFzdCBVQ2hhciBjb25zdW1l
ZC4KKyAqCiAgKiBUYXJnZXQgc2ltaWxhcmx5IHN0YXJ0cyBvdXQgcG9pbnRlciBhdCB0aGUgZmly
c3QgYXZhaWxhYmxlIGJ5dGUgaW4gdGhlIG91dHB1dAogICogYnVmZmVyLCBhbmQgZW5kcyB1cCBw
b2ludGluZyBhZnRlciB0aGUgbGFzdCBieXRlIHdyaXR0ZW4gdG8gdGhlIG91dHB1dC4KLSAqIAot
ICogVGhlIGNvbnZlcnRlciBhbHdheXMgYXR0ZW1wdHMgdG8gY29uc3VtZSB0aGUgZW50aXJlIHNv
dXJjZSBidWZmZXIsIHVubGVzcyAKKyAqCisgKiBUaGUgY29udmVydGVyIGFsd2F5cyBhdHRlbXB0
cyB0byBjb25zdW1lIHRoZSBlbnRpcmUgc291cmNlIGJ1ZmZlciwgdW5sZXNzCiAgKiAoMS4pIHRo
ZSB0YXJnZXQgYnVmZmVyIGlzIGZ1bGwsIG9yICgyLikgYSBmYWlsaW5nIGVycm9yIGlzIHJldHVy
bmVkIGZyb20gdGhlCiAgKiBjdXJyZW50IGNhbGxiYWNrIGZ1bmN0aW9uLiAgV2hlbiBhIHN1Y2Nl
c3NmdWwgZXJyb3Igc3RhdHVzIGhhcyBiZWVuCiAgKiByZXR1cm5lZCwgaXQgbWVhbnMgdGhhdCBh
bGwgb2YgdGhlIHNvdXJjZSBidWZmZXIgaGFzIGJlZW4KICAqICBjb25zdW1lZC4gQXQgdGhhdCBw
b2ludCwgdGhlIGNhbGxlciBzaG91bGQgcmVzZXQgdGhlIHNvdXJjZSBhbmQKICAqICBzb3VyY2VM
aW1pdCBwb2ludGVycyB0byBwb2ludCB0byB0aGUgbmV4dCBjaHVuay4KLSAqIAorICoKICAqIEF0
IHRoZSBlbmQgb2YgdGhlIHN0cmVhbSAoZmx1c2g9PVRSVUUpLCB0aGUgaW5wdXQgaXMgY29tcGxl
dGVseSBjb25zdW1lZAogICogd2hlbiAqc291cmNlPT1zb3VyY2VMaW1pdCBhbmQgbm8gZXJyb3Ig
Y29kZSBpcyBzZXQuCiAgKiBUaGUgY29udmVydGVyIG9iamVjdCBpcyB0aGVuIGF1dG9tYXRpY2Fs
bHkgcmVzZXQgYnkgdGhpcyBmdW5jdGlvbi4KICAqIChUaGlzIG1lYW5zIHRoYXQgYSBjb252ZXJ0
ZXIgbmVlZCBub3QgYmUgcmVzZXQgZXhwbGljaXRseSBiZXR3ZWVuIGRhdGEKICAqIHN0cmVhbXMg
aWYgaXQgZmluaXNoZXMgdGhlIHByZXZpb3VzIHN0cmVhbSB3aXRob3V0IGVycm9ycy4pCi0gKiAK
KyAqCiAgKiBUaGlzIGlzIGEgPEk+c3RhdGVmdWw8L0k+IGNvbnZlcnNpb24uIEFkZGl0aW9uYWxs
eSwgZXZlbiB3aGVuIGFsbCBzb3VyY2UgZGF0YSBoYXMKICAqIGJlZW4gY29uc3VtZWQsIHNvbWUg
ZGF0YSBtYXkgYmUgaW4gdGhlIGNvbnZlcnRlcnMnIGludGVybmFsIHN0YXRlLgogICogQ2FsbCB0
aGlzIGZ1bmN0aW9uIHJlcGVhdGVkbHksIHVwZGF0aW5nIHRoZSB0YXJnZXQgcG9pbnRlcnMgd2l0
aApAQCAtMTExMCwyMCArMTExMiwyMCBAQCB1Y252X3NldEZyb21VQ2FsbEJhY2sgKFVDb252ZXJ0
ZXIgKiBjb252ZXJ0ZXIsCiAgKiAgY29kZXBhZ2UgY2hhcmFjdGVycyB0by4gT3V0cHV0IDogcG9p
bnRzIHRvIGFmdGVyIHRoZSBsYXN0IGNvZGVwYWdlIGNoYXJhY3RlciBjb3BpZWQKICAqICB0byA8
VFQ+dGFyZ2V0PC9UVD4uCiAgKiBAcGFyYW0gdGFyZ2V0TGltaXQgdGhlIHBvaW50ZXIganVzdCBh
ZnRlciBsYXN0IG9mIHRoZSA8VFQ+dGFyZ2V0PC9UVD4gYnVmZmVyCi0gKiBAcGFyYW0gc291cmNl
IEkvTyBwYXJhbWV0ZXIsIHBvaW50ZXIgdG8gcG9pbnRlciB0byB0aGUgc291cmNlIFVuaWNvZGUg
Y2hhcmFjdGVyIGJ1ZmZlci4gCisgKiBAcGFyYW0gc291cmNlIEkvTyBwYXJhbWV0ZXIsIHBvaW50
ZXIgdG8gcG9pbnRlciB0byB0aGUgc291cmNlIFVuaWNvZGUgY2hhcmFjdGVyIGJ1ZmZlci4KICAq
IEBwYXJhbSBzb3VyY2VMaW1pdCB0aGUgcG9pbnRlciBqdXN0IGFmdGVyIHRoZSBsYXN0IG9mIHRo
ZSBzb3VyY2UgYnVmZmVyCiAgKiBAcGFyYW0gb2Zmc2V0cyBpZiBOVUxMIGlzIHBhc3NlZCwgbm90
aGluZyB3aWxsIGhhcHBlbiB0byBpdCwgb3RoZXJ3aXNlIGl0IG5lZWRzIHRvIGhhdmUgdGhlIHNh
bWUgbnVtYmVyCiAgKiBvZiBhbGxvY2F0ZWQgY2VsbHMgYXMgPFRUPnRhcmdldDwvVFQ+LiBXaWxs
IGZpbGwgaW4gb2Zmc2V0cyBmcm9tIHRhcmdldCB0byBzb3VyY2UgcG9pbnRlcgogICogZS5nOiA8
VFQ+b2Zmc2V0c1szXTwvVFQ+IGlzIGVxdWFsIHRvIDYsIGl0IG1lYW5zIHRoYXQgdGhlIDxUVD50
YXJnZXRbM108L1RUPiB3YXMgYSByZXN1bHQgb2YgdHJhbnNjb2RpbmcgPFRUPnNvdXJjZVs2XTwv
VFQ+CiAgKiBGb3Igb3V0cHV0IGRhdGEgY2FycmllZCBhY3Jvc3MgY2FsbHMsIGFuZCBvdGhlciBk
YXRhIHdpdGhvdXQgYSBzcGVjaWZpYyBzb3VyY2UgY2hhcmFjdGVyCi0gKiAoc3VjaCBhcyBmcm9t
IGVzY2FwZSBzZXF1ZW5jZXMgb3IgY2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9m
ZnNldHMuIAorICogKHN1Y2ggYXMgZnJvbSBlc2NhcGUgc2VxdWVuY2VzIG9yIGNhbGxiYWNrcykg
IC0xIHdpbGwgYmUgcGxhY2VkIGZvciBvZmZzZXRzLgogICogQHBhcmFtIGZsdXNoIHNldCB0byA8
VFQ+VFJVRTwvVFQ+IGlmIHRoZSBjdXJyZW50IHNvdXJjZSBidWZmZXIgaXMgdGhlIGxhc3QgYXZh
aWxhYmxlCiAgKiBjaHVuayBvZiB0aGUgc291cmNlLCA8VFQ+RkFMU0U8L1RUPiBvdGhlcndpc2Uu
IE5vdGUgdGhhdCBpZiBhIGZhaWxpbmcgc3RhdHVzIGlzIHJldHVybmVkLAogICogdGhpcyBmdW5j
dGlvbiBtYXkgaGF2ZSB0byBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBmbHVzaCBzZXQg
dG8gPFRUPlRSVUU8L1RUPiB1bnRpbAogICogdGhlIHNvdXJjZSBidWZmZXIgaXMgY29uc3VtZWQu
CiAgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0dXMuICA8VFQ+VV9JTExFR0FMX0FSR1VNRU5U
X0VSUk9SPC9UVD4gd2lsbCBiZSBzZXQgaWYgdGhlCiAgKiBjb252ZXJ0ZXIgaXMgPFRUPk5VTEw8
L1RUPi4KLSAqIDxjb2RlPlVfQlVGRkVSX09WRVJGTE9XX0VSUk9SPC9jb2RlPiB3aWxsIGJlIHNl
dCBpZiB0aGUgdGFyZ2V0IGlzIGZ1bGwgYW5kIHRoZXJlIGlzIAorICogPGNvZGU+VV9CVUZGRVJf
T1ZFUkZMT1dfRVJST1I8L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBh
bmQgdGhlcmUgaXMKICAqIHN0aWxsIGRhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgdGFyZ2V0Lgog
ICogQHNlZSB1Y252X2Zyb21VQ2hhcnMKICAqIEBzZWUgdWNudl9jb252ZXJ0CkBAIC0xMTMxLDcg
KzExMzMsNyBAQCB1Y252X3NldEZyb21VQ2FsbEJhY2sgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIs
CiAgKiBAc2VlIHVjbnZfc2V0VG9VQ2FsbEJhY2sKICAqIEBzdGFibGUgSUNVIDIuMAogICovCi1V
X1NUQUJMRSB2b2lkIFVfRVhQT1JUMiAKK1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCiB1Y252X2Zy
b21Vbmljb2RlIChVQ29udmVydGVyICogY29udmVydGVyLAogICAgICAgICAgICAgICAgICAgY2hh
ciAqKnRhcmdldCwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRhcmdldExpbWl0LApA
QCAtMTE0NiwxNSArMTE0OCwxNSBAQCB1Y252X2Zyb21Vbmljb2RlIChVQ29udmVydGVyICogY29u
dmVydGVyLAogICogY2hhcmFjdGVycy4gVGhpcyBmdW5jdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIGNv
bnZlcnRpbmcgYSBjb250aW51b3VzCiAgKiBzdHJlYW0gb2YgZGF0YSBpbiBidWZmZXItc2l6ZWQg
Y2h1bmtzLCB3aGVyZSB0aGUgZW50aXJlIHNvdXJjZSBhbmQKICAqIHRhcmdldCBkb2VzIG5vdCBm
aXQgaW4gYXZhaWxhYmxlIGJ1ZmZlcnMuCi0gKiAKLSAqIFRoZSBzb3VyY2UgcG9pbnRlciBpcyBh
biBpbi9vdXQgcGFyYW1ldGVyLiBJdCBzdGFydHMgb3V0IHBvaW50aW5nIHdoZXJlIHRoZSAKLSAq
IGNvbnZlcnNpb24gaXMgdG8gYmVnaW4sIGFuZCBlbmRzIHVwIHBvaW50aW5nIGFmdGVyIHRoZSBs
YXN0IGJ5dGUgb2Ygc291cmNlIGNvbnN1bWVkLiAKLSAqIAorICoKKyAqIFRoZSBzb3VyY2UgcG9p
bnRlciBpcyBhbiBpbi9vdXQgcGFyYW1ldGVyLiBJdCBzdGFydHMgb3V0IHBvaW50aW5nIHdoZXJl
IHRoZQorICogY29udmVyc2lvbiBpcyB0byBiZWdpbiwgYW5kIGVuZHMgdXAgcG9pbnRpbmcgYWZ0
ZXIgdGhlIGxhc3QgYnl0ZSBvZiBzb3VyY2UgY29uc3VtZWQuCisgKgogICogVGFyZ2V0IHNpbWls
YXJseSBzdGFydHMgb3V0IHBvaW50ZXIgYXQgdGhlIGZpcnN0IGF2YWlsYWJsZSBVQ2hhciBpbiB0
aGUgb3V0cHV0Ci0gKiBidWZmZXIsIGFuZCBlbmRzIHVwIHBvaW50aW5nIGFmdGVyIHRoZSBsYXN0
IFVDaGFyIHdyaXR0ZW4gdG8gdGhlIG91dHB1dC4gCisgKiBidWZmZXIsIGFuZCBlbmRzIHVwIHBv
aW50aW5nIGFmdGVyIHRoZSBsYXN0IFVDaGFyIHdyaXR0ZW4gdG8gdGhlIG91dHB1dC4KICAqIEl0
IGRvZXMgTk9UIG5lY2Vzc2FyaWx5IGtlZXAgVUNoYXIgc2VxdWVuY2VzIHRvZ2V0aGVyLgotICog
Ci0gKiBUaGUgY29udmVydGVyIGFsd2F5cyBhdHRlbXB0cyB0byBjb25zdW1lIHRoZSBlbnRpcmUg
c291cmNlIGJ1ZmZlciwgdW5sZXNzIAorICoKKyAqIFRoZSBjb252ZXJ0ZXIgYWx3YXlzIGF0dGVt
cHRzIHRvIGNvbnN1bWUgdGhlIGVudGlyZSBzb3VyY2UgYnVmZmVyLCB1bmxlc3MKICAqICgxLikg
dGhlIHRhcmdldCBidWZmZXIgaXMgZnVsbCwgb3IgKDIuKSBhIGZhaWxpbmcgZXJyb3IgaXMgcmV0
dXJuZWQgZnJvbSB0aGUKICAqIGN1cnJlbnQgY2FsbGJhY2sgZnVuY3Rpb24uICBXaGVuIGEgc3Vj
Y2Vzc2Z1bCBlcnJvciBzdGF0dXMgaGFzIGJlZW4KICAqIHJldHVybmVkLCBpdCBtZWFucyB0aGF0
IGFsbCBvZiB0aGUgc291cmNlIGJ1ZmZlciBoYXMgYmVlbgpAQCAtMTE2Niw3ICsxMTY4LDcgQEAg
dWNudl9mcm9tVW5pY29kZSAoVUNvbnZlcnRlciAqIGNvbnZlcnRlciwKICAqIFRoZSBjb252ZXJ0
ZXIgb2JqZWN0IGlzIHRoZW4gYXV0b21hdGljYWxseSByZXNldCBieSB0aGlzIGZ1bmN0aW9uLgog
ICogKFRoaXMgbWVhbnMgdGhhdCBhIGNvbnZlcnRlciBuZWVkIG5vdCBiZSByZXNldCBleHBsaWNp
dGx5IGJldHdlZW4gZGF0YQogICogc3RyZWFtcyBpZiBpdCBmaW5pc2hlcyB0aGUgcHJldmlvdXMg
c3RyZWFtIHdpdGhvdXQgZXJyb3JzLikKLSAqIAorICoKICAqIFRoaXMgaXMgYSA8ST5zdGF0ZWZ1
bDwvST4gY29udmVyc2lvbi4gQWRkaXRpb25hbGx5LCBldmVuIHdoZW4gYWxsIHNvdXJjZSBkYXRh
IGhhcwogICogYmVlbiBjb25zdW1lZCwgc29tZSBkYXRhIG1heSBiZSBpbiB0aGUgY29udmVydGVy
cycgaW50ZXJuYWwgc3RhdGUuCiAgKiBDYWxsIHRoaXMgZnVuY3Rpb24gcmVwZWF0ZWRseSwgdXBk
YXRpbmcgdGhlIHRhcmdldCBwb2ludGVycyB3aXRoCkBAIC0xMTc4LDIxICsxMTgwLDIxIEBAIHVj
bnZfZnJvbVVuaWNvZGUgKFVDb252ZXJ0ZXIgKiBjb252ZXJ0ZXIsCiAgKiBAcGFyYW0gdGFyZ2V0
IEkvTyBwYXJhbWV0ZXIuIElucHV0IDogUG9pbnRzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJ1
ZmZlciB0byBjb3B5CiAgKiAgVUNoYXJzIGludG8uIE91dHB1dCA6IHBvaW50cyB0byBhZnRlciB0
aGUgbGFzdCBVQ2hhciBjb3BpZWQuCiAgKiBAcGFyYW0gdGFyZ2V0TGltaXQgdGhlIHBvaW50ZXIg
anVzdCBhZnRlciB0aGUgZW5kIG9mIHRoZSA8VFQ+dGFyZ2V0PC9UVD4gYnVmZmVyCi0gKiBAcGFy
YW0gc291cmNlIEkvTyBwYXJhbWV0ZXIsIHBvaW50ZXIgdG8gcG9pbnRlciB0byB0aGUgc291cmNl
IGNvZGVwYWdlIGJ1ZmZlci4gCisgKiBAcGFyYW0gc291cmNlIEkvTyBwYXJhbWV0ZXIsIHBvaW50
ZXIgdG8gcG9pbnRlciB0byB0aGUgc291cmNlIGNvZGVwYWdlIGJ1ZmZlci4KICAqIEBwYXJhbSBz
b3VyY2VMaW1pdCB0aGUgcG9pbnRlciB0byB0aGUgYnl0ZSBhZnRlciB0aGUgZW5kIG9mIHRoZSBz
b3VyY2UgYnVmZmVyCiAgKiBAcGFyYW0gb2Zmc2V0cyBpZiBOVUxMIGlzIHBhc3NlZCwgbm90aGlu
ZyB3aWxsIGhhcHBlbiB0byBpdCwgb3RoZXJ3aXNlIGl0IG5lZWRzIHRvIGhhdmUgdGhlIHNhbWUg
bnVtYmVyCiAgKiBvZiBhbGxvY2F0ZWQgY2VsbHMgYXMgPFRUPnRhcmdldDwvVFQ+LiBXaWxsIGZp
bGwgaW4gb2Zmc2V0cyBmcm9tIHRhcmdldCB0byBzb3VyY2UgcG9pbnRlcgogICogZS5nOiA8VFQ+
b2Zmc2V0c1szXTwvVFQ+IGlzIGVxdWFsIHRvIDYsIGl0IG1lYW5zIHRoYXQgdGhlIDxUVD50YXJn
ZXRbM108L1RUPiB3YXMgYSByZXN1bHQgb2YgdHJhbnNjb2RpbmcgPFRUPnNvdXJjZVs2XTwvVFQ+
CiAgKiBGb3Igb3V0cHV0IGRhdGEgY2FycmllZCBhY3Jvc3MgY2FsbHMsIGFuZCBvdGhlciBkYXRh
IHdpdGhvdXQgYSBzcGVjaWZpYyBzb3VyY2UgY2hhcmFjdGVyCi0gKiAoc3VjaCBhcyBmcm9tIGVz
Y2FwZSBzZXF1ZW5jZXMgb3IgY2FsbGJhY2tzKSAgLTEgd2lsbCBiZSBwbGFjZWQgZm9yIG9mZnNl
dHMuIAorICogKHN1Y2ggYXMgZnJvbSBlc2NhcGUgc2VxdWVuY2VzIG9yIGNhbGxiYWNrcykgIC0x
IHdpbGwgYmUgcGxhY2VkIGZvciBvZmZzZXRzLgogICogQHBhcmFtIGZsdXNoIHNldCB0byA8VFQ+
VFJVRTwvVFQ+IGlmIHRoZSBjdXJyZW50IHNvdXJjZSBidWZmZXIgaXMgdGhlIGxhc3QgYXZhaWxh
YmxlCiAgKiBjaHVuayBvZiB0aGUgc291cmNlLCA8VFQ+RkFMU0U8L1RUPiBvdGhlcndpc2UuIE5v
dGUgdGhhdCBpZiBhIGZhaWxpbmcgc3RhdHVzIGlzIHJldHVybmVkLAogICogdGhpcyBmdW5jdGlv
biBtYXkgaGF2ZSB0byBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBmbHVzaCBzZXQgdG8g
PFRUPlRSVUU8L1RUPiB1bnRpbAogICogdGhlIHNvdXJjZSBidWZmZXIgaXMgY29uc3VtZWQuCiAg
KiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0dXMuICA8VFQ+VV9JTExFR0FMX0FSR1VNRU5UX0VS
Uk9SPC9UVD4gd2lsbCBiZSBzZXQgaWYgdGhlCiAgKiBjb252ZXJ0ZXIgaXMgPFRUPk5VTEw8L1RU
Pi4KLSAqIDxjb2RlPlVfQlVGRkVSX09WRVJGTE9XX0VSUk9SPC9jb2RlPiB3aWxsIGJlIHNldCBp
ZiB0aGUgdGFyZ2V0IGlzIGZ1bGwgYW5kIHRoZXJlIGlzIAotICogc3RpbGwgZGF0YSB0byBiZSB3
cml0dGVuIHRvIHRoZSB0YXJnZXQuIAorICogPGNvZGU+VV9CVUZGRVJfT1ZFUkZMT1dfRVJST1I8
L2NvZGU+IHdpbGwgYmUgc2V0IGlmIHRoZSB0YXJnZXQgaXMgZnVsbCBhbmQgdGhlcmUgaXMKKyAq
IHN0aWxsIGRhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgdGFyZ2V0LgogICogQHNlZSB1Y252X2Zy
b21VQ2hhcnMKICAqIEBzZWUgdWNudl9jb252ZXJ0CiAgKiBAc2VlIHVjbnZfZ2V0TWluQ2hhclNp
emUKQEAgLTEyMDAsNyArMTIwMiw3IEBAIHVjbnZfZnJvbVVuaWNvZGUgKFVDb252ZXJ0ZXIgKiBj
b252ZXJ0ZXIsCiAgKiBAc2VlIHVjbnZfZ2V0TmV4dFVDaGFyCiAgKiBAc3RhYmxlIElDVSAyLjAK
ICAqLwotVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIgCitVX1NUQUJMRSB2b2lkIFVfRVhQT1JUMgog
dWNudl90b1VuaWNvZGUoVUNvbnZlcnRlciAqY29udmVydGVyLAogICAgICAgICAgICAgICAgVUNo
YXIgKip0YXJnZXQsCiAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciAqdGFyZ2V0TGltaXQsCkBA
IC0xMzMxLDggKzEzMzMsOCBAQCB1Y252X3RvVUNoYXJzKFVDb252ZXJ0ZXIgKmNudiwKICAqICB1
cGRhdGVkIHRvIHBvaW50IGFmdGVyIHRoZSBieXRlcyBjb25zdW1lZCBpbiB0aGUgY29udmVyc2lv
biBjYWxsLgogICogQHBhcmFtIHNvdXJjZUxpbWl0IHBvaW50cyB0byB0aGUgZW5kIG9mIHRoZSBp
bnB1dCBidWZmZXIKICAqIEBwYXJhbSBlcnIgZmlsbHMgaW4gZXJyb3Igc3RhdHVzIChzZWUgdWNu
dl90b1VuaWNvZGUpCi0gKiA8Y29kZT5VX0lOREVYX09VVE9GQk9VTkRTX0VSUk9SPC9jb2RlPiB3
aWxsIGJlIHNldCBpZiB0aGUgaW5wdXQgCi0gKiBpcyBlbXB0eSBvciBkb2VzIG5vdCBjb252ZXJ0
IHRvIGFueSBvdXRwdXQgKGUuZy46IHB1cmUgc3RhdGUtY2hhbmdlIAorICogPGNvZGU+VV9JTkRF
WF9PVVRPRkJPVU5EU19FUlJPUjwvY29kZT4gd2lsbCBiZSBzZXQgaWYgdGhlIGlucHV0CisgKiBp
cyBlbXB0eSBvciBkb2VzIG5vdCBjb252ZXJ0IHRvIGFueSBvdXRwdXQgKGUuZy46IHB1cmUgc3Rh
dGUtY2hhbmdlCiAgKiBjb2RlcyBTSS9TTywgZXNjYXBlIHNlcXVlbmNlcyBmb3IgSVNPIDIwMjIs
CiAgKiBvciBpZiB0aGUgY2FsbGJhY2sgZGlkIG5vdCBvdXRwdXQgYW55dGhpbmcsIC4uLikuCiAg
KiBUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IHNldCBhIDxjb2RlPlVfQlVGRkVSX09WRVJGTE9XX0VS
Uk9SPC9jb2RlPiBiZWNhdXNlCkBAIC0xNDM2LDcgKzE0MzgsNyBAQCB1Y252X2dldE5leHRVQ2hh
cihVQ29udmVydGVyICogY29udmVydGVyLAogICogICAgICAgICAgICAgICAgICAgIE5VTEwsIE5V
TEwsIE5VTEwsIE5VTEwsCiAgKiAgICAgICAgICAgICAgICAgICAgVFJVRSwgVFJVRSwKICAqICAg
ICAgICAgICAgICAgICAgICBwRXJyb3JDb2RlKTsKLSAqIAorICoKICAqICAgICBteVJlbGVhc2VD
YWNoZWRVVEY4Q29udmVydGVyKHV0ZjhDbnYpOwogICoKICAqICAgICAvLyByZXR1cm4gdGhlIG91
dHB1dCBzdHJpbmcgbGVuZ3RoLCBidXQgd2l0aG91dCBwcmVmbGlnaHRpbmcKQEAgLTE3MjQsNyAr
MTcyNiw3IEBAIHVjbnZfb3BlbkFsbE5hbWVzKFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwogICog
QHJldHVybiBudW1iZXIgb2YgbmFtZXMgb24gYWxpYXMgbGlzdCBmb3IgZ2l2ZW4gYWxpYXMKICAq
IEBzdGFibGUgSUNVIDIuMAogICovCi1VX1NUQUJMRSB1aW50MTZfdCBVX0VYUE9SVDIgCitVX1NU
QUJMRSB1aW50MTZfdCBVX0VYUE9SVDIKIHVjbnZfY291bnRBbGlhc2VzKGNvbnN0IGNoYXIgKmFs
aWFzLCBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKIAogLyoqCkBAIC0xNzM5LDcgKzE3NDEsNyBA
QCB1Y252X2NvdW50QWxpYXNlcyhjb25zdCBjaGFyICphbGlhcywgVUVycm9yQ29kZSAqcEVycm9y
Q29kZSk7CiAgKiBAc2VlIHVjbnZfY291bnRBbGlhc2VzCiAgKiBAc3RhYmxlIElDVSAyLjAKICAq
LwotVV9TVEFCTEUgY29uc3QgY2hhciAqIFVfRVhQT1JUMiAKK1VfU1RBQkxFIGNvbnN0IGNoYXIg
KiBVX0VYUE9SVDIKIHVjbnZfZ2V0QWxpYXMoY29uc3QgY2hhciAqYWxpYXMsIHVpbnQxNl90IG4s
IFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwogCiAvKioKQEAgLTE3NTUsNyArMTc1Nyw3IEBAIHVj
bnZfZ2V0QWxpYXMoY29uc3QgY2hhciAqYWxpYXMsIHVpbnQxNl90IG4sIFVFcnJvckNvZGUgKnBF
cnJvckNvZGUpOwogICogQHBhcmFtIHBFcnJvckNvZGUgcmVzdWx0IG9mIG9wZXJhdGlvbgogICog
QHN0YWJsZSBJQ1UgMi4wCiAgKi8KLVVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAorVV9TVEFCTEUg
dm9pZCBVX0VYUE9SVDIKIHVjbnZfZ2V0QWxpYXNlcyhjb25zdCBjaGFyICphbGlhcywgY29uc3Qg
Y2hhciAqKmFsaWFzZXMsIFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwogCiAvKioKQEAgLTE4ODcs
OSArMTg4OSw5IEBAIHVjbnZfc2V0RGVmYXVsdE5hbWUoY29uc3QgY2hhciAqbmFtZSk7CiAjZW5k
aWYgIC8qIFVfSElERV9TWVNURU1fQVBJICovCiAKIC8qKgotICogRml4ZXMgdGhlIGJhY2tzbGFz
aCBjaGFyYWN0ZXIgbWlzbWFwcGluZy4gIEZvciBleGFtcGxlLCBpbiBTSklTLCB0aGUgYmFja3Ns
YXNoIAotICogY2hhcmFjdGVyIGluIHRoZSBBU0NJSSBwb3J0aW9uIGlzIGFsc28gdXNlZCB0byBy
ZXByZXNlbnQgdGhlIHllbiBjdXJyZW5jeSBzaWduLiAgCi0gKiBXaGVuIG1hcHBpbmcgZnJvbSBV
bmljb2RlIGNoYXJhY3RlciAweDAwNUMsIGl0J3MgdW5jbGVhciB3aGV0aGVyIHRvIG1hcCB0aGUg
CisgKiBGaXhlcyB0aGUgYmFja3NsYXNoIGNoYXJhY3RlciBtaXNtYXBwaW5nLiAgRm9yIGV4YW1w
bGUsIGluIFNKSVMsIHRoZSBiYWNrc2xhc2gKKyAqIGNoYXJhY3RlciBpbiB0aGUgQVNDSUkgcG9y
dGlvbiBpcyBhbHNvIHVzZWQgdG8gcmVwcmVzZW50IHRoZSB5ZW4gY3VycmVuY3kgc2lnbi4KKyAq
IFdoZW4gbWFwcGluZyBmcm9tIFVuaWNvZGUgY2hhcmFjdGVyIDB4MDA1QywgaXQncyB1bmNsZWFy
IHdoZXRoZXIgdG8gbWFwIHRoZQogICogY2hhcmFjdGVyIGJhY2sgdG8geWVuIG9yIGJhY2tzbGFz
aCBpbiBTSklTLiAgVGhpcyBmdW5jdGlvbiB3aWxsIHRha2UgdGhlIGlucHV0CiAgKiBidWZmZXIg
YW5kIHJlcGxhY2UgYWxsIHRoZSB5ZW4gc2lnbiBjaGFyYWN0ZXJzIHdpdGggYmFja3NsYXNoLiAg
VGhpcyBpcyBuZWNlc3NhcnkKICAqIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gb3BlbiBhIGZpbGUg
d2l0aCB0aGUgaW5wdXQgYnVmZmVyIG9uIFdpbmRvd3MuCkBAIC0xOTEwLDcgKzE5MTIsNyBAQCB1
Y252X2ZpeEZpbGVTZXBhcmF0b3IoY29uc3QgVUNvbnZlcnRlciAqY252LCBVQ2hhciAqc291cmNl
LCBpbnQzMl90IHNvdXJjZUxlbik7CiAgKiBEZXRlcm1pbmVzIGlmIHRoZSBjb252ZXJ0ZXIgY29u
dGFpbnMgYW1iaWd1b3VzIG1hcHBpbmdzIG9mIHRoZSBzYW1lCiAgKiBjaGFyYWN0ZXIgb3Igbm90
LgogICogQHBhcmFtIGNudiB0aGUgY29udmVydGVyIHRvIGJlIHRlc3RlZAotICogQHJldHVybiBU
UlVFIGlmIHRoZSBjb252ZXJ0ZXIgY29udGFpbnMgYW1iaWd1b3VzIG1hcHBpbmcgb2YgdGhlIHNh
bWUgCisgKiBAcmV0dXJuIFRSVUUgaWYgdGhlIGNvbnZlcnRlciBjb250YWlucyBhbWJpZ3VvdXMg
bWFwcGluZyBvZiB0aGUgc2FtZQogICogY2hhcmFjdGVyLCBGQUxTRSBvdGhlcndpc2UuCiAgKiBA
c3RhYmxlIElDVSAyLjAKICAqLwpAQCAtMTkyNywxMiArMTkyOSwxMiBAQCB1Y252X2lzQW1iaWd1
b3VzKGNvbnN0IFVDb252ZXJ0ZXIgKmNudik7CiAgKiBodHRwOi8vd3d3LmljdS1wcm9qZWN0Lm9y
Zy91c2VyZ3VpZGUvY29udmVyc2lvbi1kYXRhLmh0bWwjdWNtZm9ybWF0CiAgKgogICogQHBhcmFt
IGNudiBUaGUgY29udmVydGVyIHRvIHNldCB0aGUgZmFsbGJhY2sgbWFwcGluZyB1c2FnZSBvbi4K
LSAqIEBwYXJhbSB1c2VzRmFsbGJhY2sgVFJVRSBpZiB0aGUgdXNlciB3YW50cyB0aGUgY29udmVy
dGVyIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoZSBmYWxsYmFjayAKKyAqIEBwYXJhbSB1c2VzRmFs
bGJhY2sgVFJVRSBpZiB0aGUgdXNlciB3YW50cyB0aGUgY29udmVydGVyIHRvIHRha2UgYWR2YW50
YWdlIG9mIHRoZSBmYWxsYmFjawogICogbWFwcGluZywgRkFMU0Ugb3RoZXJ3aXNlLgogICogQHN0
YWJsZSBJQ1UgMi4wCiAgKiBAc2VlIHVjbnZfdXNlc0ZhbGxiYWNrCiAgKi8KLVVfU1RBQkxFIHZv
aWQgVV9FWFBPUlQyIAorVV9TVEFCTEUgdm9pZCBVX0VYUE9SVDIKIHVjbnZfc2V0RmFsbGJhY2so
VUNvbnZlcnRlciAqY252LCBVQm9vbCB1c2VzRmFsbGJhY2spOwogCiAvKioKQEAgLTE5NDQsNyAr
MTk0Niw3IEBAIHVjbnZfc2V0RmFsbGJhY2soVUNvbnZlcnRlciAqY252LCBVQm9vbCB1c2VzRmFs
bGJhY2spOwogICogQHN0YWJsZSBJQ1UgMi4wCiAgKiBAc2VlIHVjbnZfc2V0RmFsbGJhY2sKICAq
LwotVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyIAorVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1
Y252X3VzZXNGYWxsYmFjayhjb25zdCBVQ29udmVydGVyICpjbnYpOwogCiAvKioKQEAgLTE5Njgs
MTIgKzE5NzAsMTIgQEAgdWNudl91c2VzRmFsbGJhY2soY29uc3QgVUNvbnZlcnRlciAqY252KTsK
ICAqCiAgKiBAcGFyYW0gc291cmNlICAgICAgICAgICAgVGhlIHNvdXJjZSBzdHJpbmcgaW4gd2hp
Y2ggdGhlIHNpZ25hdHVyZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCiAgKiBAcGFyYW0gc291cmNlTGVu
Z3RoICAgICAgTGVuZ3RoIG9mIHRoZSBpbnB1dCBzdHJpbmcsIG9yIC0xIGlmIHRlcm1pbmF0ZWQg
d2l0aCBhIE5VTCBieXRlLgotICogQHBhcmFtIHNpZ25hdHVyZUxlbmd0aCAgIEEgcG9pbnRlciB0
byBpbnQzMl90IHRvIHJlY2VpdmUgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IG1ha2UgdXAgdGhl
IHNpZ25hdHVyZSAKKyAqIEBwYXJhbSBzaWduYXR1cmVMZW5ndGggICBBIHBvaW50ZXIgdG8gaW50
MzJfdCB0byByZWNlaXZlIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBtYWtlIHVwIHRoZSBzaWdu
YXR1cmUKICAqICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgZGV0ZWN0ZWQgVVRGLiAw
IGlmIG5vdCBkZXRlY3RlZC4KICAqICAgICAgICAgICAgICAgICAgICAgICAgICBDYW4gYmUgYSBO
VUxMIHBvaW50ZXIuCiAgKiBAcGFyYW0gcEVycm9yQ29kZSAgICAgICAgSUNVIGVycm9yIGNvZGUg
aW4vb3V0IHBhcmFtZXRlci4KICAqICAgICAgICAgICAgICAgICAgICAgICAgICBNdXN0IGZ1bGZp
bGwgVV9TVUNDRVNTIGJlZm9yZSB0aGUgZnVuY3Rpb24gY2FsbC4KLSAqIEByZXR1cm4gVGhlIG5h
bWUgb2YgdGhlIGVuY29kaW5nIGRldGVjdGVkLiBOVUxMIGlmIGVuY29kaW5nIGlzIG5vdCBkZXRl
Y3RlZC4gCisgKiBAcmV0dXJuIFRoZSBuYW1lIG9mIHRoZSBlbmNvZGluZyBkZXRlY3RlZC4gTlVM
TCBpZiBlbmNvZGluZyBpcyBub3QgZGV0ZWN0ZWQuCiAgKiBAc3RhYmxlIElDVSAyLjQKICAqLwog
VV9TVEFCTEUgY29uc3QgY2hhciogVV9FWFBPUlQyCkBAIC0xOTgzLDggKzE5ODUsOCBAQCB1Y252
X2RldGVjdFVuaWNvZGVTaWduYXR1cmUoY29uc3QgY2hhciogc291cmNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFVFcnJvckNvZGUgKnBFcnJvckNvZGUpOwogCiAvKioKLSAqIFJldHVy
bnMgdGhlIG51bWJlciBvZiBVQ2hhcnMgaGVsZCBpbiB0aGUgY29udmVydGVyJ3MgaW50ZXJuYWwg
c3RhdGUgCi0gKiBiZWNhdXNlIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGZvciBjb21wbGV0aW5nIHRo
ZSBjb252ZXJzaW9uLiBUaGlzIGZ1bmN0aW9uIGlzIAorICogUmV0dXJucyB0aGUgbnVtYmVyIG9m
IFVDaGFycyBoZWxkIGluIHRoZSBjb252ZXJ0ZXIncyBpbnRlcm5hbCBzdGF0ZQorICogYmVjYXVz
ZSBtb3JlIGlucHV0IGlzIG5lZWRlZCBmb3IgY29tcGxldGluZyB0aGUgY29udmVyc2lvbi4gVGhp
cyBmdW5jdGlvbiBpcwogICogdXNlZnVsIGZvciBtYXBwaW5nIHNlbWFudGljcyBvZiBJQ1UncyBj
b252ZXJ0ZXIgaW50ZXJmYWNlIHRvIHRob3NlIG9mIGljb252LAogICogYW5kIHRoaXMgaW5mb3Jt
YXRpb24gaXMgbm90IG5lZWRlZCBmb3Igbm9ybWFsIGNvbnZlcnNpb24uCiAgKiBAcGFyYW0gY252
ICAgICAgIFRoZSBjb252ZXJ0ZXIgaW4gd2hpY2ggdGhlIGlucHV0IGlzIGhlbGQKQEAgLTE5OTgs
NyArMjAwMCw3IEBAIHVjbnZfZnJvbVVDb3VudFBlbmRpbmcoY29uc3QgVUNvbnZlcnRlciogY252
LCBVRXJyb3JDb2RlKiBzdGF0dXMpOwogCiAvKioKICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBj
aGFycyBoZWxkIGluIHRoZSBjb252ZXJ0ZXIncyBpbnRlcm5hbCBzdGF0ZQotICogYmVjYXVzZSBt
b3JlIGlucHV0IGlzIG5lZWRlZCBmb3IgY29tcGxldGluZyB0aGUgY29udmVyc2lvbi4gVGhpcyBm
dW5jdGlvbiBpcyAKKyAqIGJlY2F1c2UgbW9yZSBpbnB1dCBpcyBuZWVkZWQgZm9yIGNvbXBsZXRp
bmcgdGhlIGNvbnZlcnNpb24uIFRoaXMgZnVuY3Rpb24gaXMKICAqIHVzZWZ1bCBmb3IgbWFwcGlu
ZyBzZW1hbnRpY3Mgb2YgSUNVJ3MgY29udmVydGVyIGludGVyZmFjZSB0byB0aG9zZSBvZiBpY29u
diwKICAqIGFuZCB0aGlzIGluZm9ybWF0aW9uIGlzIG5vdCBuZWVkZWQgZm9yIG5vcm1hbCBjb252
ZXJzaW9uLgogICogQHBhcmFtIGNudiAgICAgICBUaGUgY29udmVydGVyIGluIHdoaWNoIHRoZSBp
bnB1dCBpcyBoZWxkIGFzIGludGVybmFsIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pY3UvdW5pY29kZS91Y29sLmggYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91Y29sLmgK
aW5kZXggNWE0NTliNTJhZjRhOWZkNzY4NDAwNWM3ODlhYzM1NDNlOTI4ZDkzOS4uNTEwZGRjOGM2
YmRkY2VhZjQ5NWMzYzdlMWE3MWQ1NThlYzY0MzA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaWN1L3VuaWNvZGUvdWNvbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3Vj
b2wuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qIENvcHly
aWdodCAoYykgMTk5Ni0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBv
cmF0aW9uIGFuZCBvdGhlcnMuCisqIENvcHlyaWdodCAoYykgMTk5Ni0yMDE1LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpAQCAtMjgsMjMgKzI4LDE3
IEBACiAgKiBUaGUgQyBBUEkgZm9yIENvbGxhdG9yIHBlcmZvcm1zIGxvY2FsZS1zZW5zaXRpdmUK
ICAqIHN0cmluZyBjb21wYXJpc29uLiBZb3UgdXNlIHRoaXMgc2VydmljZSB0byBidWlsZAogICog
c2VhcmNoaW5nIGFuZCBzb3J0aW5nIHJvdXRpbmVzIGZvciBuYXR1cmFsIGxhbmd1YWdlIHRleHQu
Ci0gKiA8ZW0+SW1wb3J0YW50OiA8L2VtPlRoZSBJQ1UgY29sbGF0aW9uIHNlcnZpY2UgaGFzIGJl
ZW4gcmVpbXBsZW1lbnRlZCAKLSAqIGluIG9yZGVyIHRvIGFjaGlldmUgYmV0dGVyIHBlcmZvcm1h
bmNlIGFuZCBVQ0EgY29tcGxpYW5jZS4gCi0gKiBGb3IgZGV0YWlscywgc2VlIHRoZSAKLSAqIDxh
IGhyZWY9Imh0dHA6Ly9zb3VyY2UuaWN1LXByb2plY3Qub3JnL3JlcG9zL2ljdS9pY3VodG1sL3Ry
dW5rL2Rlc2lnbi9jb2xsYXRpb24vSUNVX2NvbGxhdGlvbl9kZXNpZ24uaHRtIj4KLSAqIGNvbGxh
dGlvbiBkZXNpZ24gZG9jdW1lbnQ8L2E+LgogICogPHA+CiAgKiBGb3IgbW9yZSBpbmZvcm1hdGlv
biBhYm91dCB0aGUgY29sbGF0aW9uIHNlcnZpY2Ugc2VlIAotICogPGEgaHJlZj0iaHR0cDovL2lj
dS1wcm9qZWN0Lm9yZy91c2VyZ3VpZGUvQ29sbGF0ZV9JbnRyby5odG1sIj50aGUgdXNlcnMgZ3Vp
ZGU8L2E+LgorICogPGEgaHJlZj0iaHR0cDovL3VzZXJndWlkZS5pY3UtcHJvamVjdC5vcmcvY29s
bGF0aW9uIj50aGUgVXNlciBHdWlkZTwvYT4uCiAgKiA8cD4KICAqIENvbGxhdGlvbiBzZXJ2aWNl
IHByb3ZpZGVzIGNvcnJlY3Qgc29ydGluZyBvcmRlcnMgZm9yIG1vc3QgbG9jYWxlcyBzdXBwb3J0
ZWQgaW4gSUNVLiAKICAqIElmIHNwZWNpZmljIGRhdGEgZm9yIGEgbG9jYWxlIGlzIG5vdCBhdmFp
bGFibGUsIHRoZSBvcmRlcnMgZXZlbnR1YWxseSBmYWxscyBiYWNrCi0gKiB0byB0aGUgPGEgaHJl
Zj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxMC8iPlVDQSBzb3J0
IG9yZGVyPC9hPi4gCisgKiB0byB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy9y
ZXBvcnRzL3RyMzUvdHIzNS1jb2xsYXRpb24uaHRtbCNSb290X0NvbGxhdGlvbiI+Q0xEUiByb290
IHNvcnQgb3JkZXI8L2E+LiAKICAqIDxwPgogICogU29ydCBvcmRlcmluZyBtYXkgYmUgY3VzdG9t
aXplZCBieSBwcm92aWRpbmcgeW91ciBvd24gc2V0IG9mIHJ1bGVzLiBGb3IgbW9yZSBvbgotICog
dGhpcyBzdWJqZWN0IHNlZSB0aGUgCi0gKiA8YSBocmVmPSJodHRwOi8vaWN1LXByb2plY3Qub3Jn
L3VzZXJndWlkZS9Db2xsYXRlX0N1c3RvbWl6YXRpb24uaHRtbCI+Ci0gKiBDb2xsYXRpb24gY3Vz
dG9taXphdGlvbjwvYT4gc2VjdGlvbiBvZiB0aGUgdXNlcnMgZ3VpZGUuCisgKiB0aGlzIHN1Ympl
Y3Qgc2VlIHRoZSA8YSBocmVmPSJodHRwOi8vdXNlcmd1aWRlLmljdS1wcm9qZWN0Lm9yZy9jb2xs
YXRpb24vY3VzdG9taXphdGlvbiI+CisgKiBDb2xsYXRpb24gQ3VzdG9taXphdGlvbjwvYT4gc2Vj
dGlvbiBvZiB0aGUgVXNlciBHdWlkZS4KICAqIDxwPgogICogQHNlZSAgICAgICAgIFVDb2xsYXRp
b25SZXN1bHQKICAqIEBzZWUgICAgICAgICBVTm9ybWFsaXphdGlvbk1vZGUKQEAgLTI5MSwxMyAr
Mjg1LDE3IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgIFVDT0xfREVDT01QT1NJVElPTl9NT0RFID0g
VUNPTF9OT1JNQUxJWkFUSU9OX01PREUsCiAgICAgIC8qKiBUaGUgc3RyZW5ndGggYXR0cmlidXRl
LiBDYW4gYmUgZWl0aGVyIFVDT0xfUFJJTUFSWSwgVUNPTF9TRUNPTkRBUlksCiAgICAgICAqIFVD
T0xfVEVSVElBUlksIFVDT0xfUVVBVEVSTkFSWSBvciBVQ09MX0lERU5USUNBTC4gVGhlIHVzdWFs
IHN0cmVuZ3RoCi0gICAgICAqIGZvciBtb3N0IGxvY2FsZXMgKGV4Y2VwdCBKYXBhbmVzZSkgaXMg
dGVydGlhcnkuIFF1YXRlcm5hcnkgc3RyZW5ndGggCisgICAgICAqIGZvciBtb3N0IGxvY2FsZXMg
KGV4Y2VwdCBKYXBhbmVzZSkgaXMgdGVydGlhcnkuCisgICAgICAqCisgICAgICAqIFF1YXRlcm5h
cnkgc3RyZW5ndGggCiAgICAgICAqIGlzIHVzZWZ1bCB3aGVuIGNvbWJpbmVkIHdpdGggc2hpZnRl
ZCBzZXR0aW5nIGZvciBhbHRlcm5hdGUgaGFuZGxpbmcKLSAgICAgICogYXR0cmlidXRlIGFuZCBm
b3IgSklTIHggNDA2MSBjb2xsYXRpb24sIHdoZW4gaXQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaAot
ICAgICAgKiBiZXR3ZWVuIEthdGFrYW5hICBhbmQgSGlyYWdhbmEgKHRoaXMgaXMgYWNoaWV2ZWQg
Ynkgc2V0dGluZyB0aGUgCi0gICAgICAqIFVDT0xfSElSQUdBTkFfUVVBVEVSTkFSWSBtb2RlIHRv
IG9uLiBPdGhlcndpc2UsIHF1YXRlcm5hcnkgbGV2ZWwKLSAgICAgICogaXMgYWZmZWN0ZWQgb25s
eSBieSB0aGUgbnVtYmVyIG9mIG5vbiBpZ25vcmFibGUgY29kZSBwb2ludHMgaW4KLSAgICAgICog
dGhlIHN0cmluZy4gSWRlbnRpY2FsIHN0cmVuZ3RoIGlzIHJhcmVseSB1c2VmdWwsIGFzIGl0IGFt
b3VudHMgCisgICAgICAqIGF0dHJpYnV0ZSBhbmQgZm9yIEpJUyBYIDQwNjEgY29sbGF0aW9uLCB3
aGVuIGl0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2gKKyAgICAgICogYmV0d2VlbiBLYXRha2FuYSBh
bmQgSGlyYWdhbmEuCisgICAgICAqIE90aGVyd2lzZSwgcXVhdGVybmFyeSBsZXZlbAorICAgICAg
KiBpcyBhZmZlY3RlZCBvbmx5IGJ5IHRoZSBudW1iZXIgb2Ygbm9uLWlnbm9yYWJsZSBjb2RlIHBv
aW50cyBpbgorICAgICAgKiB0aGUgc3RyaW5nLgorICAgICAgKgorICAgICAgKiBJZGVudGljYWwg
c3RyZW5ndGggaXMgcmFyZWx5IHVzZWZ1bCwgYXMgaXQgYW1vdW50cyAKICAgICAgICogdG8gY29k
ZXBvaW50cyBvZiB0aGUgTkZEIGZvcm0gb2YgdGhlIHN0cmluZy4KICAgICAgICogQHN0YWJsZSBJ
Q1UgMi4wCiAgICAgICAqLwpAQCAtMzA3LDIxICszMDUsMzEgQEAgdHlwZWRlZiBlbnVtIHsKICAg
ICAgICogbm9uLWlnbm9yYWJsZXMgb24gcXVhdGVybmFyeSBsZXZlbCBUaGlzIGlzIGEgc25lYWt5
IHdheSB0byBwcm9kdWNlIEpJUwogICAgICAgKiBzb3J0IG9yZGVyLgogICAgICAgKgotICAgICAg
KiBUaGlzIGF0dHJpYnV0ZSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgb2YgdGhlIENMRFIg
SmFwYW5lc2UgdGFpbG9yaW5nLgotICAgICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWlnaHQgY2hh
bmdlIHRvIHVzZSBhIGRpZmZlcmVudCBtZWNoYW5pc20KLSAgICAgICogdG8gYWNoaWV2ZSB0aGUg
c2FtZSBKYXBhbmVzZSBzb3J0IG9yZGVyLgorICAgICAgKiBUaGlzIGF0dHJpYnV0ZSB3YXMgYW4g
aW1wbGVtZW50YXRpb24gZGV0YWlsIG9mIHRoZSBDTERSIEphcGFuZXNlIHRhaWxvcmluZy4KICAg
ICAgICogU2luY2UgSUNVIDUwLCB0aGlzIGF0dHJpYnV0ZSBpcyBub3Qgc2V0dGFibGUgYW55IG1v
cmUgdmlhIEFQSSBmdW5jdGlvbnMuCi0gICAgICAqIEBkZXByZWNhdGVkIElDVSA1MCBJbXBsZW1l
bnRhdGlvbiBkZXRhaWwsIGNhbm5vdCBiZSBzZXQgdmlhIEFQSSwgbWlnaHQgYmUgcmVtb3ZlZCBm
cm9tIGltcGxlbWVudGF0aW9uLgorICAgICAgKiBTaW5jZSBDTERSIDI1L0lDVSA1MywgZXhwbGlj
aXQgcXVhdGVybmFyeSByZWxhdGlvbnMgYXJlIHVzZWQKKyAgICAgICogdG8gYWNoaWV2ZSB0aGUg
c2FtZSBKYXBhbmVzZSBzb3J0IG9yZGVyLgorICAgICAgKgorICAgICAgKiBAZGVwcmVjYXRlZCBJ
Q1UgNTAgSW1wbGVtZW50YXRpb24gZGV0YWlsLCBjYW5ub3QgYmUgc2V0IHZpYSBBUEksIHdhcyBy
ZW1vdmVkIGZyb20gaW1wbGVtZW50YXRpb24uCiAgICAgICAqLwogICAgICBVQ09MX0hJUkFHQU5B
X1FVQVRFUk5BUllfTU9ERSA9IFVDT0xfU1RSRU5HVEggKyAxLAogI2VuZGlmICAvKiBVX0hJREVf
REVQUkVDQVRFRF9BUEkgKi8KLSAgICAgLyoqIFdoZW4gdHVybmVkIG9uLCB0aGlzIGF0dHJpYnV0
ZSBnZW5lcmF0ZXMgYSBjb2xsYXRpb24ga2V5Ci0gICAgICAqIGZvciB0aGUgbnVtZXJpYyB2YWx1
ZSBvZiBzdWJzdHJpbmdzIG9mIGRpZ2l0cy4KKyAgICAgLyoqCisgICAgICAqIFdoZW4gdHVybmVk
IG9uLCB0aGlzIGF0dHJpYnV0ZSBtYWtlcworICAgICAgKiBzdWJzdHJpbmdzIG9mIGRpZ2l0cyBz
b3J0IGFjY29yZGluZyB0byB0aGVpciBudW1lcmljIHZhbHVlcy4KKyAgICAgICoKICAgICAgICog
VGhpcyBpcyBhIHdheSB0byBnZXQgJzEwMCcgdG8gc29ydCBBRlRFUiAnMicuIE5vdGUgdGhhdCB0
aGUgbG9uZ2VzdAotICAgICAgKiBkaWdpdCBzdWJzdHJpbmcgdGhhdCBjYW4gYmUgdHJlYXRlZCBh
cyBhIHNpbmdsZSBjb2xsYXRpb24gZWxlbWVudCBpcworICAgICAgKiBkaWdpdCBzdWJzdHJpbmcg
dGhhdCBjYW4gYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSB1bml0IGlzCiAgICAgICAqIDI1NCBkaWdp
dHMgKG5vdCBjb3VudGluZyBsZWFkaW5nIHplcm9zKS4gSWYgYSBkaWdpdCBzdWJzdHJpbmcgaXMK
ICAgICAgICogbG9uZ2VyIHRoYW4gdGhhdCwgdGhlIGRpZ2l0cyBiZXlvbmQgdGhlIGxpbWl0IHdp
bGwgYmUgdHJlYXRlZCBhcyBhCi0gICAgICAqIHNlcGFyYXRlIGRpZ2l0IHN1YnN0cmluZyBhc3Nv
Y2lhdGVkIHdpdGggYSBzZXBhcmF0ZSBjb2xsYXRpb24gZWxlbWVudC4KKyAgICAgICogc2VwYXJh
dGUgZGlnaXQgc3Vic3RyaW5nLgorICAgICAgKgorICAgICAgKiBBICJkaWdpdCIgaW4gdGhpcyBz
ZW5zZSBpcyBhIGNvZGUgcG9pbnQgd2l0aCBHZW5lcmFsX0NhdGVnb3J5PU5kLAorICAgICAgKiB3
aGljaCBkb2VzIG5vdCBpbmNsdWRlIGNpcmNsZWQgbnVtYmVycywgcm9tYW4gbnVtZXJhbHMsIGV0
Yy4KKyAgICAgICogT25seSBhIGNvbnRpZ3VvdXMgZGlnaXQgc3Vic3RyaW5nIGlzIGNvbnNpZGVy
ZWQsIHRoYXQgaXMsCisgICAgICAqIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyB3aXRob3V0IHNlcGFy
YXRvcnMuCisgICAgICAqIFRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIHBsdXMvbWludXMgc2lnbnMs
IGRlY2ltYWxzLCBleHBvbmVudHMsIGV0Yy4KKyAgICAgICoKICAgICAgICogQHN0YWJsZSBJQ1Ug
Mi44CiAgICAgICAqLwogICAgICBVQ09MX05VTUVSSUNfQ09MTEFUSU9OID0gVUNPTF9TVFJFTkdU
SCArIDIsIApAQCAtMzU0LDYgKzM2MiwxNCBAQCB0eXBlZGVmIGVudW0gewogCiAvKioKICAqIE9w
ZW4gYSBVQ29sbGF0b3IgZm9yIGNvbXBhcmluZyBzdHJpbmdzLgorICoKKyAqIEZvciBzb21lIGxh
bmd1YWdlcywgbXVsdGlwbGUgY29sbGF0aW9uIHR5cGVzIGFyZSBhdmFpbGFibGU7CisgKiBmb3Ig
ZXhhbXBsZSwgImRlQGNvbGxhdGlvbj1waG9uZWJvb2siLgorICogU3RhcnRpbmcgd2l0aCBJQ1Ug
NTQsIGNvbGxhdGlvbiBhdHRyaWJ1dGVzIGNhbiBiZSBzcGVjaWZpZWQgdmlhIGxvY2FsZSBrZXl3
b3JkcyBhcyB3ZWxsLAorICogaW4gdGhlIG9sZCBsb2NhbGUgZXh0ZW5zaW9uIHN5bnRheCAoImVs
QGNvbENhc2VGaXJzdD11cHBlciIpCisgKiBvciBpbiBsYW5ndWFnZSB0YWcgc3ludGF4ICgiZWwt
dS1rZi11cHBlciIpLgorICogU2VlIDxhIGhyZWY9Imh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2pl
Y3Qub3JnL2NvbGxhdGlvbi9hcGkiPlVzZXIgR3VpZGU6IENvbGxhdGlvbiBBUEk8L2E+LgorICoK
ICAqIFRoZSBVQ29sbGF0b3IgcG9pbnRlciBpcyB1c2VkIGluIGFsbCB0aGUgY2FsbHMgdG8gdGhl
IENvbGxhdGlvbiAKICAqIHNlcnZpY2UuIEFmdGVyIGZpbmlzaGVkLCBjb2xsYXRvciBtdXN0IGJl
IGRpc3Bvc2VkIG9mIGJ5IGNhbGxpbmcKICAqIHtAbGluayAjdWNvbF9jbG9zZSB9LgpAQCAtMzYx
LDggKzM3Nyw4IEBAIHR5cGVkZWYgZW51bSB7CiAgKiAgICAgICAgICAgIFNwZWNpYWwgdmFsdWVz
IGZvciBsb2NhbGVzIGNhbiBiZSBwYXNzZWQgaW4gLSAKICAqICAgICAgICAgICAgaWYgTlVMTCBp
cyBwYXNzZWQgZm9yIHRoZSBsb2NhbGUsIHRoZSBkZWZhdWx0IGxvY2FsZQogICogICAgICAgICAg
ICBjb2xsYXRpb24gcnVsZXMgd2lsbCBiZSB1c2VkLiBJZiBlbXB0eSBzdHJpbmcgKCIiKSBvcgot
ICogICAgICAgICAgICAicm9vdCIgYXJlIHBhc3NlZCwgVUNBIHJ1bGVzIHdpbGwgYmUgdXNlZC4K
LSAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFuIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBh
bnkgZXJyb3JzCisgKiAgICAgICAgICAgICJyb290IiBhcmUgcGFzc2VkLCB0aGUgcm9vdCBjb2xs
YXRvciB3aWxsIGJlIHJldHVybmVkLgorICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYSBV
RXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycwogICogQHJldHVybiBBIHBvaW50ZXIgdG8g
YSBVQ29sbGF0b3IsIG9yIDAgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCiAgKiBAc2VlIHVjb2xfb3Bl
blJ1bGVzCiAgKiBAc2VlIHVjb2xfc2FmZUNsb25lCkBAIC0zNzMsNyArMzg5LDcgQEAgVV9TVEFC
TEUgVUNvbGxhdG9yKiBVX0VYUE9SVDIKIHVjb2xfb3Blbihjb25zdCBjaGFyICpsb2MsIFVFcnJv
ckNvZGUgKnN0YXR1cyk7CiAKIC8qKgotICogUHJvZHVjZSBhbiBVQ29sbGF0b3IgaW5zdGFuY2Ug
YWNjb3JkaW5nIHRvIHRoZSBydWxlcyBzdXBwbGllZC4KKyAqIFByb2R1Y2UgYSBVQ29sbGF0b3Ig
aW5zdGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBzdXBwbGllZC4KICAqIFRoZSBydWxlcyBh
cmUgdXNlZCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQgb3JkZXJpbmcsIGRlZmluZWQgaW4gdGhlCiAg
KiBVQ0EgaW4gYSBwcm9jZXNzIGNhbGxlZCB0YWlsb3JpbmcuIFRoZSByZXN1bHRpbmcgVUNvbGxh
dG9yIHBvaW50ZXIKICAqIGNhbiBiZSB1c2VkIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgb25lIG9i
dGFpbmVkIGJ5IHtAbGluayAjdWNvbF9zdHJjb2xsIH0uCkBAIC0zODksNyArNDA1LDcgQEAgdWNv
bF9vcGVuKGNvbnN0IGNoYXIgKmxvYywgVUVycm9yQ29kZSAqc3RhdHVzKTsKICAqIEBwYXJhbSBw
YXJzZUVycm9yICBBIHBvaW50ZXIgdG8gVVBhcnNlRXJyb3IgdG8gcmVjaWV2ZSBpbmZvcm1hdGlv
biBhYm91dCBlcnJvcnMKICAqICAgICAgICAgICAgICAgICAgICBvY2N1cnJlZCBkdXJpbmcgcGFy
c2luZy4gVGhpcyBhcmd1bWVudCBjYW4gY3VycmVudGx5IGJlIHNldAogICogICAgICAgICAgICAg
ICAgICAgIHRvIE5VTEwsIGJ1dCBhdCB1c2VycyBvd24gcmlzay4gUGxlYXNlIHByb3ZpZGUgYSBy
ZWFsIHN0cnVjdHVyZS4KLSAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFuIFVFcnJvckNv
ZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzCisgKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBh
IFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzCiAgKiBAcmV0dXJuIEEgcG9pbnRlciB0
byBhIFVDb2xsYXRvci4gSXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdCBOVUxMIGJlIHJldHVybmVk
IGluIGNhc2UKICAqICAgICAgICAgb2YgZXJyb3IgLSBwbGVhc2UgdXNlIHN0YXR1cyBhcmd1bWVu
dCB0byBjaGVjayBmb3IgZXJyb3JzLgogICogQHNlZSB1Y29sX29wZW4KQEAgLTQwNSwxMSArNDIx
LDEyIEBAIHVjb2xfb3BlblJ1bGVzKCBjb25zdCBVQ2hhciAgICAgICAgKnJ1bGVzLAogICAgICAg
ICAgICAgICAgIFVQYXJzZUVycm9yICAgICAgICAqcGFyc2VFcnJvciwKICAgICAgICAgICAgICAg
ICBVRXJyb3JDb2RlICAgICAgICAgKnN0YXR1cyk7CiAKKyNpZm5kZWYgVV9ISURFX0RFUFJFQ0FU
RURfQVBJCiAvKiogCiAgKiBPcGVuIGEgY29sbGF0b3IgZGVmaW5lZCBieSBhIHNob3J0IGZvcm0g
c3RyaW5nLgogICogVGhlIHN0cnVjdHVyZSBhbmQgdGhlIHN5bnRheCBvZiB0aGUgc3RyaW5nIGlz
IGRlZmluZWQgaW4gdGhlICJOYW1pbmcgY29sbGF0b3JzIgogICogc2VjdGlvbiBvZiB0aGUgdXNl
cnMgZ3VpZGU6IAotICogaHR0cDovL2ljdS1wcm9qZWN0Lm9yZy91c2VyZ3VpZGUvQ29sbGF0ZV9D
b25jZXB0cy5odG1sI05hbWluZ19Db2xsYXRvcnMKKyAqIGh0dHA6Ly91c2VyZ3VpZGUuaWN1LXBy
b2plY3Qub3JnL2NvbGxhdGlvbi9jb25jZXB0cyNUT0MtQ29sbGF0b3ItbmFtaW5nLXNjaGVtZQog
ICogQXR0cmlidXRlcyBhcmUgb3ZlcnJpZGVuIGJ5IHRoZSBzdWJzZXF1ZW50IGF0dHJpYnV0ZXMu
IFNvLCBmb3IgIlMyX1MzIiwgZmluYWwKICAqIHN0cmVuZ3RoIHdpbGwgYmUgMy4gMzA2NmJpcyBs
b2NhbGUgb3ZlcnJpZGVzIGluZGl2aWR1YWwgbG9jYWxlIHBhcnRzLgogICogVGhlIGNhbGwgdG8g
dGhpcyBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGEgY2FsbCB0byB1Y29sX29wZW4sIGZvbGxv
d2VkIGJ5IGEgCkBAIC00MzYsMjEgKzQ1MywyMSBAQCB1Y29sX29wZW5SdWxlcyggY29uc3QgVUNo
YXIgICAgICAgICpydWxlcywKICAqIEBzZWUgdWNvbF9zZXRWYXJpYWJsZVRvcAogICogQHNlZSB1
Y29sX2dldFNob3J0RGVmaW5pdGlvblN0cmluZwogICogQHNlZSB1Y29sX25vcm1hbGl6ZVNob3J0
RGVmaW5pdGlvblN0cmluZwotICogQHN0YWJsZSBJQ1UgMy4wCi0gKgorICogQGRlcHJlY2F0ZWQg
SUNVIDU0IFVzZSB1Y29sX29wZW4oKSB3aXRoIGxhbmd1YWdlIHRhZyBjb2xsYXRpb24ga2V5d29y
ZHMgaW5zdGVhZC4KICAqLwotVV9TVEFCTEUgVUNvbGxhdG9yKiBVX0VYUE9SVDIKK1VfREVQUkVD
QVRFRCBVQ29sbGF0b3IqIFVfRVhQT1JUMgogdWNvbF9vcGVuRnJvbVNob3J0U3RyaW5nKCBjb25z
dCBjaGFyICpkZWZpbml0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICBVQm9vbCBmb3Jj
ZURlZmF1bHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICBVUGFyc2VFcnJvciAqcGFyc2VF
cnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNl
bmRpZiAgLyogVV9ISURFX0RFUFJFQ0FURURfQVBJICovCiAKICNpZm5kZWYgVV9ISURFX0RFUFJF
Q0FURURfQVBJCiAvKioKICAqIEdldCBhIHNldCBjb250YWluaW5nIHRoZSBjb250cmFjdGlvbnMg
ZGVmaW5lZCBieSB0aGUgY29sbGF0b3IuIFRoZSBzZXQgaW5jbHVkZXMKLSAqIGJvdGggdGhlIFVD
QSBjb250cmFjdGlvbnMgYW5kIHRoZSBjb250cmFjdGlvbnMgZGVmaW5lZCBieSB0aGUgY29sbGF0
b3IuIFRoaXMgc2V0CisgKiBib3RoIHRoZSByb290IGNvbGxhdG9yJ3MgY29udHJhY3Rpb25zIGFu
ZCB0aGUgY29udHJhY3Rpb25zIGRlZmluZWQgYnkgdGhlIGNvbGxhdG9yLiBUaGlzIHNldAogICog
d2lsbCBjb250YWluIG9ubHkgc3RyaW5ncy4gSWYgYSB0YWlsb3JpbmcgZXhwbGljaXRseSBzdXBw
cmVzc2VzIGNvbnRyYWN0aW9ucyBmcm9tIAotICogdGhlIFVDQSAobGlrZSBSdXNzaWFuKSwgcmVt
b3ZlZCBjb250cmFjdGlvbnMgd2lsbCBub3QgYmUgaW4gdGhlIHJlc3VsdGluZyBzZXQuCisgKiB0
aGUgcm9vdCBjb2xsYXRvciAobGlrZSBSdXNzaWFuKSwgcmVtb3ZlZCBjb250cmFjdGlvbnMgd2ls
bCBub3QgYmUgaW4gdGhlIHJlc3VsdGluZyBzZXQuCiAgKiBAcGFyYW0gY29sbCBjb2xsYXRvciAK
ICAqIEBwYXJhbSBjb250cyB0aGUgc2V0IHRvIGhvbGQgdGhlIHJlc3VsdC4gSXQgZ2V0cyBlbXB0
aWVkIGJlZm9yZQogICogICAgICAgICAgICAgIGNvbnRyYWN0aW9ucyBhcmUgYWRkZWQuIApAQCAt
NDY3LDcgKzQ4NCw3IEBAIHVjb2xfZ2V0Q29udHJhY3Rpb25zKCBjb25zdCBVQ29sbGF0b3IgKmNv
bGwsCiAKIC8qKgogICogR2V0IGEgc2V0IGNvbnRhaW5pbmcgdGhlIGV4cGFuc2lvbnMgZGVmaW5l
ZCBieSB0aGUgY29sbGF0b3IuIFRoZSBzZXQgaW5jbHVkZXMKLSAqIGJvdGggdGhlIFVDQSBleHBh
bnNpb25zIGFuZCB0aGUgZXhwYW5zaW9ucyBkZWZpbmVkIGJ5IHRoZSB0YWlsb3JpbmcKKyAqIGJv
dGggdGhlIHJvb3QgY29sbGF0b3IncyBleHBhbnNpb25zIGFuZCB0aGUgZXhwYW5zaW9ucyBkZWZp
bmVkIGJ5IHRoZSB0YWlsb3JpbmcKICAqIEBwYXJhbSBjb2xsIGNvbGxhdG9yCiAgKiBAcGFyYW0g
Y29udHJhY3Rpb25zIGlmIG5vdCBOVUxMLCB0aGUgc2V0IHRvIGhvbGQgdGhlIGNvbnRyYWN0aW9u
cwogICogQHBhcmFtIGV4cGFuc2lvbnMgaWYgbm90IE5VTEwsIHRoZSBzZXQgdG8gaG9sZCB0aGUg
ZXhwYW5zaW9ucwpAQCAtNTQ1LDcgKzU2Miw3IEBAIHVjb2xfc3RyY29sbCggICAgY29uc3QgICAg
VUNvbGxhdG9yICAgICpjb2xsLAogKiBAcGFyYW0gc291cmNlTGVuZ3RoIFRoZSBsZW5ndGggb2Yg
c291cmNlLCBvciAtMSBpZiBudWxsLXRlcm1pbmF0ZWQuIAogKiBAcGFyYW0gdGFyZ2V0IFRoZSB0
YXJnZXQgVVRGLTggc3RyaW5nLiAKICogQHBhcmFtIHRhcmdldExlbmd0aCBUaGUgbGVuZ3RoIG9m
IHRhcmdldCwgb3IgLTEgaWYgbnVsbC10ZXJtaW5hdGVkLiAKLSogQHBhcmFtIHN0YXR1cyBBIHBv
aW50ZXIgdG8gYW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMgCisqIEBwYXJhbSBz
dGF0dXMgQSBwb2ludGVyIHRvIGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMgCiAq
IEByZXR1cm4gVGhlIHJlc3VsdCBvZiBjb21wYXJpbmcgdGhlIHN0cmluZ3M7IG9uZSBvZiBVQ09M
X0VRVUFMLCAKICogVUNPTF9HUkVBVEVSLCBVQ09MX0xFU1MgCiAqIEBzZWUgdWNvbF9ncmVhdGVy
IApAQCAtNjI3LDcgKzY0NCw3IEBAIHVjb2xfZXF1YWwoY29uc3QgVUNvbGxhdG9yICpjb2xsLAog
ICogQHBhcmFtIHRJdGVyIFRoZSB0YXJnZXQgc3RyaW5nIGl0ZXJhdG9yLgogICogQHJldHVybiBU
aGUgcmVzdWx0IG9mIGNvbXBhcmluZyB0aGUgc3RyaW5nczsgb25lIG9mIFVDT0xfRVFVQUwsCiAg
KiBVQ09MX0dSRUFURVIsIFVDT0xfTEVTUwotICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8g
YW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKKyAqIEBwYXJhbSBzdGF0dXMgQSBw
b2ludGVyIHRvIGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMKICAqIEBzZWUgdWNv
bF9zdHJjb2xsCiAgKiBAc3RhYmxlIElDVSAyLjYKICAqLwpAQCAtNjY4LDcgKzY4NSw3IEBAIHVj
b2xfc2V0U3RyZW5ndGgoVUNvbGxhdG9yICpjb2xsLAogICogQHBhcmFtIGNvbGwgVGhlIFVDb2xs
YXRvciB0byBxdWVyeS4KICAqIEBwYXJhbSBkZXN0IFRoZSBhcnJheSB0byBmaWxsIHdpdGggdGhl
IHNjcmlwdCBvcmRlcmluZy4KICAqIEBwYXJhbSBkZXN0Q2FwYWNpdHkgVGhlIGxlbmd0aCBvZiBk
ZXN0LiBJZiBpdCBpcyAwLCB0aGVuIGRlc3QgbWF5IGJlIE5VTEwgYW5kIHRoZSBmdW5jdGlvbiAK
LSAqIHdpbGwgb25seSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IHdpdGhvdXQgd3Jp
dGluZyBhbnkgb2YgdGhlIHJlc3VsdCBzdHJpbmcgKHByZS1mbGlnaHRpbmcpLgorICogd2lsbCBv
bmx5IHJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgd2l0aG91dCB3cml0aW5nIGFueSBj
b2RlcyAocHJlLWZsaWdodGluZykuCiAgKiBAcGFyYW0gcEVycm9yQ29kZSBNdXN0IGJlIGEgdmFs
aWQgcG9pbnRlciB0byBhbiBlcnJvciBjb2RlIHZhbHVlLCB3aGljaCBtdXN0IG5vdCBpbmRpY2F0
ZSBhIAogICogZmFpbHVyZSBiZWZvcmUgdGhlIGZ1bmN0aW9uIGNhbGwuCiAgKiBAcmV0dXJuIFRo
ZSBudW1iZXIgb2YgcmVvcmRlcmluZyBjb2RlcyB3cml0dGVuIHRvIHRoZSBkZXN0IGFycmF5LgpA
QCAtNjg1LDI3ICs3MDIsMzIgQEAgdWNvbF9nZXRSZW9yZGVyQ29kZXMoY29uc3QgVUNvbGxhdG9y
KiBjb2xsLAogICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKIC8q
KiAKICAqIFNldHMgdGhlIHJlb3JkZXJpbmcgY29kZXMgZm9yIHRoaXMgY29sbGF0b3IuCi0gKiBD
b2xsYXRpb24gcmVvcmRlcmluZyBhbGxvd3Mgc2NyaXB0cyBhbmQgc29tZSBvdGhlciBkZWZpbmVk
IGJsb2NrcyBvZiBjaGFyYWN0ZXJzIAotICogdG8gYmUgbW92ZWQgcmVsYXRpdmUgdG8gZWFjaCBv
dGhlciBhcyBhIGJsb2NrLiBUaGlzIHJlb3JkZXJpbmcgaXMgZG9uZSBvbiB0b3Agb2YgCisgKiBD
b2xsYXRpb24gcmVvcmRlcmluZyBhbGxvd3Mgc2NyaXB0cyBhbmQgc29tZSBvdGhlciBncm91cHMg
b2YgY2hhcmFjdGVycworICogdG8gYmUgbW92ZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlci4gVGhp
cyByZW9yZGVyaW5nIGlzIGRvbmUgb24gdG9wIG9mCiAgKiB0aGUgRFVDRVQvQ0xEUiBzdGFuZGFy
ZCBjb2xsYXRpb24gb3JkZXIuIFJlb3JkZXJpbmcgY2FuIHNwZWNpZnkgZ3JvdXBzIHRvIGJlIHBs
YWNlZCAKICAqIGF0IHRoZSBzdGFydCBhbmQvb3IgdGhlIGVuZCBvZiB0aGUgY29sbGF0aW9uIG9y
ZGVyLiBUaGVzZSBncm91cHMgYXJlIHNwZWNpZmllZCB1c2luZwogICogVVNjcmlwdCBjb2RlcyBh
bmQgVUNvbFJlb3JkZXJDb2RlIGVudHJpZXMuCisgKgogICogPHA+QnkgZGVmYXVsdCwgcmVvcmRl
cmluZyBjb2RlcyBzcGVjaWZpZWQgZm9yIHRoZSBzdGFydCBvZiB0aGUgb3JkZXIgYXJlIHBsYWNl
ZCBpbiB0aGUgCi0gKiBvcmRlciBnaXZlbiBhZnRlciBhIGdyb3VwIG9mICJzcGVjaWFsIiBub24t
c2NyaXB0IGJsb2Nrcy4gVGhlc2Ugc3BlY2lhbCBncm91cHMgb2YgY2hhcmFjdGVycyAKKyAqIG9y
ZGVyIGdpdmVuIGFmdGVyIHNldmVyYWwgc3BlY2lhbCBub24tc2NyaXB0IGJsb2Nrcy4gVGhlc2Ug
c3BlY2lhbCBncm91cHMgb2YgY2hhcmFjdGVycwogICogYXJlIHNwYWNlLCBwdW5jdHVhdGlvbiwg
c3ltYm9sLCBjdXJyZW5jeSwgYW5kIGRpZ2l0LiBUaGVzZSBzcGVjaWFsIGdyb3VwcyBhcmUgcmVw
cmVzZW50ZWQgd2l0aAogICogVUNvbFJlb3JkZXJDb2RlIGVudHJpZXMuIFNjcmlwdCBncm91cHMg
Y2FuIGJlIGludGVybWluZ2xlZCB3aXRoIAotICogdGhlc2Ugc3BlY2lhbCBub24tc2NyaXB0IGJs
b2NrcyBpZiB0aG9zZSBzcGVjaWFsIGJsb2NrcyBhcmUgZXhwbGljaXRseSBzcGVjaWZpZWQgaW4g
dGhlIHJlb3JkZXJpbmcuCisgKiB0aGVzZSBzcGVjaWFsIG5vbi1zY3JpcHQgZ3JvdXBzIGlmIHRo
b3NlIHNwZWNpYWwgZ3JvdXBzIGFyZSBleHBsaWNpdGx5IHNwZWNpZmllZCBpbiB0aGUgcmVvcmRl
cmluZy4KKyAqCiAgKiA8cD5UaGUgc3BlY2lhbCBjb2RlIE9USEVSUyBzdGFuZHMgZm9yIGFueSBz
Y3JpcHQgdGhhdCBpcyBub3QgZXhwbGljaXRseSAKICAqIG1lbnRpb25lZCBpbiB0aGUgbGlzdCBv
ZiByZW9yZGVyaW5nIGNvZGVzIGdpdmVuLiBBbnl0aGluZyB0aGF0IGlzIGFmdGVyIE9USEVSUwog
ICogd2lsbCBnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHJlb3JkZXJpbmcgaW4gdGhlIG9yZGVy
IGdpdmVuLgorICoKICAqIDxwPlRoZSBzcGVjaWFsIHJlb3JkZXIgY29kZSBERUZBVUxUIHdpbGwg
cmVzZXQgdGhlIHJlb3JkZXJpbmcgZm9yIHRoaXMgY29sbGF0b3IKICAqIHRvIHRoZSBkZWZhdWx0
IGZvciB0aGlzIGNvbGxhdG9yLiBUaGUgZGVmYXVsdCByZW9yZGVyaW5nIG1heSBiZSB0aGUgRFVD
RVQvQ0xEUiBvcmRlciBvciBtYXkgYmUgYSByZW9yZGVyaW5nIHRoYXQKICAqIHdhcyBzcGVjaWZp
ZWQgd2hlbiB0aGlzIGNvbGxhdG9yIHdhcyBjcmVhdGVkIGZyb20gcmVzb3VyY2UgZGF0YSBvciBm
cm9tIHJ1bGVzLiBUaGUgCi0gKiBERUZBVUxUIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUg
Y29kZSBzdXBwbGllZCB3aGVuIGl0IHVzZWQuIElmIG5vdAotICogdGhhdCB3aWxsIHJlc3VsdCBp
biBhbiBVX0lMTEVHQUxfQVJHVU1FTlRfRVJST1IgYmVpbmcgc2V0LgorICogREVGQVVMVCBjb2Rl
IDxiPm11c3Q8L2I+IGJlIHRoZSBzb2xlIGNvZGUgc3VwcGxpZWQgd2hlbiBpdCBpcyB1c2VkLgor
ICogSWYgbm90LCB0aGVuIFVfSUxMRUdBTF9BUkdVTUVOVF9FUlJPUiB3aWxsIGJlIHNldC4KKyAq
CiAgKiA8cD5UaGUgc3BlY2lhbCByZW9yZGVyIGNvZGUgTk9ORSB3aWxsIHJlbW92ZSBhbnkgcmVv
cmRlcmluZyBmb3IgdGhpcyBjb2xsYXRvci4KICAqIFRoZSByZXN1bHQgb2Ygc2V0dGluZyBubyBy
ZW9yZGVyaW5nIHdpbGwgYmUgdG8gaGF2ZSB0aGUgRFVDRVQvQ0xEUiBvcmRlcmluZyB1c2VkLiBU
aGUgCi0gKiBOT05FIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUgY29kZSBzdXBwbGllZCB3
aGVuIGl0IHVzZWQuCisgKiBOT05FIGNvZGUgPGI+bXVzdDwvYj4gYmUgdGhlIHNvbGUgY29kZSBz
dXBwbGllZCB3aGVuIGl0IGlzIHVzZWQuCisgKgogICogQHBhcmFtIGNvbGwgVGhlIFVDb2xsYXRv
ciB0byBzZXQuCiAgKiBAcGFyYW0gcmVvcmRlckNvZGVzIEFuIGFycmF5IG9mIHNjcmlwdCBjb2Rl
cyBpbiB0aGUgbmV3IG9yZGVyLiBUaGlzIGNhbiBiZSBOVUxMIGlmIHRoZSAKICAqIGxlbmd0aCBp
cyBhbHNvIHNldCB0byAwLiBBbiBlbXB0eSBhcnJheSB3aWxsIGNsZWFyIGFueSByZW9yZGVyaW5n
IGNvZGVzIG9uIHRoZSBjb2xsYXRvci4KQEAgLTcyNywxMCArNzQ5LDEzIEBAIHVjb2xfc2V0UmVv
cmRlckNvZGVzKFVDb2xsYXRvciogY29sbCwKIC8qKgogICogUmV0cmlldmVzIHRoZSByZW9yZGVy
IGNvZGVzIHRoYXQgYXJlIGdyb3VwZWQgd2l0aCB0aGUgZ2l2ZW4gcmVvcmRlciBjb2RlLiBTb21l
IHJlb3JkZXIKICAqIGNvZGVzIHdpbGwgYmUgZ3JvdXBlZCBhbmQgbXVzdCByZW9yZGVyIHRvZ2V0
aGVyLgorICogQmVnaW5uaW5nIHdpdGggSUNVIDU1LCBzY3JpcHRzIG9ubHkgcmVvcmRlciB0b2dl
dGhlciBpZiB0aGV5IGFyZSBwcmltYXJ5LWVxdWFsLAorICogZm9yIGV4YW1wbGUgSGlyYWdhbmEg
YW5kIEthdGFrYW5hLgorICoKICAqIEBwYXJhbSByZW9yZGVyQ29kZSBUaGUgcmVvcmRlciBjb2Rl
IHRvIGRldGVybWluZSBlcXVpdmFsZW5jZSBmb3IuCiAgKiBAcGFyYW0gZGVzdCBUaGUgYXJyYXkg
dG8gZmlsbCB3aXRoIHRoZSBzY3JpcHQgb3JkZXJpbmcuCiAgKiBAcGFyYW0gZGVzdENhcGFjaXR5
IFRoZSBsZW5ndGggb2YgZGVzdC4gSWYgaXQgaXMgMCwgdGhlbiBkZXN0IG1heSBiZSBOVUxMIGFu
ZCB0aGUgZnVuY3Rpb24KLSAqIHdpbGwgb25seSByZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgcmVz
dWx0IHdpdGhvdXQgd3JpdGluZyBhbnkgb2YgdGhlIHJlc3VsdCBzdHJpbmcgKHByZS1mbGlnaHRp
bmcpLgorICogd2lsbCBvbmx5IHJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgd2l0aG91
dCB3cml0aW5nIGFueSBjb2RlcyAocHJlLWZsaWdodGluZykuCiAgKiBAcGFyYW0gcEVycm9yQ29k
ZSBNdXN0IGJlIGEgdmFsaWQgcG9pbnRlciB0byBhbiBlcnJvciBjb2RlIHZhbHVlLCB3aGljaCBt
dXN0IG5vdCBpbmRpY2F0ZSAKICAqIGEgZmFpbHVyZSBiZWZvcmUgdGhlIGZ1bmN0aW9uIGNhbGwu
CiAgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgcmVvcmRlcmluZyBjb2RlcyB3cml0dGVuIHRvIHRo
ZSBkZXN0IGFycmF5LgpAQCAtNzUzLDcgKzc3OCw3IEBAIHVjb2xfZ2V0RXF1aXZhbGVudFJlb3Jk
ZXJDb2RlcyhpbnQzMl90IHJlb3JkZXJDb2RlLAogICogQHBhcmFtIGRpc3BMb2MgVGhlIGxvY2Fs
ZSBmb3IgZGlzcGxheS4KICAqIEBwYXJhbSByZXN1bHQgQSBwb2ludGVyIHRvIGEgYnVmZmVyIHRv
IHJlY2VpdmUgdGhlIGF0dHJpYnV0ZS4KICAqIEBwYXJhbSByZXN1bHRMZW5ndGggVGhlIG1heGlt
dW0gc2l6ZSBvZiByZXN1bHQuCi0gKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhbiBVRXJy
b3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycworICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIg
dG8gYSBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycwogICogQHJldHVybiBUaGUgdG90
YWwgYnVmZmVyIHNpemUgbmVlZGVkOyBpZiBncmVhdGVyIHRoYW4gcmVzdWx0TGVuZ3RoLAogICog
dGhlIG91dHB1dCB3YXMgdHJ1bmNhdGVkLgogICogQHN0YWJsZSBJQ1UgMi4wCkBAIC04NTAsMzEg
Kzg3NSwzMiBAQCB1Y29sX2dldEtleXdvcmRWYWx1ZXNGb3JMb2NhbGUoY29uc3QgY2hhcioga2V5
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIHN0YXR1cyk7CiAK
IC8qKgotICogUmV0dXJuIHRoZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCBsb2NhbGUgZm9yIHRo
ZSBnaXZlbgotICogcmVxdWVzdGVkIGxvY2FsZSwgd2l0aCByZXNwZWN0IHRvIGdpdmVuIGtleXdv
cmQsIGZvciB0aGUKLSAqIGNvbGxhdGlvbiBzZXJ2aWNlLiAgSWYgdHdvIGxvY2FsZXMgcmV0dXJu
IHRoZSBzYW1lIHJlc3VsdCwgdGhlbgotICogY29sbGF0b3JzIGluc3RhbnRpYXRlZCBmb3IgdGhl
c2UgbG9jYWxlcyB3aWxsIGJlaGF2ZQotICogZXF1aXZhbGVudGx5LiAgVGhlIGNvbnZlcnNlIGlz
IG5vdCBhbHdheXMgdHJ1ZTsgdHdvIGNvbGxhdG9ycworICogUmV0dXJuIHRoZSBmdW5jdGlvbmFs
bHkgZXF1aXZhbGVudCBsb2NhbGUgZm9yIHRoZSBzcGVjaWZpZWQKKyAqIGlucHV0IGxvY2FsZSwg
d2l0aCByZXNwZWN0IHRvIGdpdmVuIGtleXdvcmQsIGZvciB0aGUKKyAqIGNvbGxhdGlvbiBzZXJ2
aWNlLiBJZiB0d28gZGlmZmVyZW50IGlucHV0IGxvY2FsZSArIGtleXdvcmQKKyAqIGNvbWJpbmF0
aW9ucyBwcm9kdWNlIHRoZSBzYW1lIHJlc3VsdCBsb2NhbGUsIHRoZW4gY29sbGF0b3JzCisgKiBp
bnN0YW50aWF0ZWQgZm9yIHRoZXNlIHR3byBkaWZmZXJlbnQgaW5wdXQgbG9jYWxlcyB3aWxsIGJl
aGF2ZQorICogZXF1aXZhbGVudGx5LiBUaGUgY29udmVyc2UgaXMgbm90IGFsd2F5cyB0cnVlOyB0
d28gY29sbGF0b3JzCiAgKiBtYXkgaW4gZmFjdCBiZSBlcXVpdmFsZW50LCBidXQgcmV0dXJuIGRp
ZmZlcmVudCByZXN1bHRzLCBkdWUgdG8KLSAqIGludGVybmFsIGRldGFpbHMuICBUaGUgcmV0dXJu
IHJlc3VsdCBoYXMgbm8gb3RoZXIgbWVhbmluZyB0aGFuCisgKiBpbnRlcm5hbCBkZXRhaWxzLiBU
aGUgcmV0dXJuIHJlc3VsdCBoYXMgbm8gb3RoZXIgbWVhbmluZyB0aGFuCiAgKiB0aGF0IHN0YXRl
ZCBhYm92ZSwgYW5kIGltcGxpZXMgbm90aGluZyBhcyB0byB0aGUgcmVsYXRpb25zaGlwCi0gKiBi
ZXR3ZWVuIHRoZSB0d28gbG9jYWxlcy4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieQorICog
YmV0d2VlbiB0aGUgdHdvIGxvY2FsZXMuIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieQogICog
YXBwbGljYXRpb25zIHdobyB3aXNoIHRvIGNhY2hlIGNvbGxhdG9ycywgb3Igb3RoZXJ3aXNlIHJl
dXNlCi0gKiBjb2xsYXRvcnMgd2hlbiBwb3NzaWJsZS4gIFRoZSBmdW5jdGlvbmFsIGVxdWl2YWxl
bnQgbWF5IGNoYW5nZQotICogb3ZlciB0aW1lLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFz
ZSBzZWUgdGhlIDxhCi0gKiBocmVmPSJodHRwOi8vaWN1LXByb2plY3Qub3JnL3VzZXJndWlkZS9s
b2NhbGUuaHRtbCNzZXJ2aWNlcyI+CisgKiBjb2xsYXRvcnMgd2hlbiBwb3NzaWJsZS4gVGhlIGZ1
bmN0aW9uYWwgZXF1aXZhbGVudCBtYXkgY2hhbmdlCisgKiBvdmVyIHRpbWUuIEZvciBtb3JlIGlu
Zm9ybWF0aW9uLCBwbGVhc2Ugc2VlIHRoZSA8YQorICogaHJlZj0iaHR0cDovL3VzZXJndWlkZS5p
Y3UtcHJvamVjdC5vcmcvbG9jYWxlI1RPQy1Mb2NhbGVzLWFuZC1TZXJ2aWNlcyI+CiAgKiBMb2Nh
bGVzIGFuZCBTZXJ2aWNlczwvYT4gc2VjdGlvbiBvZiB0aGUgSUNVIFVzZXIgR3VpZGUuCi0gKiBA
cGFyYW0gcmVzdWx0IGZpbGxpbiBmb3IgdGhlIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IGxvY2Fs
ZQorICogQHBhcmFtIHJlc3VsdCBmaWxsaW4gZm9yIHRoZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVu
dCByZXN1bHQgbG9jYWxlCiAgKiBAcGFyYW0gcmVzdWx0Q2FwYWNpdHkgY2FwYWNpdHkgb2YgdGhl
IGZpbGxpbiBidWZmZXIKICAqIEBwYXJhbSBrZXl3b3JkIGEgcGFydGljdWxhciBrZXl3b3JkIGFz
IGVudW1lcmF0ZWQgYnkKICAqIHVjb2xfZ2V0S2V5d29yZHMuCi0gKiBAcGFyYW0gbG9jYWxlIHRo
ZSByZXF1ZXN0ZWQgbG9jYWxlCisgKiBAcGFyYW0gbG9jYWxlIHRoZSBzcGVjaWZpZWQgaW5wdXQg
bG9jYWxlCiAgKiBAcGFyYW0gaXNBdmFpbGFibGUgaWYgbm9uLU5VTEwsIHBvaW50ZXIgdG8gYSBm
aWxsaW4gcGFyYW1ldGVyIHRoYXQKLSAqIGluZGljYXRlcyB3aGV0aGVyIHRoZSByZXF1ZXN0ZWQg
bG9jYWxlIHdhcyAnYXZhaWxhYmxlJyB0byB0aGUKLSAqIGNvbGxhdGlvbiBzZXJ2aWNlLiBBIGxv
Y2FsZSBpcyBkZWZpbmVkIGFzICdhdmFpbGFibGUnIGlmIGl0CisgKiBvbiByZXR1cm4gaW5kaWNh
dGVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBpbnB1dCBsb2NhbGUgd2FzICdhdmFpbGFibGUnCisg
KiB0byB0aGUgY29sbGF0aW9uIHNlcnZpY2UuIEEgbG9jYWxlIGlzIGRlZmluZWQgYXMgJ2F2YWls
YWJsZScgaWYgaXQKICAqIHBoeXNpY2FsbHkgZXhpc3RzIHdpdGhpbiB0aGUgY29sbGF0aW9uIGxv
Y2FsZSBkYXRhLgogICogQHBhcmFtIHN0YXR1cyBwb2ludGVyIHRvIGlucHV0LW91dHB1dCBlcnJv
ciBjb2RlCi0gKiBAcmV0dXJuIHRoZSBhY3R1YWwgYnVmZmVyIHNpemUgbmVlZGVkIGZvciB0aGUg
bG9jYWxlLiAgSWYgZ3JlYXRlcgorICogQHJldHVybiB0aGUgYWN0dWFsIGJ1ZmZlciBzaXplIG5l
ZWRlZCBmb3IgdGhlIGxvY2FsZS4gSWYgZ3JlYXRlcgogICogdGhhbiByZXN1bHRDYXBhY2l0eSwg
dGhlIHJldHVybmVkIGZ1bGwgbmFtZSB3aWxsIGJlIHRydW5jYXRlZCBhbmQKICAqIGFuIGVycm9y
IGNvZGUgd2lsbCBiZSByZXR1cm5lZC4KICAqIEBzdGFibGUgSUNVIDMuMApAQCAtODk2LDEzICs5
MjIsMTQgQEAgVV9TVEFCTEUgY29uc3QgVUNoYXIqIFVfRVhQT1JUMgogdWNvbF9nZXRSdWxlcygg
ICAgY29uc3QgICAgVUNvbGxhdG9yICAgICpjb2xsLCAKICAgICAgICAgaW50MzJfdCAgICAgICAg
ICAgICpsZW5ndGgpOwogCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQogLyoqIEdldCB0
aGUgc2hvcnQgZGVmaW5pdGlvbiBzdHJpbmcgZm9yIGEgY29sbGF0b3IuIFRoaXMgQVBJIGhhcnZl
c3RzIHRoZSBjb2xsYXRvcidzCiAgKiAgbG9jYWxlIGFuZCB0aGUgYXR0cmlidXRlIHNldCBhbmQg
cHJvZHVjZXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3BlbmluZyAKLSAqICBhIGNv
bGxhdG9yIHdpdGggdGhlIHNhbWUgcHJvcGVydGllcyB1c2luZyB0aGUgdWNvbF9vcGVuRnJvbVNo
b3J0U3RyaW5nIEFQSS4KKyAqICBhIGNvbGxhdG9yIHdpdGggdGhlIHNhbWUgYXR0cmlidXRlcyB1
c2luZyB0aGUgdWNvbF9vcGVuRnJvbVNob3J0U3RyaW5nIEFQSS4KICAqICBUaGlzIHN0cmluZyB3
aWxsIGJlIG5vcm1hbGl6ZWQuCiAgKiAgVGhlIHN0cnVjdHVyZSBhbmQgdGhlIHN5bnRheCBvZiB0
aGUgc3RyaW5nIGlzIGRlZmluZWQgaW4gdGhlICJOYW1pbmcgY29sbGF0b3JzIgogICogIHNlY3Rp
b24gb2YgdGhlIHVzZXJzIGd1aWRlOiAKLSAqICBodHRwOi8vaWN1LXByb2plY3Qub3JnL3VzZXJn
dWlkZS9Db2xsYXRlX0NvbmNlcHRzLmh0bWwjTmFtaW5nX0NvbGxhdG9ycworICogIGh0dHA6Ly91
c2VyZ3VpZGUuaWN1LXByb2plY3Qub3JnL2NvbGxhdGlvbi9jb25jZXB0cyNUT0MtQ29sbGF0b3It
bmFtaW5nLXNjaGVtZQogICogIFRoaXMgQVBJIHN1cHBvcnRzIHByZWZsaWdodGluZy4KICAqICBA
cGFyYW0gY29sbCBhIGNvbGxhdG9yCiAgKiAgQHBhcmFtIGxvY2FsZSBhIGxvY2FsZSB0aGF0IHdp
bGwgYXBwZWFyIGFzIGEgY29sbGF0b3JzIGxvY2FsZSBpbiB0aGUgcmVzdWx0aW5nCkBAIC05MTQs
OSArOTQxLDkgQEAgdWNvbF9nZXRSdWxlcyggICAgY29uc3QgICAgVUNvbGxhdG9yICAgICpjb2xs
LAogICogIEByZXR1cm4gbGVuZ3RoIG9mIHRoZSByZXN1bHRpbmcgc3RyaW5nCiAgKiAgQHNlZSB1
Y29sX29wZW5Gcm9tU2hvcnRTdHJpbmcKICAqICBAc2VlIHVjb2xfbm9ybWFsaXplU2hvcnREZWZp
bml0aW9uU3RyaW5nCi0gKiAgQHN0YWJsZSBJQ1UgMy4wCisgKiAgQGRlcHJlY2F0ZWQgSUNVIDU0
CiAgKi8KLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBV
X0VYUE9SVDIKIHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3RyaW5nKGNvbnN0IFVDb2xsYXRvciAq
Y29sbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmxvY2FsZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwKQEAgLTk0MCwyMSAr
OTY3LDI1IEBAIHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3RyaW5nKGNvbnN0IFVDb2xsYXRvciAq
Y29sbCwKICAqICBAc2VlIHVjb2xfb3BlbkZyb21TaG9ydFN0cmluZwogICogIEBzZWUgdWNvbF9n
ZXRTaG9ydERlZmluaXRpb25TdHJpbmcKICAqIAotICogIEBzdGFibGUgSUNVIDMuMAorICogIEBk
ZXByZWNhdGVkIElDVSA1NAogICovCiAKLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RF
UFJFQ0FURUQgaW50MzJfdCBVX0VYUE9SVDIKIHVjb2xfbm9ybWFsaXplU2hvcnREZWZpbml0aW9u
U3RyaW5nKGNvbnN0IGNoYXIgKnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNoYXIgKmRlc3RpbmF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MzJfdCBjYXBhY2l0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFVQYXJzZUVycm9yICpwYXJzZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyogVV9ISURFX0RFUFJFQ0FU
RURfQVBJICovCiAKIAogLyoqCiAgKiBHZXQgYSBzb3J0IGtleSBmb3IgYSBzdHJpbmcgZnJvbSBh
IFVDb2xsYXRvci4KICAqIFNvcnQga2V5cyBtYXkgYmUgY29tcGFyZWQgdXNpbmcgPFRUPnN0cmNt
cDwvVFQ+LgogICoKKyAqIE5vdGUgdGhhdCBzb3J0IGtleXMgYXJlIG9mdGVuIGxlc3MgZWZmaWNp
ZW50IHRoYW4gc2ltcGx5IGRvaW5nIGNvbXBhcmlzb24uICAKKyAqIEZvciBtb3JlIGRldGFpbHMs
IHNlZSB0aGUgSUNVIFVzZXIgR3VpZGUuCisgKgogICogTGlrZSBJQ1UgZnVuY3Rpb25zIHRoYXQg
d3JpdGUgdG8gYW4gb3V0cHV0IGJ1ZmZlciwgdGhlIGJ1ZmZlciBjb250ZW50cwogICogaXMgdW5k
ZWZpbmVkIGlmIHRoZSBidWZmZXIgY2FwYWNpdHkgKHJlc3VsdExlbmd0aCBwYXJhbWV0ZXIpIGlz
IHRvbyBzbWFsbC4KICAqIFVubGlrZSBJQ1UgZnVuY3Rpb25zIHRoYXQgd3JpdGUgYSBzdHJpbmcg
dG8gYW4gb3V0cHV0IGJ1ZmZlciwKQEAgLTEwOTYsNiArMTEyNywxNyBAQCB1Y29sX2dldFVDQVZl
cnNpb24oY29uc3QgVUNvbGxhdG9yKiBjb2xsLCBVVmVyc2lvbkluZm8gaW5mbyk7CiAgKgogICog
VGhpcyBpcyB1c2VmdWwsIGZvciBleGFtcGxlLCBmb3IgY29tYmluaW5nIHNvcnQga2V5cyBmcm9t
IGZpcnN0IGFuZCBsYXN0IG5hbWVzCiAgKiB0byBzb3J0IHN1Y2ggcGFpcnMuCisgKiBTZWUgaHR0
cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMTAvI01lcmdpbmdfU29ydF9LZXlzCisgKgor
ICogVGhlIHJlY29tbWVuZGVkIHdheSB0byBhY2hpZXZlICJtZXJnZWQiIHNvcnRpbmcgaXMgYnkK
KyAqIGNvbmNhdGVuYXRpbmcgc3RyaW5ncyB3aXRoIFUrRkZGRSBiZXR3ZWVuIHRoZW0uCisgKiBU
aGUgY29uY2F0ZW5hdGlvbiBoYXMgdGhlIHNhbWUgc29ydCBvcmRlciBhcyB0aGUgbWVyZ2VkIHNv
cnQga2V5cywKKyAqIGJ1dCBtZXJnZShnZXRTb3J0S2V5KHN0cjEpLCBnZXRTb3J0S2V5KHN0cjIp
KSBtYXkgZGlmZmVyIGZyb20gZ2V0U29ydEtleShzdHIxICsgJ1x1RkZGRScgKyBzdHIyKS4KKyAq
IFVzaW5nIHN0cmluZ3Mgd2l0aCBVK0ZGRkUgbWF5IHlpZWxkIHNob3J0ZXIgc29ydCBrZXlzLgor
ICoKKyAqIEZvciBkZXRhaWxzIGFib3V0IFNvcnQgS2V5IEZlYXR1cmVzIHNlZQorICogaHR0cDov
L3VzZXJndWlkZS5pY3UtcHJvamVjdC5vcmcvY29sbGF0aW9uL2FwaSNUT0MtU29ydC1LZXktRmVh
dHVyZXMKKyAqCiAgKiBJdCBpcyBwb3NzaWJsZSB0byBtZXJnZSBtdWx0aXBsZSBzb3J0IGtleXMg
YnkgY29uc2VjdXRpdmVseSBtZXJnaW5nCiAgKiBhbm90aGVyIG9uZSB3aXRoIHRoZSBpbnRlcm1l
ZGlhdGUgcmVzdWx0LgogICoKQEAgLTExNTgsNTUgKzEyMDAsODkgQEAgdWNvbF9zZXRBdHRyaWJ1
dGUoVUNvbGxhdG9yICpjb2xsLCBVQ29sQXR0cmlidXRlIGF0dHIsIFVDb2xBdHRyaWJ1dGVWYWx1
ZSB2YWx1ZSwKIFVfU1RBQkxFIFVDb2xBdHRyaWJ1dGVWYWx1ZSAgVV9FWFBPUlQyIAogdWNvbF9n
ZXRBdHRyaWJ1dGUoY29uc3QgVUNvbGxhdG9yICpjb2xsLCBVQ29sQXR0cmlidXRlIGF0dHIsIFVF
cnJvckNvZGUgKnN0YXR1cyk7CiAKLS8qKiBWYXJpYWJsZSB0b3AKLSAqIGlzIGEgdHdvIGJ5dGUg
cHJpbWFyeSB2YWx1ZSB3aGljaCBjYXVzZXMgYWxsIHRoZSBjb2RlcG9pbnRzIHdpdGggcHJpbWFy
eSB2YWx1ZXMgdGhhdAotICogYXJlIGxlc3Mgb3IgZXF1YWwgdGhhbiB0aGUgdmFyaWFibGUgdG9w
IHRvIGJlIHNoaWZ0ZWQgd2hlbiBhbHRlcm5hdGUgaGFuZGxpbmcgaXMgc2V0Ci0gKiB0byBVQ09M
X1NISUZURUQuCi0gKiBTZXRzIHRoZSB2YXJpYWJsZSB0b3AgdG8gYSBjb2xsYXRpb24gZWxlbWVu
dCB2YWx1ZSBvZiBhIHN0cmluZyBzdXBwbGllZC4gCi0gKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3
aGljaCB2YXJpYWJsZSB0b3AgbmVlZHMgdG8gYmUgY2hhbmdlZAorLyoqCisgKiBTZXRzIHRoZSB2
YXJpYWJsZSB0b3AgdG8gdGhlIHRvcCBvZiB0aGUgc3BlY2lmaWVkIHJlb3JkZXJpbmcgZ3JvdXAu
CisgKiBUaGUgdmFyaWFibGUgdG9wIGRldGVybWluZXMgdGhlIGhpZ2hlc3Qtc29ydGluZyBjaGFy
YWN0ZXIKKyAqIHdoaWNoIGlzIGFmZmVjdGVkIGJ5IFVDT0xfQUxURVJOQVRFX0hBTkRMSU5HLgor
ICogSWYgdGhhdCBhdHRyaWJ1dGUgaXMgc2V0IHRvIFVDT0xfTk9OX0lHTk9SQUJMRSwgdGhlbiB0
aGUgdmFyaWFibGUgdG9wIGhhcyBubyBlZmZlY3QuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0
b3IKKyAqIEBwYXJhbSBncm91cCBvbmUgb2YgVUNPTF9SRU9SREVSX0NPREVfU1BBQ0UsIFVDT0xf
UkVPUkRFUl9DT0RFX1BVTkNUVUFUSU9OLAorICogICAgICAgICAgICAgIFVDT0xfUkVPUkRFUl9D
T0RFX1NZTUJPTCwgVUNPTF9SRU9SREVSX0NPREVfQ1VSUkVOQ1k7CisgKiAgICAgICAgICAgICAg
b3IgVUNPTF9SRU9SREVSX0NPREVfREVGQVVMVCB0byByZXN0b3JlIHRoZSBkZWZhdWx0IG1heCB2
YXJpYWJsZSBncm91cAorICogQHBhcmFtIHBFcnJvckNvZGUgU3RhbmRhcmQgSUNVIGVycm9yIGNv
ZGUuIEl0cyBpbnB1dCB2YWx1ZSBtdXN0CisgKiAgICAgICAgICAgICAgICAgICBwYXNzIHRoZSBV
X1NVQ0NFU1MoKSB0ZXN0LCBvciBlbHNlIHRoZSBmdW5jdGlvbiByZXR1cm5zCisgKiAgICAgICAg
ICAgICAgICAgICBpbW1lZGlhdGVseS4gQ2hlY2sgZm9yIFVfRkFJTFVSRSgpIG9uIG91dHB1dCBv
ciB1c2Ugd2l0aAorICogICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hhaW5pbmcuIChTZWUg
VXNlciBHdWlkZSBmb3IgZGV0YWlscy4pCisgKiBAc2VlIHVjb2xfZ2V0TWF4VmFyaWFibGUKKyAq
IEBzdGFibGUgSUNVIDUzCisgKi8KK1VfU1RBQkxFIHZvaWQgVV9FWFBPUlQyCit1Y29sX3NldE1h
eFZhcmlhYmxlKFVDb2xsYXRvciAqY29sbCwgVUNvbFJlb3JkZXJDb2RlIGdyb3VwLCBVRXJyb3JD
b2RlICpwRXJyb3JDb2RlKTsKKworLyoqCisgKiBSZXR1cm5zIHRoZSBtYXhpbXVtIHJlb3JkZXJp
bmcgZ3JvdXAgd2hvc2UgY2hhcmFjdGVycyBhcmUgYWZmZWN0ZWQgYnkgVUNPTF9BTFRFUk5BVEVf
SEFORExJTkcuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0b3IKKyAqIEByZXR1cm4gdGhlIG1h
eGltdW0gdmFyaWFibGUgcmVvcmRlcmluZyBncm91cC4KKyAqIEBzZWUgdWNvbF9zZXRNYXhWYXJp
YWJsZQorICogQHN0YWJsZSBJQ1UgNTMKKyAqLworVV9TVEFCTEUgVUNvbFJlb3JkZXJDb2RlIFVf
RVhQT1JUMgordWNvbF9nZXRNYXhWYXJpYWJsZShjb25zdCBVQ29sbGF0b3IgKmNvbGwpOworCisj
aWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQorLyoqCisgKiBTZXRzIHRoZSB2YXJpYWJsZSB0
b3AgdG8gdGhlIHByaW1hcnkgd2VpZ2h0IG9mIHRoZSBzcGVjaWZpZWQgc3RyaW5nLgorICoKKyAq
IEJlZ2lubmluZyB3aXRoIElDVSA1MywgdGhlIHZhcmlhYmxlIHRvcCBpcyBwaW5uZWQgdG8KKyAq
IHRoZSB0b3Agb2Ygb25lIG9mIHRoZSBzdXBwb3J0ZWQgcmVvcmRlcmluZyBncm91cHMsCisgKiBh
bmQgaXQgbXVzdCBub3QgYmUgYmV5b25kIHRoZSBsYXN0IG9mIHRob3NlIGdyb3Vwcy4KKyAqIFNl
ZSB1Y29sX3NldE1heFZhcmlhYmxlKCkuCisgKiBAcGFyYW0gY29sbCB0aGUgY29sbGF0b3IKICAq
IEBwYXJhbSB2YXJUb3Agb25lIG9yIG1vcmUgKGlmIGNvbnRyYWN0aW9uKSBVQ2hhcnMgdG8gd2hp
Y2ggdGhlIHZhcmlhYmxlIHRvcCBzaG91bGQgYmUgc2V0CiAgKiBAcGFyYW0gbGVuIGxlbmd0aCBv
ZiB2YXJpYWJsZSB0b3Agc3RyaW5nLiBJZiAtMSBpdCBpcyBjb25zaWRlcmVkIHRvIGJlIHplcm8g
dGVybWluYXRlZC4KLSAqIEBwYXJhbSBzdGF0dXMgZXJyb3IgY29kZS4gSWYgZXJyb3IgY29kZSBp
cyBzZXQsIHRoZSByZXR1cm4gdmFsdWUgaXMgdW5kZWZpbmVkLiAKLSAqICAgICAgICAgICAgICAg
RXJyb3JzIHNldCBieSB0aGlzIGZ1bmN0aW9uIGFyZTogPGJyPgotICogICAgVV9DRV9OT1RfRk9V
TkRfRVJST1IgaWYgbW9yZSB0aGFuIG9uZSBjaGFyYWN0ZXIgd2FzIHBhc3NlZCBhbmQgdGhlcmUg
aXMgbm8gc3VjaCAKLSAqICAgIGEgY29udHJhY3Rpb248YnI+Ci0gKiAgICBVX1BSSU1BUllfVE9P
X0xPTkdfRVJST1IgaWYgdGhlIHByaW1hcnkgZm9yIHRoZSB2YXJpYWJsZSB0b3AgaGFzIG1vcmUg
dGhhbiB0d28gYnl0ZXMKLSAqIEByZXR1cm4gYSAzMiBiaXQgdmFsdWUgY29udGFpbmluZyB0aGUg
dmFsdWUgb2YgdGhlIHZhcmlhYmxlIHRvcCBpbiB1cHBlciAxNiBiaXRzLiAKLSAqICAgICAgICAg
TG93ZXIgMTYgYml0cyBhcmUgdW5kZWZpbmVkCisgKiBAcGFyYW0gc3RhdHVzIGVycm9yIGNvZGUu
IElmIGVycm9yIGNvZGUgaXMgc2V0LCB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4KKyAq
ICAgICAgICAgICAgICAgRXJyb3JzIHNldCBieSB0aGlzIGZ1bmN0aW9uIGFyZTo8YnI+CisgKiAg
ICBVX0NFX05PVF9GT1VORF9FUlJPUiBpZiBtb3JlIHRoYW4gb25lIGNoYXJhY3RlciB3YXMgcGFz
c2VkIGFuZCB0aGVyZSBpcyBubyBzdWNoIGNvbnRyYWN0aW9uPGJyPgorICogICAgVV9JTExFR0FM
X0FSR1VNRU5UX0VSUk9SIGlmIHRoZSB2YXJpYWJsZSB0b3AgaXMgYmV5b25kCisgKiAgICB0aGUg
bGFzdCByZW9yZGVyaW5nIGdyb3VwIHN1cHBvcnRlZCBieSB1Y29sX3NldE1heFZhcmlhYmxlKCkK
KyAqIEByZXR1cm4gdmFyaWFibGUgdG9wIHByaW1hcnkgd2VpZ2h0CiAgKiBAc2VlIHVjb2xfZ2V0
VmFyaWFibGVUb3AKICAqIEBzZWUgdWNvbF9yZXN0b3JlVmFyaWFibGVUb3AKLSAqIEBzdGFibGUg
SUNVIDIuMAorICogQGRlcHJlY2F0ZWQgSUNVIDUzIENhbGwgdWNvbF9zZXRNYXhWYXJpYWJsZSgp
IGluc3RlYWQuCiAgKi8KLVVfU1RBQkxFIHVpbnQzMl90IFVfRVhQT1JUMiAKK1VfREVQUkVDQVRF
RCB1aW50MzJfdCBVX0VYUE9SVDIgCiB1Y29sX3NldFZhcmlhYmxlVG9wKFVDb2xsYXRvciAqY29s
bCwgCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFVDaGFyICp2YXJUb3AsIGludDMyX3QgbGVu
LCAKICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKKyNlbmRpZiAgLyog
VV9ISURFX0RFUFJFQ0FURURfQVBJICovCiAKIC8qKiAKICAqIEdldHMgdGhlIHZhcmlhYmxlIHRv
cCB2YWx1ZSBvZiBhIENvbGxhdG9yLiAKLSAqIExvd2VyIDE2IGJpdHMgYXJlIHVuZGVmaW5lZCBh
bmQgc2hvdWxkIGJlIGlnbm9yZWQuCiAgKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3aGljaCB2YXJp
YWJsZSB0b3AgbmVlZHMgdG8gYmUgcmV0cmlldmVkCiAgKiBAcGFyYW0gc3RhdHVzIGVycm9yIGNv
ZGUgKG5vdCBjaGFuZ2VkIGJ5IGZ1bmN0aW9uKS4gSWYgZXJyb3IgY29kZSBpcyBzZXQsIAogICog
ICAgICAgICAgICAgICB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZC4KLSAqIEByZXR1cm4g
dGhlIHZhcmlhYmxlIHRvcCB2YWx1ZSBvZiBhIENvbGxhdG9yLgorICogQHJldHVybiB0aGUgdmFy
aWFibGUgdG9wIHByaW1hcnkgd2VpZ2h0CisgKiBAc2VlIHVjb2xfZ2V0TWF4VmFyaWFibGUKICAq
IEBzZWUgdWNvbF9zZXRWYXJpYWJsZVRvcAogICogQHNlZSB1Y29sX3Jlc3RvcmVWYXJpYWJsZVRv
cAogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KIFVfU1RBQkxFIHVpbnQzMl90IFVfRVhQT1JUMiB1
Y29sX2dldFZhcmlhYmxlVG9wKGNvbnN0IFVDb2xsYXRvciAqY29sbCwgVUVycm9yQ29kZSAqc3Rh
dHVzKTsKIAotLyoqIAotICogU2V0cyB0aGUgdmFyaWFibGUgdG9wIHRvIGEgY29sbGF0aW9uIGVs
ZW1lbnQgdmFsdWUgc3VwcGxpZWQuIFZhcmlhYmxlIHRvcCBpcyAKLSAqIHNldCB0byB0aGUgdXBw
ZXIgMTYgYml0cy4gCi0gKiBMb3dlciAxNiBiaXRzIGFyZSBpZ25vcmVkLgotICogQHBhcmFtIGNv
bGwgY29sbGF0b3Igd2hpY2ggdmFyaWFibGUgdG9wIG5lZWRzIHRvIGJlIGNoYW5nZWQKLSAqIEBw
YXJhbSB2YXJUb3AgQ0UgdmFsdWUsIGFzIHJldHVybmVkIGJ5IHVjb2xfc2V0VmFyaWFibGVUb3Ag
b3IgdWNvbClnZXRWYXJpYWJsZVRvcAotICogQHBhcmFtIHN0YXR1cyBlcnJvciBjb2RlIChub3Qg
Y2hhbmdlZCBieSBmdW5jdGlvbikKKy8qKgorICogU2V0cyB0aGUgdmFyaWFibGUgdG9wIHRvIHRo
ZSBzcGVjaWZpZWQgcHJpbWFyeSB3ZWlnaHQuCisgKgorICogQmVnaW5uaW5nIHdpdGggSUNVIDUz
LCB0aGUgdmFyaWFibGUgdG9wIGlzIHBpbm5lZCB0bworICogdGhlIHRvcCBvZiBvbmUgb2YgdGhl
IHN1cHBvcnRlZCByZW9yZGVyaW5nIGdyb3VwcywKKyAqIGFuZCBpdCBtdXN0IG5vdCBiZSBiZXlv
bmQgdGhlIGxhc3Qgb2YgdGhvc2UgZ3JvdXBzLgorICogU2VlIHVjb2xfc2V0TWF4VmFyaWFibGUo
KS4KKyAqIEBwYXJhbSB2YXJUb3AgcHJpbWFyeSB3ZWlnaHQsIGFzIHJldHVybmVkIGJ5IHVjb2xf
c2V0VmFyaWFibGVUb3Agb3IgdWNvbF9nZXRWYXJpYWJsZVRvcAorICogQHBhcmFtIHN0YXR1cyBl
cnJvciBjb2RlCiAgKiBAc2VlIHVjb2xfZ2V0VmFyaWFibGVUb3AKICAqIEBzZWUgdWNvbF9zZXRW
YXJpYWJsZVRvcAotICogQHN0YWJsZSBJQ1UgMi4wCisgKiBAZGVwcmVjYXRlZCBJQ1UgNTMgQ2Fs
bCB1Y29sX3NldE1heFZhcmlhYmxlKCkgaW5zdGVhZC4KICAqLwotVV9TVEFCTEUgdm9pZCBVX0VY
UE9SVDIgCitVX0RFUFJFQ0FURUQgdm9pZCBVX0VYUE9SVDIgCiB1Y29sX3Jlc3RvcmVWYXJpYWJs
ZVRvcChVQ29sbGF0b3IgKmNvbGwsIGNvbnN0IHVpbnQzMl90IHZhclRvcCwgVUVycm9yQ29kZSAq
c3RhdHVzKTsKIAogLyoqCkBAIC0xMzAyLDcgKzEzNzgsNyBAQCBVX1NUQUJMRSBjb25zdCBjaGFy
ICogVV9FWFBPUlQyCiB1Y29sX2dldExvY2FsZUJ5VHlwZShjb25zdCBVQ29sbGF0b3IgKmNvbGws
IFVMb2NEYXRhTG9jYWxlVHlwZSB0eXBlLCBVRXJyb3JDb2RlICpzdGF0dXMpOwogCiAvKioKLSAq
IEdldCBhbiBVbmljb2RlIHNldCB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgY2hhcmFjdGVycyBhbmQg
c2VxdWVuY2VzIHRhaWxvcmVkIGluIAorICogR2V0IGEgVW5pY29kZSBzZXQgdGhhdCBjb250YWlu
cyBhbGwgdGhlIGNoYXJhY3RlcnMgYW5kIHNlcXVlbmNlcyB0YWlsb3JlZCBpbiAKICAqIHRoaXMg
Y29sbGF0b3IuIFRoZSByZXN1bHQgbXVzdCBiZSBkaXNwb3NlZCBvZiBieSB1c2luZyB1c2V0X2Ns
b3NlLgogICogQHBhcmFtIGNvbGwgICAgICAgIFRoZSBVQ29sbGF0b3IgZm9yIHdoaWNoIHdlIHdh
bnQgdG8gZ2V0IHRhaWxvcmVkIGNoYXJzCiAgKiBAcGFyYW0gc3RhdHVzICAgICAgZXJyb3IgY29k
ZSBvZiB0aGUgb3BlcmF0aW9uCkBAIC0xMzE1LDMxICsxMzkxLDYgQEAgVV9TVEFCTEUgVVNldCAq
IFVfRVhQT1JUMgogdWNvbF9nZXRUYWlsb3JlZFNldChjb25zdCBVQ29sbGF0b3IgKmNvbGwsIFVF
cnJvckNvZGUgKnN0YXR1cyk7CiAKICNpZm5kZWYgVV9ISURFX0lOVEVSTkFMX0FQSQotLyoqCi0g
KiBVbml2ZXJzYWwgYXR0cmlidXRlIGdldHRlciB0aGF0IHJldHVybnMgVUNPTF9ERUZBVUxUIGlm
IHRoZSB2YWx1ZSBpcyBkZWZhdWx0Ci0gKiBAcGFyYW0gY29sbCBjb2xsYXRvciB3aGljaCBhdHRy
aWJ1dGVzIGFyZSB0byBiZSBjaGFuZ2VkCi0gKiBAcGFyYW0gYXR0ciBhdHRyaWJ1dGUgdHlwZQot
ICogQHJldHVybiBhdHRyaWJ1dGUgdmFsdWUgb3IgVUNPTF9ERUZBVUxUIGlmIHRoZSB2YWx1ZSBp
cyBkZWZhdWx0Ci0gKiBAcGFyYW0gc3RhdHVzIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9wZXJh
dGlvbiB3ZW50IG9uIHNtb290aGx5IG9yIHRoZXJlIHdlcmUgZXJyb3JzCi0gKiBAc2VlIFVDb2xB
dHRyaWJ1dGUKLSAqIEBzZWUgVUNvbEF0dHJpYnV0ZVZhbHVlCi0gKiBAc2VlIHVjb2xfc2V0QXR0
cmlidXRlCi0gKiBAaW50ZXJuYWwgSUNVIDMuMAotICovCi1VX0lOVEVSTkFMIFVDb2xBdHRyaWJ1
dGVWYWx1ZSAgVV9FWFBPUlQyCi11Y29sX2dldEF0dHJpYnV0ZU9yRGVmYXVsdChjb25zdCBVQ29s
bGF0b3IgKmNvbGwsIFVDb2xBdHRyaWJ1dGUgYXR0ciwgVUVycm9yQ29kZSAqc3RhdHVzKTsKLQot
LyoqIENoZWNrIHdoZXRoZXIgdHdvIGNvbGxhdG9ycyBhcmUgZXF1YWwuIENvbGxhdG9ycyBhcmUg
Y29uc2lkZXJlZCBlcXVhbCBpZiB0aGV5Ci0gKiAgd2lsbCBzb3J0IHN0cmluZ3MgdGhlIHNhbWUu
IFRoaXMgbWVhbnMgdGhhdCBib3RoIHRoZSBjdXJyZW50IGF0dHJpYnV0ZXMgYW5kIHRoZQotICog
IHJ1bGVzIG11c3QgYmUgZXF1aXZhbGVudC4gQ3VycmVudGx5IHVzZWQgZm9yIFJ1bGVCYXNlZENv
bGxhdG9yOjpvcGVyYXRvcj09LgotICogIEBwYXJhbSBzb3VyY2UgZmlyc3QgY29sbGF0b3IKLSAq
ICBAcGFyYW0gdGFyZ2V0IHNlY29uZCBjb2xsYXRvcgotICogIEByZXR1cm4gVFJVRSBvciBGQUxT
RQotICogIEBpbnRlcm5hbCBJQ1UgMy4wCi0gKi8KLVVfSU5URVJOQUwgVUJvb2wgVV9FWFBPUlQy
Ci11Y29sX2VxdWFscyhjb25zdCBVQ29sbGF0b3IgKnNvdXJjZSwgY29uc3QgVUNvbGxhdG9yICp0
YXJnZXQpOwotCiAvKiogQ2FsY3VsYXRlcyB0aGUgc2V0IG9mIHVuc2FmZSBjb2RlIHBvaW50cywg
Z2l2ZW4gYSBjb2xsYXRvci4KICAqICAgQSBjaGFyYWN0ZXIgaXMgdW5zYWZlIGlmIHlvdSBjb3Vs
ZCBhcHBlbmQgYW55IGNoYXJhY3RlciBhbmQgY2F1c2UgdGhlIG9yZGVyaW5nIHRvIGFsdGVyIHNp
Z25pZmljYW50bHkuCiAgKiAgIENvbGxhdGlvbiBzb3J0cyBpbiBub3JtYWxpemVkIG9yZGVyLCBz
byBhbnl0aGluZyB0aGF0IHJlYXJyYW5nZXMgaW4gbm9ybWFsaXphdGlvbiBjYW4gY2F1c2UgdGhp
cy4KQEAgLTEzNTYsMTIgKzE0MDcsNiBAQCB1Y29sX2dldFVuc2FmZVNldCggY29uc3QgVUNvbGxh
dG9yICpjb2xsLAogICAgICAgICAgICAgICAgICAgVVNldCAqdW5zYWZlLAogICAgICAgICAgICAg
ICAgICAgVUVycm9yQ29kZSAqc3RhdHVzKTsKIAotLyoqIFJlc2V0IFVDQSdzIHN0YXRpYyBwb2lu
dGVycy4gWW91IGRvbid0IHdhbnQgdG8gdXNlIHRoaXMsIHVubGVzcyB5b3VyIHN0YXRpYyBtZW1v
cnkgY2FuIGdvIGF3YXkuCi0gKiBAaW50ZXJuYWwgSUNVIDMuMi4xCi0gKi8KLVVfSU5URVJOQUwg
dm9pZCBVX0VYUE9SVDIKLXVjb2xfZm9yZ2V0VUNBKHZvaWQpOwotCiAvKiogVG91Y2hlcyBhbGwg
cmVzb3VyY2VzIG5lZWRlZCBmb3IgaW5zdGFudGlhdGluZyBhIGNvbGxhdG9yIGZyb20gYSBzaG9y
dCBzdHJpbmcgZGVmaW5pdGlvbiwKICAqICB0aHVzIGZpbGxpbmcgdXAgdGhlIGNhY2hlLgogICog
QHBhcmFtIGRlZmluaXRpb24gQSBzaG9ydCBzdHJpbmcgY29udGFpbmluZyBhIGxvY2FsZSBhbmQg
YSBzZXQgb2YgYXR0cmlidXRlcy4gCkBAIC0xNDA5LDE0ICsxNDU0LDE0IEBAIHVjb2xfY2xvbmVC
aW5hcnkoY29uc3QgVUNvbGxhdG9yICpjb2xsLAogICogIHVjb2xfY2xvbmVCaW5hcnkuIEJpbmFy
eSBpbWFnZSB1c2VkIGluIGluc3RhbnRpYXRpb24gb2YgdGhlIAogICogIGNvbGxhdG9yIHJlbWFp
bnMgb3duZWQgYnkgdGhlIHVzZXIgYW5kIHNob3VsZCBzdGF5IGFyb3VuZCBmb3IgCiAgKiAgdGhl
IGxpZmV0aW1lIG9mIHRoZSBjb2xsYXRvci4gVGhlIEFQSSBhbHNvIHRha2VzIGEgYmFzZSBjb2xs
YXRvcgotICogIHdoaWNoIHVzdWFseSBzaG91bGQgYmUgVUNBLgorICogIHdoaWNoIG11c3QgYmUg
dGhlIHJvb3QgY29sbGF0b3IuCiAgKiAgQHBhcmFtIGJpbiBiaW5hcnkgaW1hZ2Ugb3duZWQgYnkg
dGhlIHVzZXIgYW5kIHJlcXVpcmVkIHRocm91Z2ggdGhlCiAgKiAgICAgICAgICAgICBsaWZldGlt
ZSBvZiB0aGUgY29sbGF0b3IKICAqICBAcGFyYW0gbGVuZ3RoIHNpemUgb2YgdGhlIGltYWdlLiBJ
ZiBuZWdhdGl2ZSwgdGhlIEFQSSB3aWxsIHRyeSB0bwogICogICAgICAgICAgICAgICAgZmlndXJl
IG91dCB0aGUgbGVuZ3RoIG9mIHRoZSBpbWFnZQotICogIEBwYXJhbSBiYXNlIGZhbGxiYWNrIGNv
bGxhdG9yLCB1c3VhbGx5IFVDQS4gQmFzZSBpcyByZXF1aXJlZCB0byBiZQotICogICAgICAgICAg
ICAgIHByZXNlbnQgdGhyb3VnaCB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbGxhdG9yLiBDdXJyZW50
bHkgCi0gKiAgICAgICAgICAgICAgaXQgY2Fubm90IGJlIE5VTEwuCisgKiAgQHBhcmFtIGJhc2Ug
QmFzZSBjb2xsYXRvciwgZm9yIGxvb2t1cCBvZiB1bnRhaWxvcmVkIGNoYXJhY3RlcnMuCisgKiAg
ICAgICAgICAgICAgTXVzdCBiZSB0aGUgcm9vdCBjb2xsYXRvciwgbXVzdCBub3QgYmUgTlVMTC4K
KyAqICAgICAgICAgICAgICBUaGUgYmFzZSBpcyByZXF1aXJlZCB0byBiZSBwcmVzZW50IHRocm91
Z2ggdGhlIGxpZmV0aW1lIG9mIHRoZSBjb2xsYXRvci4KICAqICBAcGFyYW0gc3RhdHVzIGZvciBj
YXRjaGluZyBlcnJvcnMKICAqICBAcmV0dXJuIG5ld2x5IGNyZWF0ZWQgY29sbGF0b3IKICAqICBA
c2VlIHVjb2xfY2xvbmVCaW5hcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmlj
b2RlL3Vjb2xlaXRyLmggYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91Y29sZWl0ci5oCmlu
ZGV4IGNmNzMwZjk1YjUxYjE2ODRkMmE0OWU1NjM2ODM5NmM4NjM5NzFmNzQuLmY5ODc2MjQwNTY3
MjdjNDRmNjdjYTEwNTcyZjdhOGRkZTk2YmFiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ljdS91bmljb2RlL3Vjb2xlaXRyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUv
dWNvbGVpdHIuaApAQCAtMSwxMCArMSwxMCBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSogICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxMSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwMS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNz
IE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qIEZpbGUgdWNvbGVpdHIuY3BwCisqIEZp
bGUgdWNvbGVpdHIuaAogKgogKiBNb2RpZmljYXRpb24gSGlzdG9yeToKICoKQEAgLTI3LDE2ICsy
Nyw2IEBACiAgKi8KICNkZWZpbmUgVUNPTF9OVUxMT1JERVIgICAgICAgICgoaW50MzJfdCkweEZG
RkZGRkZGKQogCi0jaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEkKLS8qKgotICogVGhpcyBpbmRp
Y2F0ZXMgYW4gZXJyb3IgaGFzIG9jY3VyZWQgZHVyaW5nIHByb2Nlc3Npbmcgb3IgdGhlcmUgYXJl
IG5vIG1vcmUgQ0VzIAotICogdG8gYmUgcmV0dXJuZWQuCi0gKgotICogQGludGVybmFsCi0gKi8K
LSNkZWZpbmUgVUNPTF9QUk9DRVNTRURfTlVMTE9SREVSICAgICAgICAoKGludDY0X3QpVV9JTlQ2
NF9NQVgpCi0jZW5kaWYgIC8qIFVfSElERV9JTlRFUk5BTF9BUEkgKi8KLQogI2luY2x1ZGUgInVu
aWNvZGUvdWNvbC5oIgogCiAvKiogCkBAIC01NSwxMiArNDUsMTIgQEAgdHlwZWRlZiBzdHJ1Y3Qg
VUNvbGxhdGlvbkVsZW1lbnRzIFVDb2xsYXRpb25FbGVtZW50czsKICAqIG9yZGVyaW5nIHByaW9y
aXR5IG9mIHRoZSBwb3NpdGlvbmVkIGNoYXJhY3Rlci4gVGhlIG9yZGVyaW5nIHByaW9yaXR5IG9m
IGEgCiAgKiBjaGFyYWN0ZXIsIHdoaWNoIHdlIHJlZmVyIHRvIGFzIGEga2V5LCBkZWZpbmVzIGhv
dyBhIGNoYXJhY3RlciBpcyBjb2xsYXRlZCAKICAqIGluIHRoZSBnaXZlbiBjb2xsYXRpb24gb2Jq
ZWN0LgotICogRm9yIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgaW4gU3BhbmlzaDoK
KyAqIEZvciBleGFtcGxlLCBjb25zaWRlciB0aGUgZm9sbG93aW5nIGluIFNsb3ZhayBhbmQgaW4g
dHJhZGl0aW9uYWwgU3BhbmlzaCBjb2xsYXRpb246CiAgKiA8cHJlPgogICogLiAgICAgICAiY2Ei
IC0+IHRoZSBmaXJzdCBrZXkgaXMga2V5KCdjJykgYW5kIHNlY29uZCBrZXkgaXMga2V5KCdhJyku
CiAgKiAuICAgICAgICJjaGEiIC0+IHRoZSBmaXJzdCBrZXkgaXMga2V5KCdjaCcpIGFuZCBzZWNv
bmQga2V5IGlzIGtleSgnYScpLgogICogPC9wcmU+Ci0gKiBBbmQgaW4gR2VybWFuLAorICogQW5k
IGluIEdlcm1hbiBwaG9uZWJvb2sgY29sbGF0aW9uLAogICogPHByZT4KICAqIC4gICAgICAgIjxh
ZSBsaWdhdHVyZT5iIi0+IHRoZSBmaXJzdCBrZXkgaXMga2V5KCdhJyksIHRoZSBzZWNvbmQga2V5
IGlzIGtleSgnZScpLCBhbmQKICAqIC4gICAgICAgdGhlIHRoaXJkIGtleSBpcyBrZXkoJ2InKS4K
QEAgLTk5LDEwICs4OSwxMCBAQCB0eXBlZGVmIHN0cnVjdCBVQ29sbGF0aW9uRWxlbWVudHMgVUNv
bGxhdGlvbkVsZW1lbnRzOwogICogdW5kZWZpbmVkLgogICogVGhlIHJlc3VsdCBvZiBhIGZvcndh
cmQgaXRlcmF0ZSAodWNvbF9uZXh0KSBhbmQgcmV2ZXJzZWQgcmVzdWx0IG9mIHRoZSAgCiAgKiBi
YWNrd2FyZCBpdGVyYXRlICh1Y29sX3ByZXYpIG9uIHRoZSBzYW1lIHN0cmluZyBhcmUgZXF1aXZh
bGVudCwgaWYgCi0gKiBjb2xsYXRpb24gb3JkZXJzIHdpdGggdGhlIHZhbHVlIFVDT0xfSUdOT1JB
QkxFIGFyZSBpZ25vcmVkLgorICogY29sbGF0aW9uIG9yZGVycyB3aXRoIHRoZSB2YWx1ZSAwIGFy
ZSBpZ25vcmVkLgogICogQ2hhcmFjdGVyIGJhc2VkIG9uIHRoZSBjb21wYXJpc29uIGxldmVsIG9m
IHRoZSBjb2xsYXRvci4gIEEgY29sbGF0aW9uIG9yZGVyIAogICogY29uc2lzdHMgb2YgcHJpbWFy
eSBvcmRlciwgc2Vjb25kYXJ5IG9yZGVyIGFuZCB0ZXJ0aWFyeSBvcmRlci4gIFRoZSBkYXRhIAot
ICogdHlwZSBvZiB0aGUgY29sbGF0aW9uIG9yZGVyIGlzIDxzdHJvbmc+dF9pbnQzMjwvc3Ryb25n
Pi4gCisgKiB0eXBlIG9mIHRoZSBjb2xsYXRpb24gb3JkZXIgaXMgPHN0cm9uZz5pbnQzMl90PC9z
dHJvbmc+LiAKICAqCiAgKiBAc2VlIFVDb2xsYXRvcgogICovCkBAIC0xMTMsNyArMTAzLDcgQEAg
dHlwZWRlZiBzdHJ1Y3QgVUNvbGxhdGlvbkVsZW1lbnRzIFVDb2xsYXRpb25FbGVtZW50czsKICAq
IEBwYXJhbSBjb2xsIFRoZSBjb2xsYXRvciBjb250YWluaW5nIHRoZSBkZXNpcmVkIGNvbGxhdGlv
biBydWxlcy4KICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIGl0ZXJhdGUgb3Zlci4KICAqIEBw
YXJhbSB0ZXh0TGVuZ3RoIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0ZXh0LCBvciAtMSBp
ZiBudWxsLXRlcm1pbmF0ZWQKLSAqIEBwYXJhbSBzdGF0dXMgQSBwb2ludGVyIHRvIGFuIFVFcnJv
ckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzLgorICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIg
dG8gYSBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycy4KICAqIEByZXR1cm4gYSBzdHJ1
Y3QgY29udGFpbmluZyBjb2xsYXRpb24gZWxlbWVudCBpbmZvcm1hdGlvbgogICogQHN0YWJsZSBJ
Q1UgMi4wCiAgKi8KQEAgLTE1NSwyNyArMTQ1LDExIEBAIHVjb2xfY2xvc2VFbGVtZW50cyhVQ29s
bGF0aW9uRWxlbWVudHMgKmVsZW1zKTsKIFVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIAogdWNvbF9y
ZXNldChVQ29sbGF0aW9uRWxlbWVudHMgKmVsZW1zKTsKIAotI2lmbmRlZiBVX0hJREVfSU5URVJO
QUxfQVBJCi0vKioKLSAqIFNldCB0aGUgY29sbGF0aW9uIGVsZW1lbnRzIHRvIHVzZSBpbXBsaWNp
dCBvcmRlcmluZyBmb3IgSGFuCi0gKiBldmVuIGlmIHRoZXkndmUgYmVlbiB0YWlsb3JlZC4gVGhp
cyB3aWxsIGFsc28gZm9yY2UgSGFuZ3VsCi0gKiBzeWxsYWJsZXMgdG8gYmUgb3JkZXJlZCBieSBk
ZWNvbXBvc2luZyB0aGVtIHRvIHRoZWlyIGNvbXBvbmVudAotICogSmFtby4KLSAqCi0gKiBAcGFy
YW0gZWxlbXMgVGhlIFVDb2xsYXRpb25FbGVtZW50cyBjb250YWluaW5nIHRoZSB0ZXh0LgotICog
QHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYSBVRXJyb3JDb2RlIHRvIHJldmVpdmUgYW55IGVy
cm9ycy4KLSAqCi0gKiBAaW50ZXJuYWwKLSAqLwotVV9JTlRFUk5BTCB2b2lkIFVfRVhQT1JUMgot
dWNvbF9mb3JjZUhhbkltcGxpY2l0KFVDb2xsYXRpb25FbGVtZW50cyAqZWxlbXMsIFVFcnJvckNv
ZGUgKnN0YXR1cyk7Ci0jZW5kaWYgIC8qIFVfSElERV9JTlRFUk5BTF9BUEkgKi8KLQogLyoqCiAg
KiBHZXQgdGhlIG9yZGVyaW5nIHByaW9yaXR5IG9mIHRoZSBuZXh0IGNvbGxhdGlvbiBlbGVtZW50
IGluIHRoZSB0ZXh0LgogICogQSBzaW5nbGUgY2hhcmFjdGVyIG1heSBjb250YWluIG1vcmUgdGhh
biBvbmUgY29sbGF0aW9uIGVsZW1lbnQuCiAgKiBAcGFyYW0gZWxlbXMgVGhlIFVDb2xsYXRpb25F
bGVtZW50cyBjb250YWluaW5nIHRoZSB0ZXh0LgotICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIg
dG8gYW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMuCisgKiBAcGFyYW0gc3RhdHVz
IEEgcG9pbnRlciB0byBhIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzLgogICogQHJl
dHVybiBUaGUgbmV4dCBjb2xsYXRpb24gZWxlbWVudHMgb3JkZXJpbmcsIG90aGVyd2lzZSByZXR1
cm5zIE5VTExPUkRFUiAKICAqICAgICAgICAgaWYgYW4gZXJyb3IgaGFzIG9jY3VyZWQgb3IgaWYg
dGhlIGVuZCBvZiBzdHJpbmcgaGFzIGJlZW4gcmVhY2hlZAogICogQHN0YWJsZSBJQ1UgMi4wCkBA
IC0xODcsMTEgKzE2MSw4IEBAIHVjb2xfbmV4dChVQ29sbGF0aW9uRWxlbWVudHMgKmVsZW1zLCBV
RXJyb3JDb2RlICpzdGF0dXMpOwogICogR2V0IHRoZSBvcmRlcmluZyBwcmlvcml0eSBvZiB0aGUg
cHJldmlvdXMgY29sbGF0aW9uIGVsZW1lbnQgaW4gdGhlIHRleHQuCiAgKiBBIHNpbmdsZSBjaGFy
YWN0ZXIgbWF5IGNvbnRhaW4gbW9yZSB0aGFuIG9uZSBjb2xsYXRpb24gZWxlbWVudC4KICAqIE5v
dGUgdGhhdCBpbnRlcm5hbGx5IGEgc3RhY2sgaXMgdXNlZCB0byBzdG9yZSBidWZmZXJlZCBjb2xs
YXRpb24gZWxlbWVudHMuIAotICogSXQgaXMgdmVyeSByYXJlIHRoYXQgdGhlIHN0YWNrIHdpbGwg
b3ZlcmZsb3csIGhvd2V2ZXIgaWYgc3VjaCBhIGNhc2UgaXMgCi0gKiBlbmNvdW50ZXJlZCwgdGhl
IHByb2JsZW0gY2FuIGJlIHNvbHZlZCBieSBpbmNyZWFzaW5nIHRoZSBzaXplIAotICogVUNPTF9F
WFBBTkRfQ0VfQlVGRkVSX1NJWkUgaW4gdWNvbF9pbXAuaC4KICAqIEBwYXJhbSBlbGVtcyBUaGUg
VUNvbGxhdGlvbkVsZW1lbnRzIGNvbnRhaW5pbmcgdGhlIHRleHQuCi0gKiBAcGFyYW0gc3RhdHVz
IEEgcG9pbnRlciB0byBhbiBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycy4gTm90ZWFi
bHkgCisgKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0byBhIFVFcnJvckNvZGUgdG8gcmVjZWl2
ZSBhbnkgZXJyb3JzLiBOb3RlYWJseSAKICAqICAgICAgICAgICAgICAgYSBVX0JVRkZFUl9PVkVS
RkxPV19FUlJPUiBpcyByZXR1cm5lZCBpZiB0aGUgaW50ZXJuYWwgc3RhY2sKICAqICAgICAgICAg
ICAgICAgYnVmZmVyIGhhcyBiZWVuIGV4aGF1c3RlZC4KICAqIEByZXR1cm4gVGhlIHByZXZpb3Vz
IGNvbGxhdGlvbiBlbGVtZW50cyBvcmRlcmluZywgb3RoZXJ3aXNlIHJldHVybnMgCkBAIC0yMDIs
NDcgKzE3Myw2IEBAIHVjb2xfbmV4dChVQ29sbGF0aW9uRWxlbWVudHMgKmVsZW1zLCBVRXJyb3JD
b2RlICpzdGF0dXMpOwogVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIgCiB1Y29sX3ByZXZpb3Vz
KFVDb2xsYXRpb25FbGVtZW50cyAqZWxlbXMsIFVFcnJvckNvZGUgKnN0YXR1cyk7CiAKLSNpZm5k
ZWYgVV9ISURFX0lOVEVSTkFMX0FQSQotLyoqCi0gKiBHZXQgdGhlIHByb2Nlc3NlZCBvcmRlcmlu
ZyBwcmlvcml0eSBvZiB0aGUgbmV4dCBjb2xsYXRpb24gZWxlbWVudCBpbiB0aGUgdGV4dC4KLSAq
IEEgc2luZ2xlIGNoYXJhY3RlciBtYXkgY29udGFpbiBtb3JlIHRoYW4gb25lIGNvbGxhdGlvbiBl
bGVtZW50LgotICoKLSAqIEBwYXJhbSBlbGVtcyBUaGUgVUNvbGxhdGlvbkVsZW1lbnRzIGNvbnRh
aW5pbmcgdGhlIHRleHQuCi0gKiBAcGFyYW0gaXhMb3cgYSBwb2ludGVyIHRvIGFuIGludDMyX3Qg
dG8gcmVjZWl2ZSB0aGUgaXRlcmF0b3IgaW5kZXggYmVmb3JlIGZldGNoaW5nIHRoZSBDRS4KLSAq
IEBwYXJhbSBpeEhpZ2ggYSBwb2ludGVyIHRvIGFuIGludDMyX3QgdG8gcmVjZWl2ZSB0aGUgaXRl
cmF0b3IgaW5kZXggYWZ0ZXIgZmV0Y2hpbmcgdGhlIENFLgotICogQHBhcmFtIHN0YXR1cyBBIHBv
aW50ZXIgdG8gYW4gVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMuCi0gKiBAcmV0dXJu
IFRoZSBuZXh0IGNvbGxhdGlvbiBlbGVtZW50cyBvcmRlcmluZywgb3RoZXJ3aXNlIHJldHVybnMg
VUNPTF9QUk9DRVNTRURfTlVMTE9SREVSIAotICogICAgICAgICBpZiBhbiBlcnJvciBoYXMgb2Nj
dXJlZCBvciBpZiB0aGUgZW5kIG9mIHN0cmluZyBoYXMgYmVlbiByZWFjaGVkCi0gKgotICogQGlu
dGVybmFsCi0gKi8KLVVfSU5URVJOQUwgaW50NjRfdCBVX0VYUE9SVDIKLXVjb2xfbmV4dFByb2Nl
c3NlZChVQ29sbGF0aW9uRWxlbWVudHMgKmVsZW1zLCBpbnQzMl90ICppeExvdywgaW50MzJfdCAq
aXhIaWdoLCBVRXJyb3JDb2RlICpzdGF0dXMpOwotCi0vKioKLSAqIEdldCB0aGUgcHJvY2Vzc2Vk
IG9yZGVyaW5nIHByaW9yaXR5IG9mIHRoZSBwcmV2aW91cyBjb2xsYXRpb24gZWxlbWVudCBpbiB0
aGUgdGV4dC4KLSAqIEEgc2luZ2xlIGNoYXJhY3RlciBtYXkgY29udGFpbiBtb3JlIHRoYW4gb25l
IGNvbGxhdGlvbiBlbGVtZW50LgotICogTm90ZSB0aGF0IGludGVybmFsbHkgYSBzdGFjayBpcyB1
c2VkIHRvIHN0b3JlIGJ1ZmZlcmVkIGNvbGxhdGlvbiBlbGVtZW50cy4gCi0gKiBJdCBpcyB2ZXJ5
IHJhcmUgdGhhdCB0aGUgc3RhY2sgd2lsbCBvdmVyZmxvdywgaG93ZXZlciBpZiBzdWNoIGEgY2Fz
ZSBpcyAKLSAqIGVuY291bnRlcmVkLCB0aGUgcHJvYmxlbSBjYW4gYmUgc29sdmVkIGJ5IGluY3Jl
YXNpbmcgdGhlIHNpemUgCi0gKiBVQ09MX0VYUEFORF9DRV9CVUZGRVJfU0laRSBpbiB1Y29sX2lt
cC5oLgotICoKLSAqIEBwYXJhbSBlbGVtcyBUaGUgVUNvbGxhdGlvbkVsZW1lbnRzIGNvbnRhaW5p
bmcgdGhlIHRleHQuCi0gKiBAcGFyYW0gaXhMb3cgQSBwb2ludGVyIHRvIGFuIGludDMyX3QgdG8g
cmVjZWl2ZSB0aGUgaXRlcmF0b3IgaW5kZXggYWZ0ZXIgZmV0Y2hpbmcgdGhlIENFCi0gKiBAcGFy
YW0gaXhIaWdoIEEgcG9pbnRlciB0byBhbiBpbnQzMl90IHRvIHJlY2VpdmVyIHRoZSBpdGVyYXRv
ciBpbmRleCBiZWZvcmUgZmV0Y2hpbmcgdGhlIENFCi0gKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRl
ciB0byBhbiBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycy4gTm90ZWFibHkgCi0gKiAg
ICAgICAgICAgICAgIGEgVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgaXMgcmV0dXJuZWQgaWYgdGhl
IGludGVybmFsIHN0YWNrCi0gKiAgICAgICAgICAgICAgIGJ1ZmZlciBoYXMgYmVlbiBleGhhdXN0
ZWQuCi0gKiBAcmV0dXJuIFRoZSBwcmV2aW91cyBjb2xsYXRpb24gZWxlbWVudHMgb3JkZXJpbmcs
IG90aGVyd2lzZSByZXR1cm5zIAotICogICAgICAgICBVQ09MX1BST0NFU1NFRF9OVUxMT1JERVIg
aWYgYW4gZXJyb3IgaGFzIG9jY3VyZWQgb3IgaWYgdGhlIHN0YXJ0IG9mCi0gKiAgICAgICAgIHN0
cmluZyBoYXMgYmVlbiByZWFjaGVkLgotICoKLSAqIEBpbnRlcm5hbAotICovCi1VX0lOVEVSTkFM
IGludDY0X3QgVV9FWFBPUlQyCi11Y29sX3ByZXZpb3VzUHJvY2Vzc2VkKFVDb2xsYXRpb25FbGVt
ZW50cyAqZWxlbXMsIGludDMyX3QgKml4TG93LCBpbnQzMl90ICppeEhpZ2gsIFVFcnJvckNvZGUg
KnN0YXR1cyk7Ci0jZW5kaWYgIC8qIFVfSElERV9JTlRFUk5BTF9BUEkgKi8KLQogLyoqCiAgKiBH
ZXQgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGFueSBleHBhbnNpb24gc2VxdWVuY2VzIHRoYXQgZW5k
IHdpdGggdGhlIAogICogc3BlY2lmaWVkIGNvbXBhcmlzb24gb3JkZXIuCkBAIC0yNjUsNyArMTk1
LDcgQEAgdWNvbF9nZXRNYXhFeHBhbnNpb24oY29uc3QgVUNvbGxhdGlvbkVsZW1lbnRzICplbGVt
cywgaW50MzJfdCBvcmRlcik7CiAgKiBAcGFyYW0gZWxlbXMgVGhlIFVDb2xsYXRpb25FbGVtZW50
cyB0byBzZXQuCiAgKiBAcGFyYW0gdGV4dCBUaGUgc291cmNlIHRleHQgY29udGFpbmluZyB0aGUg
Y29sbGF0aW9uIGVsZW1lbnRzLgogICogQHBhcmFtIHRleHRMZW5ndGggVGhlIGxlbmd0aCBvZiB0
ZXh0LCBvciAtMSBpZiBudWxsLXRlcm1pbmF0ZWQuCi0gKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRl
ciB0byBhbiBVRXJyb3JDb2RlIHRvIHJlY2VpdmUgYW55IGVycm9ycy4KKyAqIEBwYXJhbSBzdGF0
dXMgQSBwb2ludGVyIHRvIGEgVUVycm9yQ29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMuCiAgKiBA
c2VlIHVjb2xfZ2V0VGV4dAogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KQEAgLTI5NSw3ICsyMjUs
NyBAQCB1Y29sX2dldE9mZnNldChjb25zdCBVQ29sbGF0aW9uRWxlbWVudHMgKmVsZW1zKTsKICAq
IHRoZSBBUEkgcmVzZXQoKSBoYXMgdG8gYmUgY2FsbGVkLgogICogQHBhcmFtIGVsZW1zIFRoZSBV
Q29sbGF0aW9uRWxlbWVudHMgdG8gc2V0LgogICogQHBhcmFtIG9mZnNldCBUaGUgZGVzaXJlZCBj
aGFyYWN0ZXIgb2Zmc2V0LgotICogQHBhcmFtIHN0YXR1cyBBIHBvaW50ZXIgdG8gYW4gVUVycm9y
Q29kZSB0byByZWNlaXZlIGFueSBlcnJvcnMuCisgKiBAcGFyYW0gc3RhdHVzIEEgcG9pbnRlciB0
byBhIFVFcnJvckNvZGUgdG8gcmVjZWl2ZSBhbnkgZXJyb3JzLgogICogQHNlZSB1Y29sX2dldE9m
ZnNldAogICogQHN0YWJsZSBJQ1UgMi4wCiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ljdS91bmljb2RlL3Vjb25maWcuaCBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3Vjb25m
aWcuaAppbmRleCBiZmE4ZTc3YjBmMWEzNTIyMDc2ZmMwYTY2OTI1N2Q1MzI1MjRmZDAxLi43YzY3
MjYzMWY5NjgxYTVmZTAyN2Y5OTVkZmY0OTZiM2E5MTU5NTc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pY3UvdW5pY29kZS91Y29uZmlnLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3Vu
aWNvZGUvdWNvbmZpZy5oCkBAIC0xLDYgKzEsNiBAQAogLyogIAogKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAg
IENvcHlyaWdodCAoQykgMjAwMi0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
CisqICAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMTUsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKICogICBmaWxlIG5hbWU6ICB1Y29uZmlnLmgKQEAgLTE4NSw3ICsxODUs
OCBAQAogI2lmZGVmIFVfTElCX1NVRkZJWF9DX05BTUVfU1RSSU5HCiAgICAgLyogVXNlIHRoZSBw
cmVkZWZpbmVkIHZhbHVlLiAqLwogI2VsaWYgZGVmaW5lZChVX0xJQl9TVUZGSVhfQ19OQU1FKQot
IyAgIGRlZmluZSBVX0xJQl9TVUZGSVhfQ19OQU1FX1NUUklORyAjVV9MSUJfU1VGRklYX0NfTkFN
RQorIyAgIGRlZmluZSBDT05WRVJUX1RPX1NUUklORyhzKSAjcworIyAgIGRlZmluZSBVX0xJQl9T
VUZGSVhfQ19OQU1FX1NUUklORyBDT05WRVJUX1RPX1NUUklORyhVX0xJQl9TVUZGSVhfQ19OQU1F
KQogI2Vsc2UKICMgICBkZWZpbmUgVV9MSUJfU1VGRklYX0NfTkFNRV9TVFJJTkcgIiIKICNlbmRp
ZgpAQCAtMTk5LDcgKzIwMCw3IEBACiAgKiBJdCBkb2VzIG5vdCB0dXJuIG9mZiBsZWdhY3kgY29u
dmVyc2lvbiBiZWNhdXNlIHRoYXQgaXMgbmVjZXNzYXJ5CiAgKiBmb3IgSUNVIHRvIHdvcmsgb24g
RUJDRElDIHBsYXRmb3JtcyAoZm9yIHRoZSBkZWZhdWx0IGNvbnZlcnRlcikuCiAgKiBJZiB5b3Ug
d2FudCAib25seSBjb2xsYXRpb24iIGFuZCBkbyBub3QgYnVpbGQgZm9yIEVCQ0RJQywKLSAqIHRo
ZW4geW91IGNhbiBkZWZpbmUgVUNPTkZJR19OT19MRUdBQ1lfQ09OVkVSU0lPTiAxIGFzIHdlbGwu
CisgKiB0aGVuIHlvdSBjYW4gZGVmaW5lIFVDT05GSUdfTk9fQ09OVkVSU0lPTiBvciBVQ09ORklH
X05PX0xFR0FDWV9DT05WRVJTSU9OIHRvIDEgYXMgd2VsbC4KICAqCiAgKiBAc3RhYmxlIElDVSAy
LjQKICAqLwpAQCAtMjQ1LDYgKzI0NiwxMCBAQAogIyAgIGRlZmluZSBVQ09ORklHX05PX0ZJTEVf
SU8gMAogI2VuZGlmCiAKKyNpZiBVQ09ORklHX05PX0ZJTEVfSU8gJiYgZGVmaW5lZChVX1RJTUVa
T05FX0ZJTEVTX0RJUikgCisjICAgZXJyb3IgQ29udHJhZGljdG9yeSBmaWxlIGlvIHN3aXRjaGVz
IGluIHVjb25maWcuaC4KKyNlbmRpZgorCiAvKioKICAqIFxkZWYgVUNPTkZJR19OT19DT05WRVJT
SU9OCiAgKiBJQ1Ugd2lsbCBub3QgY29tcGxldGVseSBidWlsZCB3aXRoIHRoaXMgc3dpdGNoIHR1
cm5lZCBvbi4KQEAgLTI2NSw2ICsyNzAsMjEgQEAKICNlbmRpZgogCiAvKioKKyAqIFxkZWYgVUNP
TkZJR19PTkxZX0hUTUxfQ09OVkVSU0lPTgorICogVGhpcyBzd2l0Y2ggdHVybnMgb2ZmIGFsbCBv
ZiB0aGUgY29udmVydGVycyBOT1QgbGlzdGVkIGluCisgKiB0aGUgSFRNTCBlbmNvZGluZyBzdGFu
ZGFyZDoKKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL2VuY29kaW5nLyNuYW1lcy1hbmQtbGFiZWxz
CisgKgorICogVGhpcyBpcyBub3QgcG9zc2libGUgb24gRUJDRElDIHBsYXRmb3JtcworICogYmVj
YXVzZSB0aGV5IG5lZWQgaWJtLTM3IG9yIGlibS0xMDQ3IGRlZmF1bHQgY29udmVydGVycy4KKyAq
CisgKiBAZHJhZnQgSUNVIDU1CisgKi8KKyNpZm5kZWYgVUNPTkZJR19PTkxZX0hUTUxfQ09OVkVS
U0lPTgorIyAgIGRlZmluZSBVQ09ORklHX09OTFlfSFRNTF9DT05WRVJTSU9OIDAKKyNlbmRpZgor
CisvKioKICAqIFxkZWYgVUNPTkZJR19OT19MRUdBQ1lfQ09OVkVSU0lPTgogICogVGhpcyBzd2l0
Y2ggdHVybnMgb2ZmIGFsbCBjb252ZXJ0ZXJzIGV4Y2VwdCBmb3IKICAqIC0gVW5pY29kZSBjaGFy
c2V0cyAoVVRGLTcvOC8xNi8zMiwgQ0VTVS04LCBTQ1NVLCBCT0NVLTEpCkBAIC0zODUsNyArNDA1
LDcgQEAKICAqIEBzdGFibGUgSUNVIDMuMgogICovCiAjaWZuZGVmIFVDT05GSUdfTk9fU0VSVklD
RQotIyAgIGRlZmluZSBVQ09ORklHX05PX1NFUlZJQ0UgMQorIyAgIGRlZmluZSBVQ09ORklHX05P
X1NFUlZJQ0UgMAogI2VuZGlmCiAKIC8qKgpAQCAtNDA5LDQgKzQyOSwxNyBAQAogIyAgIGRlZmlu
ZSBVQ09ORklHX0ZPUk1BVF9GQVNUUEFUSFNfNDkgMQogI2VuZGlmCiAKKy8qKgorICogXGRlZiBV
Q09ORklHX05PX0ZJTFRFUkVEX0JSRUFLX0lURVJBVElPTgorICogVGhpcyBzd2l0Y2ggdHVybnMg
b2ZmIGZpbHRlcmVkIGJyZWFrIGl0ZXJhdGlvbiBjb2RlLgorICoKKyAqIEBpbnRlcm5hbAorICov
CisjaWZuZGVmIFVDT05GSUdfTk9fRklMVEVSRURfQlJFQUtfSVRFUkFUSU9OCisjICAgZGVmaW5l
IFVDT05GSUdfTk9fRklMVEVSRURfQlJFQUtfSVRFUkFUSU9OIDAKKworCisKKyNlbmRpZgorCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VjdXJyLmggYi9T
b3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91Y3Vyci5oCmluZGV4IDI3Njk4MTMzZTQyMTA2MTNi
NDNmOTg5MTYyNGUwYmEzNmU1ODI3ZDEuLjViMTk2OTAxNjkzZjQwY2MyNTlmOTYzZWZhOTk4MDkz
NDhhNjM5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VjdXJyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdWN1cnIuaApAQCAtMSw2ICsxLDYgQEAK
IC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0qIENvcHlyaWdodCAoYykgMjAwMi0yMDEzLCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqIENvcHlyaWdodCAoYykgMjAwMi0yMDE0LCBJbnRlcm5h
dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwg
UmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKi8KQEAgLTE4LDYgKzE4LDM0IEBACiAj
aWYgIVVDT05GSUdfTk9fRk9STUFUVElORwogCiAvKioKKyAqIEN1cnJlbmN5IFVzYWdlIHVzZWQg
Zm9yIERlY2ltYWwgRm9ybWF0CisgKiBAZHJhZnQgSUNVIDU0CisgKi8KK2VudW0gVUN1cnJlbmN5
VXNhZ2UgeworI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisgICAgLyoqCisgICAgICogYSBzZXR0
aW5nIHRvIHNwZWNpZnkgY3VycmVuY3kgdXNhZ2Ugd2hpY2ggZGV0ZXJtaW5lcyBjdXJyZW5jeSBk
aWdpdAorICAgICAqIGFuZCByb3VuZGluZyBmb3Igc3RhbmRhcmQgdXNhZ2UsIGZvciBleGFtcGxl
OiAiNTAuMDAgTlQkIgorICAgICAqIHVzZWQgYXMgREVGQVVMVCB2YWx1ZQorICAgICAqIEBkcmFm
dCBJQ1UgNTQKKyAgICAgKi8KKyAgICBVQ1VSUl9VU0FHRV9TVEFOREFSRD0wLAorICAgIC8qKgor
ICAgICAqIGEgc2V0dGluZyB0byBzcGVjaWZ5IGN1cnJlbmN5IHVzYWdlIHdoaWNoIGRldGVybWlu
ZXMgY3VycmVuY3kgZGlnaXQKKyAgICAgKiBhbmQgcm91bmRpbmcgZm9yIGNhc2ggdXNhZ2UsIGZv
ciBleGFtcGxlOiAiNTAgTlQkIgorICAgICAqIEBkcmFmdCBJQ1UgNTQKKyAgICAgKi8KKyAgICBV
Q1VSUl9VU0FHRV9DQVNIPTEsCisjZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAv
KioKKyAgICAgKiBPbmUgaGlnaGVyIHRoYW4gdGhlIGxhc3QgZW51bSBVQ3VycmVuY3lVc2FnZSBj
b25zdGFudC4KKyAgICAgKiBAZHJhZnQgSUNVIDU0CisgICAgICovCisgICAgVUNVUlJfVVNBR0Vf
Q09VTlQ9MgorfTsKK3R5cGVkZWYgZW51bSBVQ3VycmVuY3lVc2FnZSBVQ3VycmVuY3lVc2FnZTsg
CisKKy8qKgogICogVGhlIHVjdXJyIEFQSSBlbmNhcHN1bGF0ZXMgaW5mb3JtYXRpb24gYWJvdXQg
YSBjdXJyZW5jeSwgYXMgZGVmaW5lZCBieQogICogSVNPIDQyMTcuICBBIGN1cnJlbmN5IGlzIHJl
cHJlc2VudGVkIGJ5IGEgMy1jaGFyYWN0ZXIgc3RyaW5nCiAgKiBjb250YWluaW5nIGl0cyBJU08g
NDIxNyBjb2RlLiAgVGhpcyBBUEkgY2FuIHJldHVybiB2YXJpb3VzIGRhdGEKQEAgLTE2NSw2ICsx
OTMsNyBAQCB1Y3Vycl9nZXRQbHVyYWxOYW1lKGNvbnN0IFVDaGFyKiBjdXJyZW5jeSwKIC8qKgog
ICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgZnJhY3Rpb24gZGlnaXRzIHRo
YXQgc2hvdWxkCiAgKiBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBnaXZlbiBjdXJyZW5jeS4KKyAqIFRo
aXMgaXMgZXF1aXZhbGVudCB0byB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHNGb3JVc2Fn
ZShjdXJyZW5jeSxVQ1VSUl9VU0FHRV9TVEFOREFSRCxlYyk7CiAgKiBAcGFyYW0gY3VycmVuY3kg
bnVsbC10ZXJtaW5hdGVkIDMtbGV0dGVyIElTTyA0MjE3IGNvZGUKICAqIEBwYXJhbSBlYyBpbnB1
dC1vdXRwdXQgZXJyb3IgY29kZQogICogQHJldHVybiBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgb2Yg
ZnJhY3Rpb24gZGlnaXRzIHRvIGJlCkBAIC0xNzUsOSArMjA0LDI3IEBAIFVfU1RBQkxFIGludDMy
X3QgVV9FWFBPUlQyCiB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHMoY29uc3QgVUNoYXIq
IGN1cnJlbmN5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIGVj
KTsKIAorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisvKioKKyAqIFJldHVybnMgdGhlIG51bWJl
ciBvZiB0aGUgbnVtYmVyIG9mIGZyYWN0aW9uIGRpZ2l0cyB0aGF0IHNob3VsZAorICogYmUgZGlz
cGxheWVkIGZvciB0aGUgZ2l2ZW4gY3VycmVuY3kgd2l0aCB1c2FnZS4KKyAqIEBwYXJhbSBjdXJy
ZW5jeSBudWxsLXRlcm1pbmF0ZWQgMy1sZXR0ZXIgSVNPIDQyMTcgY29kZQorICogQHBhcmFtIHVz
YWdlIGVudW0gdXNhZ2UgZm9yIHRoZSBjdXJyZW5jeQorICogQHBhcmFtIGVjIGlucHV0LW91dHB1
dCBlcnJvciBjb2RlCisgKiBAcmV0dXJuIGEgbm9uLW5lZ2F0aXZlIG51bWJlciBvZiBmcmFjdGlv
biBkaWdpdHMgdG8gYmUKKyAqIGRpc3BsYXllZCwgb3IgMCBpZiB0aGVyZSBpcyBhbiBlcnJvcgor
ICogQGRyYWZ0IElDVSA1NAorICovCitVX0RSQUZUIGludDMyX3QgVV9FWFBPUlQyCit1Y3Vycl9n
ZXREZWZhdWx0RnJhY3Rpb25EaWdpdHNGb3JVc2FnZShjb25zdCBVQ2hhciogY3VycmVuY3ksIAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVUN1cnJlbmN5VXNh
Z2UgdXNhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JD
b2RlKiBlYyk7CisjZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKwogLyoqCiAgKiBSZXR1
cm5zIHRoZSByb3VuZGluZyBpbmNyZW1lbnQgZm9yIHRoZSBnaXZlbiBjdXJyZW5jeSwgb3IgMC4w
IGlmIG5vCiAgKiByb3VuZGluZyBpcyBkb25lIGJ5IHRoZSBjdXJyZW5jeS4KKyAqIFRoaXMgaXMg
ZXF1aXZhbGVudCB0byB1Y3Vycl9nZXRSb3VuZGluZ0luY3JlbWVudEZvclVzYWdlKGN1cnJlbmN5
LFVDVVJSX1VTQUdFX1NUQU5EQVJELGVjKTsKICAqIEBwYXJhbSBjdXJyZW5jeSBudWxsLXRlcm1p
bmF0ZWQgMy1sZXR0ZXIgSVNPIDQyMTcgY29kZQogICogQHBhcmFtIGVjIGlucHV0LW91dHB1dCBl
cnJvciBjb2RlCiAgKiBAcmV0dXJuIHRoZSBub24tbmVnYXRpdmUgcm91bmRpbmcgaW5jcmVtZW50
LCBvciAwLjAgaWYgbm9uZSwKQEAgLTE4OCw2ICsyMzUsMjMgQEAgVV9TVEFCTEUgZG91YmxlIFVf
RVhQT1JUMgogdWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnQoY29uc3QgVUNoYXIqIGN1cnJlbmN5
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSogZWMpOwogCisjaWZuZGVm
IFVfSElERV9EUkFGVF9BUEkKKy8qKgorICogUmV0dXJucyB0aGUgcm91bmRpbmcgaW5jcmVtZW50
IGZvciB0aGUgZ2l2ZW4gY3VycmVuY3ksIG9yIDAuMCBpZiBubworICogcm91bmRpbmcgaXMgZG9u
ZSBieSB0aGUgY3VycmVuY3kgZ2l2ZW4gdXNhZ2UuCisgKiBAcGFyYW0gY3VycmVuY3kgbnVsbC10
ZXJtaW5hdGVkIDMtbGV0dGVyIElTTyA0MjE3IGNvZGUKKyAqIEBwYXJhbSB1c2FnZSBlbnVtIHVz
YWdlIGZvciB0aGUgY3VycmVuY3kKKyAqIEBwYXJhbSBlYyBpbnB1dC1vdXRwdXQgZXJyb3IgY29k
ZQorICogQHJldHVybiB0aGUgbm9uLW5lZ2F0aXZlIHJvdW5kaW5nIGluY3JlbWVudCwgb3IgMC4w
IGlmIG5vbmUsCisgKiBvciAwLjAgaWYgdGhlcmUgaXMgYW4gZXJyb3IKKyAqIEBkcmFmdCBJQ1Ug
NTQKKyAqLworVV9EUkFGVCBkb3VibGUgVV9FWFBPUlQyCit1Y3Vycl9nZXRSb3VuZGluZ0luY3Jl
bWVudEZvclVzYWdlKGNvbnN0IFVDaGFyKiBjdXJyZW5jeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgVUN1cnJlbmN5VXNhZ2UgdXNhZ2UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIGVjKTsKKyNlbmRpZiAgLyogVV9ISURF
X0RSQUZUX0FQSSAqLworCiAvKioKICAqIFNlbGVjdG9yIGNvbnN0YW50cyBmb3IgdWN1cnJfb3Bl
bkN1cnJlbmNpZXMoKS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29k
ZS91aWRuYS5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdWlkbmEuaAppbmRleCAyZWZi
MTMwZjk0ZTQzOThhOWU1YWMyNmE3YWRjNzEzNTMzMjI3ZDM0Li5kZWNlY2UxZmIwZTMwZjkzM2Ex
NWNiMmRjNDNmNzUxYmExYjA5MzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5p
Y29kZS91aWRuYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VpZG5hLmgKQEAg
LTEsNyArMSw3IEBACiAvKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCi0gKiAgIENvcHly
aWdodCAoQykgMjAwMy0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAg
IENvcHlyaWdodCAoQykgMjAwMy0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
CiAgKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoK
ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0zMiw4ICszMiwxMCBAQAogICoKICAqIFRoZSBD
IEFQSSBmdW5jdGlvbnMgd2hpY2ggZG8gdGFrZSBhIFVJRE5BICogc2VydmljZSBvYmplY3QgcG9p
bnRlcgogICogaW1wbGVtZW50IFVUUyAjNDYgYW5kIElETkEyMDA4LgorICoKKyAqIElETkEyMDAz
IGlzIG9ic29sZXRlLgogICogVGhlIEMgQVBJIGZ1bmN0aW9ucyB3aGljaCBkbyBub3QgdGFrZSBh
IHNlcnZpY2Ugb2JqZWN0IHBvaW50ZXIKLSAqIGltcGxlbWVudCBJRE5BMjAwMy4KKyAqIGltcGxl
bWVudCBJRE5BMjAwMy4gVGhleSBhcmUgYWxsIGRlcHJlY2F0ZWQuCiAgKi8KIAogLyoKQEAgLTQ2
LDE0ICs0OCwxNiBAQCBlbnVtIHsKICAgICAgKiBAc3RhYmxlIElDVSAyLjYKICAgICAgKi8KICAg
ICBVSUROQV9ERUZBVUxUPTAsCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQogICAgIC8q
KgogICAgICAqIE9wdGlvbiB0byBhbGxvdyB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzIGluIGRvbWFp
biBuYW1lcyBhbmQgbGFiZWxzLgogICAgICAqIEZvciB1c2UgaW4gc3RhdGljIHdvcmtlciBhbmQg
ZmFjdG9yeSBtZXRob2RzLgogICAgICAqIDxwPlRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgYnkgdGhl
IFVUUzQ2IGltcGxlbWVudGF0aW9uLgogICAgICAqIChVVFMgIzQ2IGRpc2FsbG93cyB1bmFzc2ln
bmVkIGNvZGUgcG9pbnRzLikKLSAgICAgKiBAc3RhYmxlIElDVSAyLjYKKyAgICAgKiBAZGVwcmVj
YXRlZCBJQ1UgNTUgVXNlIFVUUyAjNDYgaW5zdGVhZCB2aWEgdWlkbmFfb3BlblVUUzQ2KCkgb3Ig
Y2xhc3MgSUROQS4KICAgICAgKi8KICAgICBVSUROQV9BTExPV19VTkFTU0lHTkVEPTEsCisjZW5k
aWYgIC8qIFVfSElERV9ERVBSRUNBVEVEX0FQSSAqLwogICAgIC8qKgogICAgICAqIE9wdGlvbiB0
byBjaGVjayB3aGV0aGVyIHRoZSBpbnB1dCBjb25mb3JtcyB0byB0aGUgU1REMyBBU0NJSSBydWxl
cywKICAgICAgKiBmb3IgZXhhbXBsZSB0aGUgcmVzdHJpY3Rpb24gb2YgbGFiZWxzIHRvIExESCBj
aGFyYWN0ZXJzCkBAIC01MDMsNiArNTA3LDggQEAgZW51bSB7CiAgICAgVUlETkFfRVJST1JfQ09O
VEVYVE9fRElHSVRTPTB4NDAwMAogfTsKIAorI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkK
KwogLyogSUROQTIwMDMgQVBJIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAogLyoqCkBAIC01NjIsOSArNTY4LDkgQEAgZW51
bSB7CiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1Ig
aWYgZGVzdENhcGFjaXR5IGlzIG5vdCBlbm91Z2gKICAqIEByZXR1cm4gVGhlIGxlbmd0aCBvZiB0
aGUgcmVzdWx0IHN0cmluZywgaWYgc3VjY2Vzc2Z1bCAtIG9yIGluIGNhc2Ugb2YgYSBidWZmZXIg
b3ZlcmZsb3csCiAgKiAgICAgICAgIGluIHdoaWNoIGNhc2UgaXQgd2lsbCBiZSBncmVhdGVyIHRo
YW4gZGVzdENhcGFjaXR5LgotICogQHN0YWJsZSBJQ1UgMi42CisgKiBAZGVwcmVjYXRlZCBJQ1Ug
NTUgVXNlIFVUUyAjNDYgaW5zdGVhZCB2aWEgdWlkbmFfb3BlblVUUzQ2KCkgb3IgY2xhc3MgSURO
QS4KICAqLwotVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKK1VfREVQUkVDQVRFRCBpbnQzMl90
IFVfRVhQT1JUMgogdWlkbmFfdG9BU0NJSShjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xl
bmd0aCwgCiAgICAgICAgICAgICAgIFVDaGFyKiBkZXN0LCBpbnQzMl90IGRlc3RDYXBhY2l0eSwK
ICAgICAgICAgICAgICAgaW50MzJfdCBvcHRpb25zLApAQCAtNjEwLDkgKzYxNiw5IEBAIHVpZG5h
X3RvQVNDSUkoY29uc3QgVUNoYXIqIHNyYywgaW50MzJfdCBzcmNMZW5ndGgsCiAgKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgaWYgZGVzdENhcGFjaXR5
IGlzIG5vdCBlbm91Z2gKICAqIEByZXR1cm4gVGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IHN0cmlu
ZywgaWYgc3VjY2Vzc2Z1bCAtIG9yIGluIGNhc2Ugb2YgYSBidWZmZXIgb3ZlcmZsb3csCiAgKiAg
ICAgICAgIGluIHdoaWNoIGNhc2UgaXQgd2lsbCBiZSBncmVhdGVyIHRoYW4gZGVzdENhcGFjaXR5
LgotICogQHN0YWJsZSBJQ1UgMi42CisgKiBAZGVwcmVjYXRlZCBJQ1UgNTUgVXNlIFVUUyAjNDYg
aW5zdGVhZCB2aWEgdWlkbmFfb3BlblVUUzQ2KCkgb3IgY2xhc3MgSUROQS4KICAqLwotVV9TVEFC
TEUgaW50MzJfdCBVX0VYUE9SVDIKK1VfREVQUkVDQVRFRCBpbnQzMl90IFVfRVhQT1JUMgogdWlk
bmFfdG9Vbmljb2RlKGNvbnN0IFVDaGFyKiBzcmMsIGludDMyX3Qgc3JjTGVuZ3RoLAogICAgICAg
ICAgICAgICAgIFVDaGFyKiBkZXN0LCBpbnQzMl90IGRlc3RDYXBhY2l0eSwKICAgICAgICAgICAg
ICAgICBpbnQzMl90IG9wdGlvbnMsCkBAIC02NjEsOSArNjY3LDkgQEAgdWlkbmFfdG9Vbmljb2Rl
KGNvbnN0IFVDaGFyKiBzcmMsIGludDMyX3Qgc3JjTGVuZ3RoLAogICogICAgICAgICAgICAgICAg
ICAgICAgICAgIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGlmIGRlc3RDYXBhY2l0eSBpcyBub3Qg
ZW5vdWdoCiAgKiBAcmV0dXJuIFRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBzdHJpbmcsIGlmIHN1
Y2Nlc3NmdWwgLSBvciBpbiBjYXNlIG9mIGEgYnVmZmVyIG92ZXJmbG93LAogICogICAgICAgICBp
biB3aGljaCBjYXNlIGl0IHdpbGwgYmUgZ3JlYXRlciB0aGFuIGRlc3RDYXBhY2l0eS4KLSAqIEBz
dGFibGUgSUNVIDIuNgorICogQGRlcHJlY2F0ZWQgSUNVIDU1IFVzZSBVVFMgIzQ2IGluc3RlYWQg
dmlhIHVpZG5hX29wZW5VVFM0NigpIG9yIGNsYXNzIElETkEuCiAgKi8KLVVfU1RBQkxFIGludDMy
X3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBVX0VYUE9SVDIKIHVpZG5hX0lETlRv
QVNDSUkoICBjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xlbmd0aCwKICAgICAgICAgICAg
ICAgICAgICBVQ2hhciogZGVzdCwgaW50MzJfdCBkZXN0Q2FwYWNpdHksCiAgICAgICAgICAgICAg
ICAgICAgaW50MzJfdCBvcHRpb25zLApAQCAtNzA4LDkgKzcxNCw5IEBAIHVpZG5hX0lETlRvQVND
SUkoICBjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xlbmd0aCwKICAqICAgICAgICAgICAg
ICAgICAgICAgICAgICBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUiBpZiBkZXN0Q2FwYWNpdHkgaXMg
bm90IGVub3VnaAogICogQHJldHVybiBUaGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgc3RyaW5nLCBp
ZiBzdWNjZXNzZnVsIC0gb3IgaW4gY2FzZSBvZiBhIGJ1ZmZlciBvdmVyZmxvdywKICAqICAgICAg
ICAgaW4gd2hpY2ggY2FzZSBpdCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBkZXN0Q2FwYWNpdHkuCi0g
KiBAc3RhYmxlIElDVSAyLjYKKyAqIEBkZXByZWNhdGVkIElDVSA1NSBVc2UgVVRTICM0NiBpbnN0
ZWFkIHZpYSB1aWRuYV9vcGVuVVRTNDYoKSBvciBjbGFzcyBJRE5BLgogICovCi1VX1NUQUJMRSBp
bnQzMl90IFVfRVhQT1JUMgorVV9ERVBSRUNBVEVEIGludDMyX3QgVV9FWFBPUlQyCiB1aWRuYV9J
RE5Ub1VuaWNvZGUoICBjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xlbmd0aCwKICAgICAg
ICAgICAgICAgICAgICAgIFVDaGFyKiBkZXN0LCBpbnQzMl90IGRlc3RDYXBhY2l0eSwKICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3Qgb3B0aW9ucywKQEAgLTc0OSwxNCArNzU1LDE2IEBAIHVp
ZG5hX0lETlRvVW5pY29kZSggIGNvbnN0IFVDaGFyKiBzcmMsIGludDMyX3Qgc3JjTGVuZ3RoLAog
ICogQHBhcmFtIHN0YXR1cyAgICAgICAgICAgIElDVSBlcnJvciBjb2RlIGluL291dCBwYXJhbWV0
ZXIuCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgTXVzdCBmdWxmaWxsIFVfU1VDQ0VTUyBi
ZWZvcmUgdGhlIGZ1bmN0aW9uIGNhbGwuCiAgKiBAcmV0dXJuIDwwIG9yIDAgb3IgPjAgYXMgdXN1
YWwgZm9yIHN0cmluZyBjb21wYXJpc29ucwotICogQHN0YWJsZSBJQ1UgMi42CisgKiBAZGVwcmVj
YXRlZCBJQ1UgNTUgVXNlIFVUUyAjNDYgaW5zdGVhZCB2aWEgdWlkbmFfb3BlblVUUzQ2KCkgb3Ig
Y2xhc3MgSUROQS4KICAqLwotVV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKK1VfREVQUkVDQVRF
RCBpbnQzMl90IFVfRVhQT1JUMgogdWlkbmFfY29tcGFyZSggIGNvbnN0IFVDaGFyICpzMSwgaW50
MzJfdCBsZW5ndGgxLAogICAgICAgICAgICAgICAgIGNvbnN0IFVDaGFyICpzMiwgaW50MzJfdCBs
ZW5ndGgyLAogICAgICAgICAgICAgICAgIGludDMyX3Qgb3B0aW9ucywKICAgICAgICAgICAgICAg
ICBVRXJyb3JDb2RlKiBzdGF0dXMpOwogCisjZW5kaWYgIC8qIFVfSElERV9ERVBSRUNBVEVEX0FQ
SSAqLworCiAjZW5kaWYgLyogI2lmICFVQ09ORklHX05PX0lETkEgKi8KIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91bG9jLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pY3UvdW5pY29kZS91bG9jLmgKaW5kZXggMjhhYjkwMmI1MjIyOTNiMzMyMGU5ZTlkMDdlYWRm
MTM5MTY1OGFlYi4uYzMwNWM4Yjc4YzhhODUzYjkzOGQ2NWQxNmExZTEyOTZkYjc3MzdiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdWxvYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2ljdS91bmljb2RlL3Vsb2MuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3Mg
TWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNp
bmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJl
c2VydmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgogKgpAQCAtMjcyLDcgKzI3Miw3IEBACiAgKiBVc2VmdWwg
Y29uc3RhbnQgZm9yIHRoZSBtYXhpbXVtIHNpemUgb2Yga2V5d29yZHMgaW4gYSBsb2NhbGUKICAq
IEBzdGFibGUgSUNVIDIuOAogICovCi0jZGVmaW5lIFVMT0NfS0VZV09SRFNfQ0FQQUNJVFkgNTAK
KyNkZWZpbmUgVUxPQ19LRVlXT1JEU19DQVBBQ0lUWSA5NgogCiAvKioKICAqIFVzZWZ1bCBjb25z
dGFudCBmb3IgdGhlIG1heGltdW0gdG90YWwgc2l6ZSBvZiBrZXl3b3JkcyBhbmQgdGhlaXIgdmFs
dWVzIGluIGEgbG9jYWxlCkBAIC04ODYsNiArODg2LDI1IEBAIHVsb2Nfc2V0S2V5d29yZFZhbHVl
KGNvbnN0IGNoYXIqIGtleXdvcmROYW1lLAogICAgICAgICAgICAgICAgICAgICAgY2hhciogYnVm
ZmVyLCBpbnQzMl90IGJ1ZmZlckNhcGFjaXR5LAogICAgICAgICAgICAgICAgICAgICAgVUVycm9y
Q29kZSogc3RhdHVzKTsKIAorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisvKioKKyAqIFJldHVy
bnMgd2hldGhlciB0aGUgbG9jYWxlJ3Mgc2NyaXB0IGlzIHdyaXR0ZW4gcmlnaHQtdG8tbGVmdC4K
KyAqIElmIHRoZXJlIGlzIG5vIHNjcmlwdCBzdWJ0YWcsIHRoZW4gdGhlIGxpa2VseSBzY3JpcHQg
aXMgdXNlZCwgc2VlIHVsb2NfYWRkTGlrZWx5U3VidGFncygpLgorICogSWYgbm8gbGlrZWx5IHNj
cmlwdCBpcyBrbm93biwgdGhlbiBGQUxTRSBpcyByZXR1cm5lZC4KKyAqCisgKiBBIHNjcmlwdCBp
cyByaWdodC10by1sZWZ0IGFjY29yZGluZyB0byB0aGUgQ0xEUiBzY3JpcHQgbWV0YWRhdGEKKyAq
IHdoaWNoIGNvcnJlc3BvbmRzIHRvIHdoZXRoZXIgdGhlIHNjcmlwdCdzIGxldHRlcnMgaGF2ZSBC
aWRpX0NsYXNzPVIgb3IgQUwuCisgKgorICogUmV0dXJucyBUUlVFIGZvciAiYXIiIGFuZCAiZW4t
SGViciIsIEZBTFNFIGZvciAiemgiIGFuZCAiZmEtQ3lybCIuCisgKgorICogQHBhcmFtIGxvY2Fs
ZSBpbnB1dCBsb2NhbGUgSUQKKyAqIEByZXR1cm4gVFJVRSBpZiB0aGUgbG9jYWxlJ3Mgc2NyaXB0
IGlzIHdyaXR0ZW4gcmlnaHQtdG8tbGVmdAorICogQGRyYWZ0IElDVSA1NAorICovCitVX0RSQUZU
IFVCb29sIFVfRVhQT1JUMgordWxvY19pc1JpZ2h0VG9MZWZ0KGNvbnN0IGNoYXIgKmxvY2FsZSk7
CisjZW5kaWYgIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKwogLyoqCiAgKiBlbnVtcyBmb3IgdGhl
ICByZXR1cm4gdmFsdWUgZm9yIHRoZSBjaGFyYWN0ZXIgYW5kIGxpbmUgb3JpZW50YXRpb24KICAq
IGZ1bmN0aW9ucy4KQEAgLTExMzIsNCArMTE1MSwxMDYgQEAgdWxvY190b0xhbmd1YWdlVGFnKGNv
bnN0IGNoYXIqIGxvY2FsZUlELAogICAgICAgICAgICAgICAgICAgIFVCb29sIHN0cmljdCwKICAg
ICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBlcnIpOwogCisjaWZuZGVmIFVfSElERV9EUkFG
VF9BUEkKKy8qKgorICogQ29udmVydHMgdGhlIHNwZWNpZmllZCBrZXl3b3JkIChsZWdhY3kga2V5
LCBvciBCQ1AgNDcgVW5pY29kZSBsb2NhbGUKKyAqIGV4dGVuc2lvbiBrZXkpIHRvIHRoZSBlcXVp
dmFsZW50IEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24ga2V5LgorICogRm9yIGV4YW1w
bGUsIEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24ga2V5ICJjbyIgaXMgcmV0dXJuZWQg
Zm9yCisgKiB0aGUgaW5wdXQga2V5d29yZCAiY29sbGF0aW9uIi4KKyAqIDxwPgorICogV2hlbiB0
aGUgc3BlY2lmaWVkIGtleXdvcmQgaXMgdW5rbm93biwgYnV0IHNhdGlzZmllcyB0aGUgQkNQIHN5
bnRheCwKKyAqIHRoZW4gdGhlIHBvaW50ZXIgdG8gdGhlIGlucHV0IGtleXdvcmQgaXRzZWxmIHdp
bGwgYmUgcmV0dXJuZWQuCisgKiBGb3IgZXhhbXBsZSwKKyAqIDxjb2RlPnVsb2NfdG9Vbmljb2Rl
TG9jYWxlS2V5KCJaWiIpPC9jb2RlPiByZXR1cm5zICJaWiIuCisgKiAKKyAqIEBwYXJhbSBrZXl3
b3JkICAgICAgIHRoZSBpbnB1dCBsb2NhbGUga2V5d29yZCAoZWl0aGVyIGxlZ2FjeSBrZXkKKyAq
ICAgICAgICAgICAgICAgICAgICAgIHN1Y2ggYXMgImNvbGxhdGlvbiIgb3IgQkNQIDQ3IFVuaWNv
ZGUgbG9jYWxlIGV4dGVuc2lvbgorICogICAgICAgICAgICAgICAgICAgICAga2V5IHN1Y2ggYXMg
ImNvIikuCisgKiBAcmV0dXJuICAgICAgICAgICAgICB0aGUgd2VsbC1mb3JtZWQgQkNQIDQ3IFVu
aWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBrZXksCisgKiAgICAgICAgICAgICAgICAgICAgICBvciBO
VUxMIGlmIHRoZSBzcGVjaWZpZWQgbG9jYWxlIGtleXdvcmQgY2Fubm90IGJlCisgKiAgICAgICAg
ICAgICAgICAgICAgICBtYXBwZWQgdG8gYSB3ZWxsLWZvcm1lZCBCQ1AgNDcgVW5pY29kZSBsb2Nh
bGUgZXh0ZW5zaW9uCisgKiAgICAgICAgICAgICAgICAgICAgICBrZXkuIAorICogQHNlZSB1bG9j
X3RvTGVnYWN5S2V5CisgKiBAZHJhZnQgSUNVIDU0CisgKi8KK1VfRFJBRlQgY29uc3QgY2hhciog
VV9FWFBPUlQyCit1bG9jX3RvVW5pY29kZUxvY2FsZUtleShjb25zdCBjaGFyKiBrZXl3b3JkKTsK
KworLyoqCisgKiBDb252ZXJ0cyB0aGUgc3BlY2lmaWVkIGtleXdvcmQgdmFsdWUgKGxlZ2FjeSB0
eXBlLCBvciBCQ1AgNDcKKyAqIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiB0eXBlKSB0byB0aGUg
d2VsbC1mb3JtZWQgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlCisgKiBleHRlbnNpb24gdHlwZSBmb3Ig
dGhlIHNwZWNpZmllZCBrZXl3b3JkIChjYXRlZ29yeSkuIEZvciBleGFtcGxlLCBCQ1AgNDcKKyAq
IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiB0eXBlICJwaG9uZWJrIiBpcyByZXR1cm5lZCBmb3Ig
dGhlIGlucHV0CisgKiBrZXl3b3JkIHZhbHVlICJwaG9uZWJvb2siLCB3aXRoIHRoZSBrZXl3b3Jk
ICJjb2xsYXRpb24iIChvciAiY28iKS4KKyAqIDxwPgorICogV2hlbiB0aGUgc3BlY2lmaWVkIGtl
eXdvcmQgaXMgbm90IHJlY29nbml6ZWQsIGJ1dCB0aGUgc3BlY2lmaWVkIHZhbHVlCisgKiBzYXRp
c2ZpZXMgdGhlIHN5bnRheCBvZiB0aGUgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiB0
eXBlLAorICogb3Igd2hlbiB0aGUgc3BlY2lmaWVkIGtleXdvcmQgYWxsb3dzICd2YXJpYWJsZScg
dHlwZSBhbmQgdGhlIHNwZWNpZmllZAorICogdmFsdWUgc2F0aXNmaWVzIHRoZSBzeW50YXgsICB0
aGVuIHRoZSBwb2ludGVyIHRvIHRoZSBpbnB1dCB0eXBlIHZhbHVlIGl0c2VsZgorICogd2lsbCBi
ZSByZXR1cm5lZC4KKyAqIEZvciBleGFtcGxlLAorICogPGNvZGU+dWxvY190b1VuaWNvZGVMb2Nh
bGVUeXBlKCJGb28iLCAiQmFyIik8L2NvZGU+IHJldHVybnMgIkJhciIsCisgKiA8Y29kZT51bG9j
X3RvVW5pY29kZUxvY2FsZVR5cGUoInZhcmlhYmxlVG9wIiwgIjAwQTQiKTwvY29kZT4gcmV0dXJu
cyAiMDBBNCIuCisgKiAKKyAqIEBwYXJhbSBrZXl3b3JkICAgICAgIHRoZSBsb2NhbGUga2V5d29y
ZCAoZWl0aGVyIGxlZ2FjeSBrZXkgc3VjaCBhcworICogICAgICAgICAgICAgICAgICAgICAgImNv
bGxhdGlvbiIgb3IgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbgorICogICAgICAgICAg
ICAgICAgICAgICAga2V5IHN1Y2ggYXMgImNvIikuCisgKiBAcGFyYW0gdmFsdWUgICAgICAgICB0
aGUgbG9jYWxlIGtleXdvcmQgdmFsdWUgKGVpdGhlciBsZWdhY3kgdHlwZQorICogICAgICAgICAg
ICAgICAgICAgICAgc3VjaCBhcyAicGhvbmVib29rIiBvciBCQ1AgNDcgVW5pY29kZSBsb2NhbGUg
ZXh0ZW5zaW9uCisgKiAgICAgICAgICAgICAgICAgICAgICB0eXBlIHN1Y2ggYXMgInBob25lYmsi
KS4KKyAqIEByZXR1cm4gICAgICAgICAgICAgIHRoZSB3ZWxsLWZvcm1lZCBCQ1A0NyBVbmljb2Rl
IGxvY2FsZSBleHRlbnNpb24gdHlwZSwKKyAqICAgICAgICAgICAgICAgICAgICAgIG9yIE5VTEwg
aWYgdGhlIGxvY2FsZSBrZXl3b3JkIHZhbHVlIGNhbm5vdCBiZSBtYXBwZWQgdG8KKyAqICAgICAg
ICAgICAgICAgICAgICAgIGEgd2VsbC1mb3JtZWQgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVu
c2lvbiB0eXBlLgorICogQHNlZSB1bG9jX3RvTGVnYWN5VHlwZQorICogQGRyYWZ0IElDVSA1NAor
ICovCitVX0RSQUZUIGNvbnN0IGNoYXIqIFVfRVhQT1JUMgordWxvY190b1VuaWNvZGVMb2NhbGVU
eXBlKGNvbnN0IGNoYXIqIGtleXdvcmQsIGNvbnN0IGNoYXIqIHZhbHVlKTsKKworLyoqCisgKiBD
b252ZXJ0cyB0aGUgc3BlY2lmaWVkIGtleXdvcmQgKEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRl
bnNpb24ga2V5LCBvcgorICogbGVnYWN5IGtleSkgdG8gdGhlIGxlZ2FjeSBrZXkuIEZvciBleGFt
cGxlLCBsZWdhY3kga2V5ICJjb2xsYXRpb24iIGlzCisgKiByZXR1cm5lZCBmb3IgdGhlIGlucHV0
IEJDUCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24ga2V5ICJjbyIuCisgKiAKKyAqIEBwYXJh
bSBrZXl3b3JkICAgICAgIHRoZSBpbnB1dCBsb2NhbGUga2V5d29yZCAoZWl0aGVyIEJDUCA0NyBV
bmljb2RlIGxvY2FsZQorICogICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uIGtleSBvciBs
ZWdhY3kga2V5KS4KKyAqIEByZXR1cm4gICAgICAgICAgICAgIHRoZSB3ZWxsLWZvcm1lZCBsZWdh
Y3kga2V5LCBvciBOVUxMIGlmIHRoZSBzcGVjaWZpZWQKKyAqICAgICAgICAgICAgICAgICAgICAg
IGtleXdvcmQgY2Fubm90IGJlIG1hcHBlZCB0byBhIHdlbGwtZm9ybWVkIGxlZ2FjeSBrZXkuCisg
KiBAc2VlIHRvVW5pY29kZUxvY2FsZUtleQorICogQGRyYWZ0IElDVSA1NAorICovCitVX0RSQUZU
IGNvbnN0IGNoYXIqIFVfRVhQT1JUMgordWxvY190b0xlZ2FjeUtleShjb25zdCBjaGFyKiBrZXl3
b3JkKTsKKworLyoqCisgKiBDb252ZXJ0cyB0aGUgc3BlY2lmaWVkIGtleXdvcmQgdmFsdWUgKEJD
UCA0NyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gdHlwZSwKKyAqIG9yIGxlZ2FjeSB0eXBlIG9y
IHR5cGUgYWxpYXMpIHRvIHRoZSBjYW5vbmljYWwgbGVnYWN5IHR5cGUuIEZvciBleGFtcGxlLAor
ICogdGhlIGxlZ2FjeSB0eXBlICJwaG9uZWJvb2siIGlzIHJldHVybmVkIGZvciB0aGUgaW5wdXQg
QkNQIDQ3IFVuaWNvZGUKKyAqIGxvY2FsZSBleHRlbnNpb24gdHlwZSAicGhvbmViayIgd2l0aCB0
aGUga2V5d29yZCAiY29sbGF0aW9uIiAob3IgImNvIikuCisgKiA8cD4KKyAqIFdoZW4gdGhlIHNw
ZWNpZmllZCBrZXl3b3JkIGlzIG5vdCByZWNvZ25pemVkLCBidXQgdGhlIHNwZWNpZmllZCB2YWx1
ZQorICogc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgbGVnYWN5IGtleSwgb3Igd2hlbiB0aGUgc3Bl
Y2lmaWVkIGtleXdvcmQKKyAqIGFsbG93cyAndmFyaWFibGUnIHR5cGUgYW5kIHRoZSBzcGVjaWZp
ZWQgdmFsdWUgc2F0aXNmaWVzIHRoZSBzeW50YXgsCisgKiB0aGVuIHRoZSBwb2ludGVyIHRvIHRo
ZSBpbnB1dCB0eXBlIHZhbHVlIGl0c2VsZiB3aWxsIGJlIHJldHVybmVkLgorICogRm9yIGV4YW1w
bGUsCisgKiA8Y29kZT51bG9jX3RvTGVnYWN5VHlwZSgiRm9vIiwgIkJhciIpPC9jb2RlPiByZXR1
cm5zICJCYXIiLAorICogPGNvZGU+dWxvY190b0xlZ2FjeVR5cGUoInZ0IiwgIjAwQTQiKTwvY29k
ZT4gcmV0dXJucyAiMDBBNCIuCisgKgorICogQHBhcmFtIGtleXdvcmQgICAgICAgdGhlIGxvY2Fs
ZSBrZXl3b3JkIChlaXRoZXIgbGVnYWN5IGtleXdvcmQgc3VjaCBhcworICogICAgICAgICAgICAg
ICAgICAgICAgImNvbGxhdGlvbiIgb3IgQkNQIDQ3IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbgor
ICogICAgICAgICAgICAgICAgICAgICAga2V5IHN1Y2ggYXMgImNvIikuCisgKiBAcGFyYW0gdmFs
dWUgICAgICAgICB0aGUgbG9jYWxlIGtleXdvcmQgdmFsdWUgKGVpdGhlciBCQ1AgNDcgVW5pY29k
ZSBsb2NhbGUKKyAqICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiB0eXBlIHN1Y2ggYXMg
InBob25lYmsiIG9yIGxlZ2FjeSBrZXl3b3JkIHZhbHVlCisgKiAgICAgICAgICAgICAgICAgICAg
ICBzdWNoIGFzICJwaG9uZWJvb2siKS4KKyAqIEByZXR1cm4gICAgICAgICAgICAgIHRoZSB3ZWxs
LWZvcm1lZCBsZWdhY3kgdHlwZSwgb3IgTlVMTCBpZiB0aGUgc3BlY2lmaWVkCisgKiAgICAgICAg
ICAgICAgICAgICAgICBrZXl3b3JkIHZhbHVlIGNhbm5vdCBiZSBtYXBwZWQgdG8gYSB3ZWxsLWZv
cm1lZCBsZWdhY3kKKyAqICAgICAgICAgICAgICAgICAgICAgIHR5cGUuCisgKiBAc2VlIHRvVW5p
Y29kZUxvY2FsZVR5cGUKKyAqIEBkcmFmdCBJQ1UgNTQKKyAqLworVV9EUkFGVCBjb25zdCBjaGFy
KiBVX0VYUE9SVDIKK3Vsb2NfdG9MZWdhY3lUeXBlKGNvbnN0IGNoYXIqIGtleXdvcmQsIGNvbnN0
IGNoYXIqIHZhbHVlKTsKKworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisKICNlbmRp
ZiAvKl9VTE9DKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VtYWNo
aW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91bWFjaGluZS5oCmluZGV4IGQxMTAy
ZjQ5MzY1MjdjOTJiMTNiY2FmODRjOGFlZGNhNmU3ZmY3NTcuLjUzMjE1OTIxNmE1ZTNkMTMwMjdh
N2ZmZWY2ZmMzMjhjN2I2ZjY0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmlj
b2RlL3VtYWNoaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdW1hY2hpbmUu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5
cmlnaHQgKEMpIDE5OTktMjAxMiwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAg
IENvcHlyaWdodCAoQykgMTk5OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
CiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKQEAgLTEzLDcgKzEzLDcgQEAKICogICBjcmVhdGVkIG9uOiAx
OTk5c2VwMTMKICogICBjcmVhdGVkIGJ5OiBNYXJrdXMgVy4gU2NoZXJlcgogKgotKiAgIFRoaXMg
ZmlsZSBkZWZpbmVzIGJhc2ljIHR5cGVzIGFuZCBjb25zdGFudHMgZm9yIHV0Zi5oIHRvIGJlCisq
ICAgVGhpcyBmaWxlIGRlZmluZXMgYmFzaWMgdHlwZXMgYW5kIGNvbnN0YW50cyBmb3IgSUNVIHRv
IGJlCiAqICAgcGxhdGZvcm0taW5kZXBlbmRlbnQuIHVtYWNoaW5lLmggYW5kIHV0Zi5oIGFyZSBp
bmNsdWRlZCBpbnRvCiAqICAgdXR5cGVzLmggdG8gcHJvdmlkZSBhbGwgdGhlIGdlbmVyYWwgZGVm
aW5pdGlvbnMgZm9yIElDVS4KICogICBBbGwgb2YgdGhlc2UgZGVmaW5pdGlvbnMgdXNlZCB0byBi
ZSBpbiB1dHlwZXMuaCBiZWZvcmUKQEAgLTExNiw2ICsxMTYsNDAgQEAKIC8qKiBUaGlzIGlzIHVz
ZWQgdG8gZGVjbGFyZSBhIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIElDVSBDIEFQSSAgKi8KICNk
ZWZpbmUgVV9JTlRFUk5BTCBVX0NBUEkKIAorLyoqCisgKiBcZGVmIFVfT1ZFUlJJREUKKyAqIERl
ZmluZWQgdG8gdGhlIEMrKzExICJvdmVycmlkZSIga2V5d29yZCBpZiBhdmFpbGFibGUuCisgKiBE
ZW5vdGVzIGEgY2xhc3Mgb3IgbWVtYmVyIHdoaWNoIGlzIGFuIG92ZXJyaWRlIG9mIHRoZSBiYXNl
IGNsYXNzLgorICogTWF5IHJlc3VsdCBpbiBhbiBlcnJvciBpZiBpdCBhcHBsaWVkIHRvIHNvbWV0
aGluZyBub3QgYW4gb3ZlcnJpZGUuCisgKiBAaW50ZXJuYWwKKyAqLworCisvKioKKyAqIFxkZWYg
VV9GSU5BTAorICogRGVmaW5lZCB0byB0aGUgQysrMTEgImZpbmFsIiBrZXl3b3JkIGlmIGF2YWls
YWJsZS4KKyAqIERlbm90ZXMgYSBjbGFzcyBvciBtZW1iZXIgd2hpY2ggbWF5IG5vdCBiZSBvdmVy
cmlkZGVuIGluIHN1YmNsYXNzZXMuCisgKiBNYXkgcmVzdWx0IGluIGFuIGVycm9yIGlmIHN1YmNs
YXNzZXMgYXR0ZW1wdCB0byBvdmVycmlkZS4KKyAqIEBpbnRlcm5hbAorICovCisKKyNpZiBkZWZp
bmVkKF9fY3BsdXNwbHVzKSAmJiBfX2NwbHVzcGx1cz49MjAxMTAzTAorLyogQysrMTEgKi8KKyNp
Zm5kZWYgVV9PVkVSUklERQorI2RlZmluZSBVX09WRVJSSURFIG92ZXJyaWRlCisjZW5kaWYKKyNp
Zm5kZWYgVV9GSU5BTAorI2RlZmluZSBVX0ZJTkFMIGZpbmFsCisjZW5kaWYKKyNlbHNlCisvKiBu
b3QgQysrMTEgLSBkZWZpbmUgdG8gbm90aGluZyAqLworI2lmbmRlZiBVX09WRVJSSURFCisjZGVm
aW5lIFVfT1ZFUlJJREUKKyNlbmRpZgorI2lmbmRlZiBVX0ZJTkFMCisjZGVmaW5lIFVfRklOQUwK
KyNlbmRpZgorI2VuZGlmCisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogLyogbGltaXRzIGZvciBp
bnQzMl90IGV0Yy4sIGxpa2UgaW4gUE9TSVggaW50dHlwZXMuaCAgICAgICAgICAgICAgICAgICAg
ICAgICovCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ljdS91bmljb2RlL3VuaXN0ci5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdW5pc3Ry
LmgKaW5kZXggYzZlOGI0NDY2YWQxM2EyMzllNzYyNzc3YWNkYTFjZmUzNjdiMjY3ZS4uNDhmZTJi
M2IxZDZjOGEzNWM3N2ZhYTEyMjBlNGZmZDc3OTYwMDMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaWN1L3VuaWNvZGUvdW5pc3RyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNv
ZGUvdW5pc3RyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHly
aWdodCAoQykgMTk5OC0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAg
Q29weXJpZ2h0IChDKSAxOTk4LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
ICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKICoKQEAgLTMzNzAsNiArMzM3MCw5IEBAIHByaXZhdGU6CiAgIGlubGluZSBVQ2hh
ciogZ2V0QXJyYXlTdGFydCh2b2lkKTsKICAgaW5saW5lIGNvbnN0IFVDaGFyKiBnZXRBcnJheVN0
YXJ0KHZvaWQpIGNvbnN0OwogCisgIGlubGluZSBVQm9vbCBoYXNTaG9ydExlbmd0aCgpIGNvbnN0
OworICBpbmxpbmUgaW50MzJfdCBnZXRTaG9ydExlbmd0aCgpIGNvbnN0OworCiAgIC8vIEEgVW5p
Y29kZVN0cmluZyBvYmplY3QgKG5vdCBuZWNlc3NhcmlseSBpdHMgY3VycmVudCBidWZmZXIpCiAg
IC8vIGlzIHdyaXRhYmxlIHVubGVzcyBpdCBpc0JvZ3VzKCkgb3IgaXQgaGFzIGFuICJvcGVuIiBn
ZXRCdWZmZXIobWluQ2FwYWNpdHkpLgogICBpbmxpbmUgVUJvb2wgaXNXcml0YWJsZSgpIGNvbnN0
OwpAQCAtMzM3OCwxMyArMzM4MSwxNiBAQCBwcml2YXRlOgogICBpbmxpbmUgVUJvb2wgaXNCdWZm
ZXJXcml0YWJsZSgpIGNvbnN0OwogCiAgIC8vIE5vbmUgb2YgdGhlIGZvbGxvd2luZyBkb2VzIHJl
bGVhc2VBcnJheSgpLgotICBpbmxpbmUgdm9pZCBzZXRMZW5ndGgoaW50MzJfdCBsZW4pOyAgICAg
ICAgLy8gc2V0cyBvbmx5IGZTaG9ydExlbmd0aCBhbmQgZkxlbmd0aAotICBpbmxpbmUgdm9pZCBz
ZXRUb0VtcHR5KCk7ICAgICAgICAgICAgICAgICAgLy8gc2V0cyBmRmxhZ3M9a1Nob3J0U3RyaW5n
Ci0gIGlubGluZSB2b2lkIHNldEFycmF5KFVDaGFyICphcnJheSwgaW50MzJfdCBsZW4sIGludDMy
X3QgY2FwYWNpdHkpOyAvLyBkb2VzIG5vdCBzZXQgZkZsYWdzCisgIGlubGluZSB2b2lkIHNldFpl
cm9MZW5ndGgoKTsKKyAgaW5saW5lIHZvaWQgc2V0U2hvcnRMZW5ndGgoaW50MzJfdCBsZW4pOwor
ICBpbmxpbmUgdm9pZCBzZXRMZW5ndGgoaW50MzJfdCBsZW4pOworICBpbmxpbmUgdm9pZCBzZXRU
b0VtcHR5KCk7CisgIGlubGluZSB2b2lkIHNldEFycmF5KFVDaGFyICphcnJheSwgaW50MzJfdCBs
ZW4sIGludDMyX3QgY2FwYWNpdHkpOyAvLyBzZXRzIGxlbmd0aCBidXQgbm90IGZsYWdzCiAKLSAg
Ly8gYWxsb2NhdGUgdGhlIGFycmF5OyByZXN1bHQgbWF5IGJlIGZTdGFja0J1ZmZlcgorICAvLyBh
bGxvY2F0ZSB0aGUgYXJyYXk7IHJlc3VsdCBtYXkgYmUgdGhlIHN0YWNrIGJ1ZmZlcgogICAvLyBz
ZXRzIHJlZkNvdW50IHRvIDEgaWYgYXBwcm9wcmlhdGUKLSAgLy8gc2V0cyBmQXJyYXksIGZDYXBh
Y2l0eSwgYW5kIGZGbGFncworICAvLyBzZXRzIGZBcnJheSwgZkNhcGFjaXR5LCBhbmQgZmxhZ3MK
KyAgLy8gc2V0cyBsZW5ndGggdG8gMAogICAvLyByZXR1cm5zIGJvb2xlYW4gZm9yIHN1Y2Nlc3Mg
b3IgZmFpbHVyZQogICBVQm9vbCBhbGxvY2F0ZShpbnQzMl90IGNhcGFjaXR5KTsKIApAQCAtMzQ3
MSwxOCArMzQ3NywyNCBAQCBwcml2YXRlOgogICAgIC8vIFNldCB0aGUgc3RhY2sgYnVmZmVyIHNp
emUgc28gdGhhdCBzaXplb2YoVW5pY29kZVN0cmluZykgaXMsCiAgICAgLy8gbmF0dXJhbGx5ICh3
aXRob3V0IHBhZGRpbmcpLCBhIG11bHRpcGxlIG9mIHNpemVvZihwb2ludGVyKS4KICAgICBVU19T
VEFDS0JVRl9TSVpFPSBzaXplb2Yodm9pZCAqKT09NCA/IDEzIDogMTUsIC8vIFNpemUgb2Ygc3Rh
Y2sgYnVmZmVyIGZvciBzaG9ydCBzdHJpbmdzCi0gICAga0ludmFsaWRVQ2hhcj0weGZmZmYsIC8v
IGludmFsaWQgVUNoYXIgaW5kZXgKKyAgICBrSW52YWxpZFVDaGFyPTB4ZmZmZiwgLy8gVStGRkZG
IHJldHVybmVkIGJ5IGNoYXJBdChpbnZhbGlkIGluZGV4KQogICAgIGtHcm93U2l6ZT0xMjgsIC8v
IGdyb3cgc2l6ZSBmb3IgdGhpcyBidWZmZXIKICAgICBrSW52YWxpZEhhc2hDb2RlPTAsIC8vIGlu
dmFsaWQgaGFzaCBjb2RlCiAgICAga0VtcHR5SGFzaENvZGU9MSwgLy8gaGFzaCBjb2RlIGZvciBl
bXB0eSBzdHJpbmcKIAotICAgIC8vIGJpdCBmbGFnIHZhbHVlcyBmb3IgZkZsYWdzCisgICAgLy8g
Yml0IGZsYWcgdmFsdWVzIGZvciBmTGVuZ3RoQW5kRmxhZ3MKICAgICBrSXNCb2d1cz0xLCAgICAg
ICAgIC8vIHRoaXMgc3RyaW5nIGlzIGJvZ3VzLCBpLmUuLCBub3QgdmFsaWQgb3IgTlVMTAotICAg
IGtVc2luZ1N0YWNrQnVmZmVyPTIsLy8gdXNpbmcgZlVuaW9uLmZTdGFja0J1ZmZlciBpbnN0ZWFk
IG9mIGZVbmlvbi5mRmllbGRzCisgICAga1VzaW5nU3RhY2tCdWZmZXI9MiwvLyB1c2luZyBmVW5p
b24uZlN0YWNrRmllbGRzIGluc3RlYWQgb2YgZlVuaW9uLmZGaWVsZHMKICAgICBrUmVmQ291bnRl
ZD00LCAgICAgIC8vIHRoZXJlIGlzIGEgcmVmQ291bnQgZmllbGQgYmVmb3JlIHRoZSBjaGFyYWN0
ZXJzIGluIGZBcnJheQogICAgIGtCdWZmZXJJc1JlYWRvbmx5PTgsLy8gZG8gbm90IHdyaXRlIHRv
IHRoaXMgYnVmZmVyCiAgICAga09wZW5HZXRCdWZmZXI9MTYsICAvLyBnZXRCdWZmZXIobWluQ2Fw
YWNpdHkpIHdhcyBjYWxsZWQgKGlzICJvcGVuIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBhbmQgcmVsZWFzZUJ1ZmZlcihuZXdMZW5ndGgpIG11c3QgYmUgY2FsbGVkCisgICAga0FsbFN0
b3JhZ2VGbGFncz0weDFmLAorCisgICAga0xlbmd0aFNoaWZ0PTUsICAgICAvLyByZW1haW5pbmcg
MTEgYml0cyBmb3Igbm9uLW5lZ2F0aXZlIHNob3J0IGxlbmd0aCwgb3IgbmVnYXRpdmUgaWYgbG9u
ZworICAgIGtMZW5ndGgxPTE8PGtMZW5ndGhTaGlmdCwKKyAgICBrTWF4U2hvcnRMZW5ndGg9MHgz
ZmYsICAvLyBtYXggbm9uLW5lZ2F0aXZlIHNob3J0IGxlbmd0aCAobGVhdmVzIHRvcCBiaXQgMCkK
KyAgICBrTGVuZ3RoSXNMYXJnZT0weGZmZTAsICAvLyBzaG9ydCBsZW5ndGggPCAwLCByZWFsIGxl
bmd0aCBpcyBpbiBmVW5pb24uZkZpZWxkcy5mTGVuZ3RoCiAKICAgICAvLyBjb21iaW5lZCB2YWx1
ZXMgZm9yIGNvbnZlbmllbmNlCiAgICAga1Nob3J0U3RyaW5nPWtVc2luZ1N0YWNrQnVmZmVyLApA
QCAtMzUxNSwzNiArMzUyNyw0MiBAQCBwcml2YXRlOgogICAgKiAtIHNpemVvZihjbGFzcyBVbmlj
b2RlU3RyaW5nKQogICAgKiAtIG9mZnNldG9mKFVuaWNvZGVTdHJpbmcsIGZVbmlvbikKICAgICog
LSBzaXplb2YoZlVuaW9uKQotICAgKiAtIHNpemVvZihmRmllbGRzKQorICAgKiAtIHNpemVvZihm
U3RhY2tGaWVsZHMpCiAgICAqCi0gICAqIEluIG9yZGVyIHRvIGF2b2lkIHBhZGRpbmcsIHdlIG1h
a2Ugc2l6ZW9mKGZTdGFja0J1ZmZlcik9MTYgKD04IFVDaGFycykKLSAgICogd2hpY2ggaXMgYXQg
bGVhc3QgYXMgbGFyZ2UgYXMgc2l6ZW9mKGZGaWVsZHMpIG9uIDMyLWJpdCBhbmQgNjQtYml0IG1h
Y2hpbmVzLgotICAgKiAoUGFkZGluZyBhdCB0aGUgZW5kIG9mIGZGaWVsZHMgaXMgb2s6Ci0gICAq
IEFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gcGFkZGluZyBhZnRlciBmU3RhY2tCdWZmZXIsIGl0IGlz
IG5vdCB3YXN0ZWQgc3BhY2UuKQorICAgKiBXZSBvcHRpbWl6ZSBmb3IgdGhlIGxvbmdlc3QgcG9z
c2libGUgaW50ZXJuYWwgYnVmZmVyIGZvciBzaG9ydCBzdHJpbmdzLgorICAgKiBmVW5pb24uZlN0
YWNrRmllbGRzIGJlZ2lucyB3aXRoIDIgYnl0ZXMgZm9yIHN0b3JhZ2UgZmxhZ3MKKyAgICogYW5k
IHRoZSBsZW5ndGggb2YgcmVsYXRpdmVseSBzaG9ydCBzdHJpbmdzLAorICAgKiBmb2xsb3dlZCBi
eSB0aGUgYnVmZmVyIGZvciBzaG9ydCBzdHJpbmcgY29udGVudHMuCisgICAqIFRoZXJlIGlzIG5v
IHBhZGRpbmcgaW5zaWRlIGZTdGFja0ZpZWxkcy4KICAgICoKLSAgICogV2UgZnVydGhlciBhc3N1
bWUgdGhhdCB0aGUgY29tcGlsZXIgZG9lcyBub3QgcmVvcmRlciB0aGUgZmllbGRzLAotICAgKiBz
byB0aGF0IGZSZXN0T2ZTdGFja0J1ZmZlciAod2hpY2ggaG9sZHMgYSBmZXcgbW9yZSBVQ2hhcnMp
IGltbWVkaWF0ZWx5IGZvbGxvd3MgYWZ0ZXIgZlVuaW9uLAotICAgKiB3aXRoIGF0IG1vc3Qgc29t
ZSBwYWRkaW5nIChidXQgbm8gb3RoZXIgZmllbGQpIGluIGJldHdlZW4uCi0gICAqIChQYWRkaW5n
IHRoZXJlIHdvdWxkIGJlIHdhc3RlZCBzcGFjZSwgYnV0IGZ1bmN0aW9uYWxseSBoYXJtbGVzcy4p
CisgICAqIEhlYXAtYWxsb2NhdGVkIGFuZCBhbGlhc2VkIHN0cmluZ3MgdXNlIGZVbmlvbi5mRmll
bGRzLgorICAgKiBCb3RoIGZTdGFja0ZpZWxkcyBhbmQgZkZpZWxkcyBtdXN0IGJlZ2luIHdpdGgg
dGhlIHNhbWUgZmllbGRzIGZvciBmbGFncyBhbmQgc2hvcnQgbGVuZ3RoLAorICAgKiB0aGF0IGlz
LCB0aG9zZSBtdXN0IGhhdmUgdGhlIHNhbWUgbWVtb3J5IG9mZnNldHMgaW5zaWRlIHRoZSBvYmpl
Y3QsCisgICAqIGJlY2F1c2UgdGhlIGZsYWdzIG11c3QgYmUgaW5zcGVjdGVkIGluIG9yZGVyIHRv
IGRlY2lkZSB3aGljaCBoYWxmIG9mIGZVbmlvbiBpcyBiZWluZyB1c2VkLgorICAgKiBXZSBhc3N1
bWUgdGhhdCB0aGUgY29tcGlsZXIgZG9lcyBub3QgcmVvcmRlciB0aGUgZmllbGRzLgogICAgKgot
ICAgKiBXZSB1c2UgYSBmZXcgbW9yZSBzaXplb2YocG9pbnRlcikncyBjaHVua3Mgb2Ygc3BhY2Ug
d2l0aAotICAgKiBmUmVzdE9mU3RhY2tCdWZmZXIsIGZTaG9ydExlbmd0aCBhbmQgZkZsYWdzLAot
ICAgKiB0byBnZXQgdXAgZXhhY3RseSB0byB0aGUgaW50ZW5kZWQgc2l6ZW9mKFVuaWNvZGVTdHJp
bmcpLgorICAgKiAoUGFkZGluZyBhdCB0aGUgZW5kIG9mIGZGaWVsZHMgaXMgb2s6CisgICAqIEFz
IGxvbmcgYXMgaXQgaXMgbm8gbGFyZ2VyIHRoYW4gZlN0YWNrRmllbGRzLCBpdCBpcyBub3Qgd2Fz
dGVkIHNwYWNlLikKKyAgICoKKyAgICogRm9yIHNvbWUgb2YgdGhlIGhpc3Rvcnkgb2YgdGhlIFVu
aWNvZGVTdHJpbmcgY2xhc3MgZmllbGRzIGxheW91dCwKKyAgICogc2VlIElDVSB0aWNrZXQgIzEx
MzM2ICJVbmljb2RlU3RyaW5nOiByZWNvbWJpbmUgc3RhY2sgYnVmZmVyIGFycmF5cyIKKyAgICog
YW5kIHRpY2tldCAjODMyMiAid2h5IGlzIHNpemVvZihVbmljb2RlU3RyaW5nKT09NDg/Ii4KICAg
ICovCiAgIC8vIChpbXBsaWNpdCkgKnZ0YWJsZTsKICAgdW5pb24gU3RhY2tCdWZmZXJPckZpZWxk
cyB7Ci0gICAgLy8gZlN0YWNrQnVmZmVyIGlzIHVzZWQgaWZmIChmRmxhZ3Mma1VzaW5nU3RhY2tC
dWZmZXIpCi0gICAgLy8gZWxzZSBmRmllbGRzIGlzIHVzZWQKLSAgICBVQ2hhciBmU3RhY2tCdWZm
ZXJbOF07ICAvLyBidWZmZXIgZm9yIHNob3J0IHN0cmluZ3MsIHRvZ2V0aGVyIHdpdGggZlJlc3RP
ZlN0YWNrQnVmZmVyCisgICAgLy8gZlN0YWNrRmllbGRzIGlzIHVzZWQgaWZmIChmTGVuZ3RoQW5k
RmxhZ3Mma1VzaW5nU3RhY2tCdWZmZXIpIGVsc2UgZkZpZWxkcyBpcyB1c2VkLgorICAgIC8vIEVh
Y2ggc3RydWN0IG9mIHRoZSB1bmlvbiBtdXN0IGJlZ2luIHdpdGggZkxlbmd0aEFuZEZsYWdzLgor
ICAgIHN0cnVjdCB7CisgICAgICBpbnQxNl90IGZMZW5ndGhBbmRGbGFnczsgICAgICAgICAgLy8g
Yml0IGZpZWxkczogc2VlIGNvbnN0YW50cyBhYm92ZQorICAgICAgVUNoYXIgZkJ1ZmZlcltVU19T
VEFDS0JVRl9TSVpFXTsgIC8vIGJ1ZmZlciBmb3Igc2hvcnQgc3RyaW5ncworICAgIH0gZlN0YWNr
RmllbGRzOwogICAgIHN0cnVjdCB7CisgICAgICBpbnQxNl90IGZMZW5ndGhBbmRGbGFnczsgICAg
ICAgICAgLy8gYml0IGZpZWxkczogc2VlIGNvbnN0YW50cyBhYm92ZQogICAgICAgVUNoYXIgICAq
ZkFycmF5OyAgICAvLyB0aGUgVW5pY29kZSBkYXRhCiAgICAgICBpbnQzMl90IGZDYXBhY2l0eTsg
IC8vIGNhcGFjaXR5IG9mIGZBcnJheSAoaW4gVUNoYXJzKQogICAgICAgaW50MzJfdCBmTGVuZ3Ro
OyAgICAvLyBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBmQXJyYXkgaWYgPjEyNzsgZWxzZSB1bmRl
ZmluZWQKICAgICB9IGZGaWVsZHM7CiAgIH0gZlVuaW9uOwotICBVQ2hhciBmUmVzdE9mU3RhY2tC
dWZmZXJbVVNfU1RBQ0tCVUZfU0laRS04XTsKLSAgaW50OF90IGZTaG9ydExlbmd0aDsgIC8vIDAu
LjEyNzogbGVuZ3RoICA8MDogcmVhbCBsZW5ndGggaXMgaW4gZlVuaW9uLmZGaWVsZHMuZkxlbmd0
aAotICB1aW50OF90IGZGbGFnczsgICAgICAgLy8gYml0IGZsYWdzOiBzZWUgY29uc3RhbnRzIGFi
b3ZlCiB9OwogCiAvKioKQEAgLTM1OTYsMzMgKzM2MTQsNTEgQEAgVW5pY29kZVN0cmluZzo6cGlu
SW5kaWNlcyhpbnQzMl90JiBzdGFydCwKIH0KIAogaW5saW5lIFVDaGFyKgotVW5pY29kZVN0cmlu
Zzo6Z2V0QXJyYXlTdGFydCgpCi17IHJldHVybiAoZkZsYWdzJmtVc2luZ1N0YWNrQnVmZmVyKSA/
IGZVbmlvbi5mU3RhY2tCdWZmZXIgOiBmVW5pb24uZkZpZWxkcy5mQXJyYXk7IH0KK1VuaWNvZGVT
dHJpbmc6OmdldEFycmF5U3RhcnQoKSB7CisgIHJldHVybiAoZlVuaW9uLmZGaWVsZHMuZkxlbmd0
aEFuZEZsYWdzJmtVc2luZ1N0YWNrQnVmZmVyKSA/CisgICAgZlVuaW9uLmZTdGFja0ZpZWxkcy5m
QnVmZmVyIDogZlVuaW9uLmZGaWVsZHMuZkFycmF5OworfQogCiBpbmxpbmUgY29uc3QgVUNoYXIq
Ci1Vbmljb2RlU3RyaW5nOjpnZXRBcnJheVN0YXJ0KCkgY29uc3QKLXsgcmV0dXJuIChmRmxhZ3Mm
a1VzaW5nU3RhY2tCdWZmZXIpID8gZlVuaW9uLmZTdGFja0J1ZmZlciA6IGZVbmlvbi5mRmllbGRz
LmZBcnJheTsgfQorVW5pY29kZVN0cmluZzo6Z2V0QXJyYXlTdGFydCgpIGNvbnN0IHsKKyAgcmV0
dXJuIChmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3Mma1VzaW5nU3RhY2tCdWZmZXIpID8K
KyAgICBmVW5pb24uZlN0YWNrRmllbGRzLmZCdWZmZXIgOiBmVW5pb24uZkZpZWxkcy5mQXJyYXk7
Cit9CiAKIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLy8gRGVm
YXVsdCBjb25zdHJ1Y3RvcgogLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CiAKIGlubGluZQotVW5pY29kZVN0cmluZzo6VW5pY29kZVN0cmluZygpCi0gIDogZlNob3J0
TGVuZ3RoKDApLAotICAgIGZGbGFncyhrU2hvcnRTdHJpbmcpCi17fQorVW5pY29kZVN0cmluZzo6
VW5pY29kZVN0cmluZygpIHsKKyAgZlVuaW9uLmZTdGFja0ZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3M9
a1Nob3J0U3RyaW5nOworfQogCiAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KIC8vIFJlYWQtb25seSBpbXBsZW1lbnRhdGlvbiBtZXRob2RzCiAvLz09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2lubGluZSBVQm9vbAorVW5pY29kZVN0cmlu
Zzo6aGFzU2hvcnRMZW5ndGgoKSBjb25zdCB7CisgIHJldHVybiBmVW5pb24uZkZpZWxkcy5mTGVu
Z3RoQW5kRmxhZ3M+PTA7Cit9CisKIGlubGluZSBpbnQzMl90Ci1Vbmljb2RlU3RyaW5nOjpsZW5n
dGgoKSBjb25zdAoteyByZXR1cm4gZlNob3J0TGVuZ3RoPj0wID8gZlNob3J0TGVuZ3RoIDogZlVu
aW9uLmZGaWVsZHMuZkxlbmd0aDsgfQorVW5pY29kZVN0cmluZzo6Z2V0U2hvcnRMZW5ndGgoKSBj
b25zdCB7CisgIC8vIGZMZW5ndGhBbmRGbGFncyBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAtPiBzaG9y
dCBsZW5ndGggPj0gMAorICAvLyBhbmQgYXJpdGhtZXRpYyBvciBsb2dpY2FsIHNoaWZ0IGRvZXMg
bm90IG1hdHRlci4KKyAgcmV0dXJuIGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncz4+a0xl
bmd0aFNoaWZ0OworfQorCitpbmxpbmUgaW50MzJfdAorVW5pY29kZVN0cmluZzo6bGVuZ3RoKCkg
Y29uc3QgeworICByZXR1cm4gaGFzU2hvcnRMZW5ndGgoKSA/IGdldFNob3J0TGVuZ3RoKCkgOiBm
VW5pb24uZkZpZWxkcy5mTGVuZ3RoOworfQogCiBpbmxpbmUgaW50MzJfdAotVW5pY29kZVN0cmlu
Zzo6Z2V0Q2FwYWNpdHkoKSBjb25zdAoteyByZXR1cm4gKGZGbGFncyZrVXNpbmdTdGFja0J1ZmZl
cikgPyBVU19TVEFDS0JVRl9TSVpFIDogZlVuaW9uLmZGaWVsZHMuZkNhcGFjaXR5OyB9CitVbmlj
b2RlU3RyaW5nOjpnZXRDYXBhY2l0eSgpIGNvbnN0IHsKKyAgcmV0dXJuIChmVW5pb24uZkZpZWxk
cy5mTGVuZ3RoQW5kRmxhZ3Mma1VzaW5nU3RhY2tCdWZmZXIpID8KKyAgICBVU19TVEFDS0JVRl9T
SVpFIDogZlVuaW9uLmZGaWVsZHMuZkNhcGFjaXR5OworfQogCiBpbmxpbmUgaW50MzJfdAogVW5p
Y29kZVN0cmluZzo6aGFzaENvZGUoKSBjb25zdApAQCAtMzYzMCwyNiArMzY2NiwyNiBAQCBVbmlj
b2RlU3RyaW5nOjpoYXNoQ29kZSgpIGNvbnN0CiAKIGlubGluZSBVQm9vbAogVW5pY29kZVN0cmlu
Zzo6aXNCb2d1cygpIGNvbnN0Ci17IHJldHVybiAoVUJvb2wpKGZGbGFncyAmIGtJc0JvZ3VzKTsg
fQoreyByZXR1cm4gKFVCb29sKShmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MgJiBrSXNC
b2d1cyk7IH0KIAogaW5saW5lIFVCb29sCiBVbmljb2RlU3RyaW5nOjppc1dyaXRhYmxlKCkgY29u
c3QKLXsgcmV0dXJuIChVQm9vbCkhKGZGbGFncyYoa09wZW5HZXRCdWZmZXJ8a0lzQm9ndXMpKTsg
fQoreyByZXR1cm4gKFVCb29sKSEoZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzJihrT3Bl
bkdldEJ1ZmZlcnxrSXNCb2d1cykpOyB9CiAKIGlubGluZSBVQm9vbAogVW5pY29kZVN0cmluZzo6
aXNCdWZmZXJXcml0YWJsZSgpIGNvbnN0CiB7CiAgIHJldHVybiAoVUJvb2wpKAotICAgICAgIShm
RmxhZ3MmKGtPcGVuR2V0QnVmZmVyfGtJc0JvZ3VzfGtCdWZmZXJJc1JlYWRvbmx5KSkgJiYKLSAg
ICAgICghKGZGbGFncyZrUmVmQ291bnRlZCkgfHwgcmVmQ291bnQoKT09MSkpOworICAgICAgIShm
VW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3MmKGtPcGVuR2V0QnVmZmVyfGtJc0JvZ3VzfGtC
dWZmZXJJc1JlYWRvbmx5KSkgJiYKKyAgICAgICghKGZVbmlvbi5mRmllbGRzLmZMZW5ndGhBbmRG
bGFncyZrUmVmQ291bnRlZCkgfHwgcmVmQ291bnQoKT09MSkpOwogfQogCiBpbmxpbmUgY29uc3Qg
VUNoYXIgKgogVW5pY29kZVN0cmluZzo6Z2V0QnVmZmVyKCkgY29uc3QgewotICBpZihmRmxhZ3Mm
KGtJc0JvZ3VzfGtPcGVuR2V0QnVmZmVyKSkgeworICBpZihmVW5pb24uZkZpZWxkcy5mTGVuZ3Ro
QW5kRmxhZ3MmKGtJc0JvZ3VzfGtPcGVuR2V0QnVmZmVyKSkgewogICAgIHJldHVybiAwOwotICB9
IGVsc2UgaWYoZkZsYWdzJmtVc2luZ1N0YWNrQnVmZmVyKSB7Ci0gICAgcmV0dXJuIGZVbmlvbi5m
U3RhY2tCdWZmZXI7CisgIH0gZWxzZSBpZihmVW5pb24uZkZpZWxkcy5mTGVuZ3RoQW5kRmxhZ3Mm
a1VzaW5nU3RhY2tCdWZmZXIpIHsKKyAgICByZXR1cm4gZlVuaW9uLmZTdGFja0ZpZWxkcy5mQnVm
ZmVyOwogICB9IGVsc2UgewogICAgIHJldHVybiBmVW5pb24uZkZpZWxkcy5mQXJyYXk7CiAgIH0K
QEAgLTQyNTAsMjYgKzQyODYsMzggQEAgVW5pY29kZVN0cmluZzo6b3BlcmF0b3JbXSAoaW50MzJf
dCBvZmZzZXQpIGNvbnN0CiAKIGlubGluZSBVQm9vbAogVW5pY29kZVN0cmluZzo6aXNFbXB0eSgp
IGNvbnN0IHsKLSAgcmV0dXJuIGZTaG9ydExlbmd0aCA9PSAwOworICAvLyBBcml0aG1ldGljIG9y
IGxvZ2ljYWwgcmlnaHQgc2hpZnQgZG9lcyBub3QgbWF0dGVyOiBvbmx5IHRlc3RpbmcgZm9yIDAu
CisgIHJldHVybiAoZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzPj5rTGVuZ3RoU2hpZnQp
ID09IDA7CiB9CiAKIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog
Ly8gV3JpdGUgaW1wbGVtZW50YXRpb24gbWV0aG9kcwogLy89PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CiBpbmxpbmUgdm9pZAorVW5pY29kZVN0cmluZzo6c2V0WmVyb0xl
bmd0aCgpIHsKKyAgZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzICY9IGtBbGxTdG9yYWdl
RmxhZ3M7Cit9CisKK2lubGluZSB2b2lkCitVbmljb2RlU3RyaW5nOjpzZXRTaG9ydExlbmd0aChp
bnQzMl90IGxlbikgeworICAvLyByZXF1aXJlcyAwIDw9IGxlbiA8PSBrTWF4U2hvcnRMZW5ndGgK
KyAgZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzID0KKyAgICAoaW50MTZfdCkoKGZVbmlv
bi5mRmllbGRzLmZMZW5ndGhBbmRGbGFncyAmIGtBbGxTdG9yYWdlRmxhZ3MpIHwgKGxlbiA8PCBr
TGVuZ3RoU2hpZnQpKTsKK30KKworaW5saW5lIHZvaWQKIFVuaWNvZGVTdHJpbmc6OnNldExlbmd0
aChpbnQzMl90IGxlbikgewotICBpZihsZW4gPD0gMTI3KSB7Ci0gICAgZlNob3J0TGVuZ3RoID0g
KGludDhfdClsZW47CisgIGlmKGxlbiA8PSBrTWF4U2hvcnRMZW5ndGgpIHsKKyAgICBzZXRTaG9y
dExlbmd0aChsZW4pOwogICB9IGVsc2UgewotICAgIGZTaG9ydExlbmd0aCA9IChpbnQ4X3QpLTE7
CisgICAgZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzIHw9IGtMZW5ndGhJc0xhcmdlOwog
ICAgIGZVbmlvbi5mRmllbGRzLmZMZW5ndGggPSBsZW47CiAgIH0KIH0KIAogaW5saW5lIHZvaWQK
IFVuaWNvZGVTdHJpbmc6OnNldFRvRW1wdHkoKSB7Ci0gIGZTaG9ydExlbmd0aCA9IDA7Ci0gIGZG
bGFncyA9IGtTaG9ydFN0cmluZzsKKyAgZlVuaW9uLmZGaWVsZHMuZkxlbmd0aEFuZEZsYWdzID0g
a1Nob3J0U3RyaW5nOwogfQogCiBpbmxpbmUgdm9pZApAQCAtNDQxNCw3ICs0NDYyLDcgQEAgVW5p
Y29kZVN0cmluZzo6cmVtb3ZlKCkKICAgaWYoaXNCb2d1cygpKSB7CiAgICAgc2V0VG9FbXB0eSgp
OwogICB9IGVsc2UgewotICAgIGZTaG9ydExlbmd0aCA9IDA7CisgICAgc2V0WmVyb0xlbmd0aCgp
OwogICB9CiAgIHJldHVybiAqdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lj
dS91bmljb2RlL3VyZW5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VyZW5hbWUu
aAppbmRleCA2YjFmNDkwOTg3NTA2OWI0ZDlmZWVmZGQ3NDgzZjVhMDNmYzUwNzVmLi4zMTNmMjcx
YWIzMWVhNzE3NTEyZDg0NThhN2VmNTE3MGI2ZTAwZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pY3UvdW5pY29kZS91cmVuYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNv
ZGUvdXJlbmFtZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LSogICBDb3B5cmlnaHQgKEMpIDIwMDItMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwMi0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNz
IE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0xMDQsNyArMTA0LDcgQEAKICNkZWZp
bmUgX1VURjdEYXRhIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShfVVRGN0RhdGEpCiAjZGVmaW5l
IF9VVEY4RGF0YSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoX1VURjhEYXRhKQogI2RlZmluZSBj
bWVtb3J5X2NsZWFudXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKGNtZW1vcnlfY2xlYW51cCkK
LSNkZWZpbmUgY21lbW9yeV9pblVzZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoY21lbW9yeV9p
blVzZSkKKyNkZWZpbmUgZ1RpbWVab25lRmlsZXNJbml0T25jZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUoZ1RpbWVab25lRmlsZXNJbml0T25jZSkKICNkZWZpbmUgaXpydWxlX2Nsb25lIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRShpenJ1bGVfY2xvbmUpCiAjZGVmaW5lIGl6cnVsZV9jbG9zZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUoaXpydWxlX2Nsb3NlKQogI2RlZmluZSBpenJ1bGVfZXF1
YWxzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShpenJ1bGVfZXF1YWxzKQpAQCAtMjAzLDYgKzIw
Myw3IEBACiAjZGVmaW5lIHVfVUNoYXJzVG9DaGFycyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dV9VQ2hhcnNUb0NoYXJzKQogI2RlZmluZSB1X2F1c3RyY3B5IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1X2F1c3RyY3B5KQogI2RlZmluZSB1X2F1c3RybmNweSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodV9hdXN0cm5jcHkpCisjZGVmaW5lIHVfY2FzZUluc2Vuc2l0aXZlUHJlZml4TWF0Y2gg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfY2FzZUluc2Vuc2l0aXZlUHJlZml4TWF0Y2gpCiAj
ZGVmaW5lIHVfY2F0Y2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfY2F0Y2xvc2UpCiAj
ZGVmaW5lIHVfY2F0Z2V0cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9jYXRnZXRzKQogI2Rl
ZmluZSB1X2NhdG9wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfY2F0b3BlbikKQEAgLTIz
OSw2ICsyNDAsNyBAQAogI2RlZmluZSB1X2ZsdXNoRGVmYXVsdENvbnZlcnRlciBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodV9mbHVzaERlZmF1bHRDb252ZXJ0ZXIpCiAjZGVmaW5lIHVfZm9sZENh
c2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9sZENhc2UpCiAjZGVmaW5lIHVfZm9wZW4g
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9wZW4pCisjZGVmaW5lIHVfZm9wZW5fdSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb3Blbl91KQogI2RlZmluZSB1X2ZvckRpZ2l0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1X2ZvckRpZ2l0KQogI2RlZmluZSB1X2Zvcm1hdE1lc3NhZ2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9ybWF0TWVzc2FnZSkKICNkZWZpbmUgdV9mb3Jt
YXRNZXNzYWdlV2l0aEVycm9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2Zvcm1hdE1lc3Nh
Z2VXaXRoRXJyb3IpCkBAIC0yNzAsNiArMjcyLDcgQEAKICNkZWZpbmUgdV9nZXRQcm9wZXJ0eU5h
bWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZ2V0UHJvcGVydHlOYW1lKQogI2RlZmluZSB1
X2dldFByb3BlcnR5VmFsdWVFbnVtIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2dldFByb3Bl
cnR5VmFsdWVFbnVtKQogI2RlZmluZSB1X2dldFByb3BlcnR5VmFsdWVOYW1lIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1X2dldFByb3BlcnR5VmFsdWVOYW1lKQorI2RlZmluZSB1X2dldFRpbWVa
b25lRmlsZXNEaXJlY3RvcnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZ2V0VGltZVpvbmVG
aWxlc0RpcmVjdG9yeSkKICNkZWZpbmUgdV9nZXRVbmljb2RlUHJvcGVydGllcyBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodV9nZXRVbmljb2RlUHJvcGVydGllcykKICNkZWZpbmUgdV9nZXRVbmlj
b2RlVmVyc2lvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRVbmljb2RlVmVyc2lvbikK
ICNkZWZpbmUgdV9nZXRWZXJzaW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2dldFZlcnNp
b24pCkBAIC0zMzEsNiArMzM0LDcgQEAKICNkZWZpbmUgdV9zZXREYXRhRGlyZWN0b3J5IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldERhdGFEaXJlY3RvcnkpCiAjZGVmaW5lIHVfc2V0TWVt
b3J5RnVuY3Rpb25zIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldE1lbW9yeUZ1bmN0aW9u
cykKICNkZWZpbmUgdV9zZXRNdXRleEZ1bmN0aW9ucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dV9zZXRNdXRleEZ1bmN0aW9ucykKKyNkZWZpbmUgdV9zZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldFRpbWVab25lRmlsZXNEaXJlY3RvcnkpCiAj
ZGVmaW5lIHVfc2hhcGVBcmFiaWMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc2hhcGVBcmFi
aWMpCiAjZGVmaW5lIHVfc25wcmludGYgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc25wcmlu
dGYpCiAjZGVmaW5lIHVfc25wcmludGZfdSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9zbnBy
aW50Zl91KQpAQCAtNDEzLDkgKzQxNyw3IEBACiAjZGVmaW5lIHVfdnNwcmludGZfdSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodV92c3ByaW50Zl91KQogI2RlZmluZSB1X3Zzc2NhbmYgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVfdnNzY2FuZikKICNkZWZpbmUgdV92c3NjYW5mX3UgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVfdnNzY2FuZl91KQotI2RlZmluZSB1X3dyaXRlRGlmZiBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodV93cml0ZURpZmYpCiAjZGVmaW5lIHVfd3JpdGVJZGVudGlj
YWxMZXZlbFJ1biBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV93cml0ZUlkZW50aWNhbExldmVs
UnVuKQotI2RlZmluZSB1X3dyaXRlSWRlbnRpY2FsTGV2ZWxSdW5Ud29DaGFycyBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodV93cml0ZUlkZW50aWNhbExldmVsUnVuVHdvQ2hhcnMpCiAjZGVmaW5l
IHViaWRpX2FkZFByb3BlcnR5U3RhcnRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1YmlkaV9h
ZGRQcm9wZXJ0eVN0YXJ0cykKICNkZWZpbmUgdWJpZGlfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHViaWRpX2Nsb3NlKQogI2RlZmluZSB1YmlkaV9jb3VudFBhcmFncmFwaHMgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHViaWRpX2NvdW50UGFyYWdyYXBocykKQEAgLTQ5NCw2ICs0OTYs
OSBAQAogI2RlZmluZSB1YnJrX3NldFRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVicmtf
c2V0VGV4dCkKICNkZWZpbmUgdWJya19zZXRVVGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWJya19zZXRVVGV4dCkKICNkZWZpbmUgdWJya19zd2FwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1YnJrX3N3YXApCisjZGVmaW5lIHVjYWNoZV9jb21wYXJlS2V5cyBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNhY2hlX2NvbXBhcmVLZXlzKQorI2RlZmluZSB1Y2FjaGVfZGVsZXRlS2V5IFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y2FjaGVfZGVsZXRlS2V5KQorI2RlZmluZSB1Y2FjaGVf
aGFzaEtleXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjYWNoZV9oYXNoS2V5cykKICNkZWZp
bmUgdWNhbF9hZGQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjYWxfYWRkKQogI2RlZmluZSB1
Y2FsX2NsZWFyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y2FsX2NsZWFyKQogI2RlZmluZSB1
Y2FsX2NsZWFyRmllbGQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjYWxfY2xlYXJGaWVsZCkK
QEAgLTY5MCw0NyArNjk1LDI5IEBACiAjZGVmaW5lIHVjbnZzZWxfc2VsZWN0Rm9yU3RyaW5nIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y252c2VsX3NlbGVjdEZvclN0cmluZykKICNkZWZpbmUg
dWNudnNlbF9zZWxlY3RGb3JVVEY4IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y252c2VsX3Nl
bGVjdEZvclVURjgpCiAjZGVmaW5lIHVjbnZzZWxfc2VyaWFsaXplIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y252c2VsX3NlcmlhbGl6ZSkKLSNkZWZpbmUgdWNvbF9hbGxvY1dlaWdodHMgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfYWxsb2NXZWlnaHRzKQotI2RlZmluZSB1Y29sX2Fz
c2VtYmxlVGFpbG9yaW5nVGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfYXNzZW1i
bGVUYWlsb3JpbmdUYWJsZSkKLSNkZWZpbmUgdWNvbF9idWlsZFBlcm11dGF0aW9uVGFibGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfYnVpbGRQZXJtdXRhdGlvblRhYmxlKQotI2RlZmlu
ZSB1Y29sX2NhbGNTb3J0S2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2NhbGNTb3J0
S2V5KQotI2RlZmluZSB1Y29sX2NhbGNTb3J0S2V5U2ltcGxlVGVydGlhcnkgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfY2FsY1NvcnRLZXlTaW1wbGVUZXJ0aWFyeSkKICNkZWZpbmUgdWNv
bF9jbG9uZUJpbmFyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jbG9uZUJpbmFyeSkK
ICNkZWZpbmUgdWNvbF9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jbG9zZSkK
ICNkZWZpbmUgdWNvbF9jbG9zZUVsZW1lbnRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2Nsb3NlRWxlbWVudHMpCiAjZGVmaW5lIHVjb2xfY291bnRBdmFpbGFibGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfY291bnRBdmFpbGFibGUpCi0jZGVmaW5lIHVjb2xfY3JlYXRlRWxl
bWVudHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfY3JlYXRlRWxlbWVudHMpCi0jZGVm
aW5lIHVjb2xfZG9DRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9kb0NFKQogI2RlZmlu
ZSB1Y29sX2VxdWFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2VxdWFsKQogI2RlZmlu
ZSB1Y29sX2VxdWFscyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9lcXVhbHMpCi0jZGVm
aW5lIHVjb2xfZmluZFJlb3JkZXJpbmdFbnRyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9maW5kUmVvcmRlcmluZ0VudHJ5KQotI2RlZmluZSB1Y29sX2ZvcmNlSGFuSW1wbGljaXQgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZm9yY2VIYW5JbXBsaWNpdCkKLSNkZWZpbmUgdWNv
bF9mb3JnZXRVQ0EgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZm9yZ2V0VUNBKQotI2Rl
ZmluZSB1Y29sX2ZyZWVPZmZzZXRCdWZmZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
ZnJlZU9mZnNldEJ1ZmZlcikKICNkZWZpbmUgdWNvbF9nZXRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVjb2xfZ2V0QXR0cmlidXRlKQotI2RlZmluZSB1Y29sX2dldEF0dHJpYnV0
ZU9yRGVmYXVsdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRBdHRyaWJ1dGVPckRl
ZmF1bHQpCiAjZGVmaW5lIHVjb2xfZ2V0QXZhaWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2dldEF2YWlsYWJsZSkKICNkZWZpbmUgdWNvbF9nZXRCb3VuZCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9nZXRCb3VuZCkKLSNkZWZpbmUgdWNvbF9nZXRDRVN0cmVuZ3RoRGlm
ZmVyZW5jZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRDRVN0cmVuZ3RoRGlmZmVy
ZW5jZSkKLSNkZWZpbmUgdWNvbF9nZXRDb2xsYXRpb25LZXkgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjb2xfZ2V0Q29sbGF0aW9uS2V5KQogI2RlZmluZSB1Y29sX2dldENvbnRyYWN0aW9ucyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRDb250cmFjdGlvbnMpCiAjZGVmaW5lIHVj
b2xfZ2V0Q29udHJhY3Rpb25zQW5kRXhwYW5zaW9ucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9nZXRDb250cmFjdGlvbnNBbmRFeHBhbnNpb25zKQogI2RlZmluZSB1Y29sX2dldERpc3Bs
YXlOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldERpc3BsYXlOYW1lKQogI2Rl
ZmluZSB1Y29sX2dldEVxdWl2YWxlbnRSZW9yZGVyQ29kZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjb2xfZ2V0RXF1aXZhbGVudFJlb3JkZXJDb2RlcykKLSNkZWZpbmUgdWNvbF9nZXRGaXJz
dENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEZpcnN0Q0UpCiAjZGVmaW5lIHVj
b2xfZ2V0RnVuY3Rpb25hbEVxdWl2YWxlbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
Z2V0RnVuY3Rpb25hbEVxdWl2YWxlbnQpCiAjZGVmaW5lIHVjb2xfZ2V0S2V5d29yZFZhbHVlcyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRLZXl3b3JkVmFsdWVzKQogI2RlZmluZSB1
Y29sX2dldEtleXdvcmRWYWx1ZXNGb3JMb2NhbGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSkKICNkZWZpbmUgdWNvbF9nZXRLZXl3b3JkcyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRLZXl3b3JkcykKLSNkZWZpbmUgdWNvbF9n
ZXRMZWFkQnl0ZXNGb3JSZW9yZGVyQ29kZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9n
ZXRMZWFkQnl0ZXNGb3JSZW9yZGVyQ29kZSkKICNkZWZpbmUgdWNvbF9nZXRMb2NhbGUgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TG9jYWxlKQogI2RlZmluZSB1Y29sX2dldExvY2Fs
ZUJ5VHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRMb2NhbGVCeVR5cGUpCiAj
ZGVmaW5lIHVjb2xfZ2V0TWF4RXhwYW5zaW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2dldE1heEV4cGFuc2lvbikKLSNkZWZpbmUgdWNvbF9nZXROZXh0Q0UgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfZ2V0TmV4dENFKQorI2RlZmluZSB1Y29sX2dldE1heFZhcmlhYmxlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldE1heFZhcmlhYmxlKQogI2RlZmluZSB1Y29s
X2dldE9mZnNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRPZmZzZXQpCi0jZGVm
aW5lIHVjb2xfZ2V0UHJldkNFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFByZXZD
RSkKICNkZWZpbmUgdWNvbF9nZXRSZW9yZGVyQ29kZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfZ2V0UmVvcmRlckNvZGVzKQotI2RlZmluZSB1Y29sX2dldFJlb3JkZXJDb2Rlc0Zvckxl
YWRCeXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFJlb3JkZXJDb2Rlc0Zvckxl
YWRCeXRlKQogI2RlZmluZSB1Y29sX2dldFJ1bGVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX2dldFJ1bGVzKQogI2RlZmluZSB1Y29sX2dldFJ1bGVzRXggVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfZ2V0UnVsZXNFeCkKICNkZWZpbmUgdWNvbF9nZXRTaG9ydERlZmluaXRpb25T
dHJpbmcgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0U2hvcnREZWZpbml0aW9uU3Ry
aW5nKQpAQCAtNzQzLDIwICs3MzAsMTEgQEAKICNkZWZpbmUgdWNvbF9nZXRWZXJzaW9uIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldFZlcnNpb24pCiAjZGVmaW5lIHVjb2xfZ3JlYXRl
ciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9ncmVhdGVyKQogI2RlZmluZSB1Y29sX2dy
ZWF0ZXJPckVxdWFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dyZWF0ZXJPckVxdWFs
KQotI2RlZmluZSB1Y29sX2luaXRCdWZmZXJzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2luaXRCdWZmZXJzKQotI2RlZmluZSB1Y29sX2luaXRDb2xsYXRvciBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9pbml0Q29sbGF0b3IpCi0jZGVmaW5lIHVjb2xfaW5pdEludmVyc2VVQ0Eg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaW5pdEludmVyc2VVQ0EpCi0jZGVmaW5lIHVj
b2xfaW5pdFVDQSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pbml0VUNBKQotI2RlZmlu
ZSB1Y29sX2ludl9nZXROZXh0Q0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaW52X2dl
dE5leHRDRSkKLSNkZWZpbmUgdWNvbF9pbnZfZ2V0UHJldkNFIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX2ludl9nZXRQcmV2Q0UpCi0jZGVmaW5lIHVjb2xfaXNUYWlsb3JlZCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pc1RhaWxvcmVkKQogI2RlZmluZSB1Y29sX2tleUhhc2hD
b2RlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2tleUhhc2hDb2RlKQogI2RlZmluZSB1
Y29sX2xvb2tzTGlrZUNvbGxhdGlvbkJpbmFyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9sb29rc0xpa2VDb2xsYXRpb25CaW5hcnkpCiAjZGVmaW5lIHVjb2xfbWVyZ2VTb3J0a2V5cyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9tZXJnZVNvcnRrZXlzKQogI2RlZmluZSB1Y29s
X25leHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfbmV4dCkKLSNkZWZpbmUgdWNvbF9u
ZXh0UHJvY2Vzc2VkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX25leHRQcm9jZXNzZWQp
CiAjZGVmaW5lIHVjb2xfbmV4dFNvcnRLZXlQYXJ0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX25leHRTb3J0S2V5UGFydCkKLSNkZWZpbmUgdWNvbF9uZXh0V2VpZ2h0IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y29sX25leHRXZWlnaHQpCiAjZGVmaW5lIHVjb2xfbm9ybWFsaXplU2hv
cnREZWZpbml0aW9uU3RyaW5nIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX25vcm1hbGl6
ZVNob3J0RGVmaW5pdGlvblN0cmluZykKICNkZWZpbmUgdWNvbF9vcGVuIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y29sX29wZW4pCiAjZGVmaW5lIHVjb2xfb3BlbkF2YWlsYWJsZUxvY2FsZXMg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlbkF2YWlsYWJsZUxvY2FsZXMpCkBAIC03
NjQsMjMgKzc0MiwxNyBAQAogI2RlZmluZSB1Y29sX29wZW5FbGVtZW50cyBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9vcGVuRWxlbWVudHMpCiAjZGVmaW5lIHVjb2xfb3BlbkZyb21TaG9y
dFN0cmluZyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuRnJvbVNob3J0U3RyaW5n
KQogI2RlZmluZSB1Y29sX29wZW5SdWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9v
cGVuUnVsZXMpCi0jZGVmaW5lIHVjb2xfb3BlblJ1bGVzRm9ySW1wb3J0IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y29sX29wZW5SdWxlc0ZvckltcG9ydCkKLSNkZWZpbmUgdWNvbF9vcGVuX2lu
dGVybmFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX29wZW5faW50ZXJuYWwpCiAjZGVm
aW5lIHVjb2xfcHJlcGFyZVNob3J0U3RyaW5nT3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9wcmVwYXJlU2hvcnRTdHJpbmdPcGVuKQogI2RlZmluZSB1Y29sX3ByZXZpb3VzIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3ByZXZpb3VzKQotI2RlZmluZSB1Y29sX3ByZXZpb3Vz
UHJvY2Vzc2VkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3ByZXZpb3VzUHJvY2Vzc2Vk
KQogI2RlZmluZSB1Y29sX3ByaW1hcnlPcmRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNv
bF9wcmltYXJ5T3JkZXIpCi0jZGVmaW5lIHVjb2xfcHJ2X2dldFNwZWNpYWxDRSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9wcnZfZ2V0U3BlY2lhbENFKQotI2RlZmluZSB1Y29sX3Bydl9n
ZXRTcGVjaWFsUHJldkNFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Bydl9nZXRTcGVj
aWFsUHJldkNFKQogI2RlZmluZSB1Y29sX3Jlc2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX3Jlc2V0KQogI2RlZmluZSB1Y29sX3Jlc3RvcmVWYXJpYWJsZVRvcCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9yZXN0b3JlVmFyaWFibGVUb3ApCiAjZGVmaW5lIHVjb2xfc2FmZUNs
b25lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NhZmVDbG9uZSkKICNkZWZpbmUgdWNv
bF9zZWNvbmRhcnlPcmRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZWNvbmRhcnlP
cmRlcikKICNkZWZpbmUgdWNvbF9zZXRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfc2V0QXR0cmlidXRlKQorI2RlZmluZSB1Y29sX3NldE1heFZhcmlhYmxlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldE1heFZhcmlhYmxlKQogI2RlZmluZSB1Y29sX3NldE9m
ZnNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRPZmZzZXQpCi0jZGVmaW5lIHVj
b2xfc2V0T3B0aW9uc0Zyb21IZWFkZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0
T3B0aW9uc0Zyb21IZWFkZXIpCiAjZGVmaW5lIHVjb2xfc2V0UmVvcmRlckNvZGVzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldFJlb3JkZXJDb2RlcykKLSNkZWZpbmUgdWNvbF9zZXRS
ZXFWYWxpZExvY2FsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0UmVxVmFsaWRM
b2NhbGVzKQogI2RlZmluZSB1Y29sX3NldFN0cmVuZ3RoIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX3NldFN0cmVuZ3RoKQogI2RlZmluZSB1Y29sX3NldFRleHQgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjb2xfc2V0VGV4dCkKICNkZWZpbmUgdWNvbF9zZXRWYXJpYWJsZVRvcCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRWYXJpYWJsZVRvcCkKQEAgLTc4OCwxNiArNzYw
LDggQEAKICNkZWZpbmUgdWNvbF9zdHJjb2xsSXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9zdHJjb2xsSXRlcikKICNkZWZpbmUgdWNvbF9zdHJjb2xsVVRGOCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9zdHJjb2xsVVRGOCkKICNkZWZpbmUgdWNvbF9zd2FwIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N3YXApCi0jZGVmaW5lIHVjb2xfc3dhcEJpbmFyeSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zd2FwQmluYXJ5KQogI2RlZmluZSB1Y29sX3N3YXBJ
bnZlcnNlVUNBIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N3YXBJbnZlcnNlVUNBKQog
I2RlZmluZSB1Y29sX3RlcnRpYXJ5T3JkZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
dGVydGlhcnlPcmRlcikKLSNkZWZpbmUgdWNvbF90b2tfYXNzZW1ibGVUb2tlbkxpc3QgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9rX2Fzc2VtYmxlVG9rZW5MaXN0KQotI2RlZmluZSB1
Y29sX3Rva19jbG9zZVRva2VuTGlzdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tf
Y2xvc2VUb2tlbkxpc3QpCi0jZGVmaW5lIHVjb2xfdG9rX2dldE5leHRBcmd1bWVudCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tfZ2V0TmV4dEFyZ3VtZW50KQotI2RlZmluZSB1Y29s
X3Rva19nZXRSdWxlc0Zyb21CdW5kbGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9r
X2dldFJ1bGVzRnJvbUJ1bmRsZSkKLSNkZWZpbmUgdWNvbF90b2tfaW5pdFRva2VuTGlzdCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tfaW5pdFRva2VuTGlzdCkKLSNkZWZpbmUgdWNv
bF90b2tfcGFyc2VOZXh0VG9rZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfdG9rX3Bh
cnNlTmV4dFRva2VuKQotI2RlZmluZSB1Y29sX3VwZGF0ZUludGVybmFsU3RhdGUgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfdXBkYXRlSW50ZXJuYWxTdGF0ZSkKICNkZWZpbmUgdWNzZGV0
X2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3NkZXRfY2xvc2UpCiAjZGVmaW5lIHVj
c2RldF9kZXRlY3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjc2RldF9kZXRlY3QpCiAjZGVm
aW5lIHVjc2RldF9kZXRlY3RBbGwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjc2RldF9kZXRl
Y3RBbGwpCkBAIC04MTcsMTUgKzc4MSwxOSBAQAogI2RlZmluZSB1Y3Vycl9mb3JMb2NhbGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2ZvckxvY2FsZSkKICNkZWZpbmUgdWN1cnJfZm9y
TG9jYWxlQW5kRGF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZm9yTG9jYWxlQW5k
RGF0ZSkKICNkZWZpbmUgdWN1cnJfZ2V0RGVmYXVsdEZyYWN0aW9uRGlnaXRzIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHMpCisjZGVmaW5lIHVj
dXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0c0ZvclVzYWdlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHNGb3JVc2FnZSkKICNkZWZpbmUgdWN1
cnJfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1
cnJfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSkKICNkZWZpbmUgdWN1cnJfZ2V0TmFtZSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0TmFtZSkKICNkZWZpbmUgdWN1cnJfZ2V0TnVt
ZXJpY0NvZGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldE51bWVyaWNDb2RlKQog
I2RlZmluZSB1Y3Vycl9nZXRQbHVyYWxOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vy
cl9nZXRQbHVyYWxOYW1lKQogI2RlZmluZSB1Y3Vycl9nZXRSb3VuZGluZ0luY3JlbWVudCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnQpCisjZGVmaW5l
IHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50Rm9yVXNhZ2UpCiAjZGVmaW5lIHVjdXJyX2lz
QXZhaWxhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9pc0F2YWlsYWJsZSkKICNk
ZWZpbmUgdWN1cnJfb3BlbklTT0N1cnJlbmNpZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
dXJyX29wZW5JU09DdXJyZW5jaWVzKQogI2RlZmluZSB1Y3Vycl9yZWdpc3RlciBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWN1cnJfcmVnaXN0ZXIpCiAjZGVmaW5lIHVjdXJyX3VucmVnaXN0ZXIg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX3VucmVnaXN0ZXIpCisjZGVmaW5lIHVkYXRf
YWRvcHROdW1iZXJGb3JtYXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfYWRvcHROdW1i
ZXJGb3JtYXQpCisjZGVmaW5lIHVkYXRfYWRvcHROdW1iZXJGb3JtYXRGb3JGaWVsZHMgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfYWRvcHROdW1iZXJGb3JtYXRGb3JGaWVsZHMpCiAjZGVm
aW5lIHVkYXRfYXBwbHlQYXR0ZXJuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2FwcGx5
UGF0dGVybikKICNkZWZpbmUgdWRhdF9hcHBseVBhdHRlcm5SZWxhdGl2ZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWRhdF9hcHBseVBhdHRlcm5SZWxhdGl2ZSkKICNkZWZpbmUgdWRhdF9jbG9u
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9jbG9uZSkKQEAgLTgzMywxMiArODAxLDE3
IEBACiAjZGVmaW5lIHVkYXRfY291bnRBdmFpbGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVkYXRfY291bnRBdmFpbGFibGUpCiAjZGVmaW5lIHVkYXRfY291bnRTeW1ib2xzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2NvdW50U3ltYm9scykKICNkZWZpbmUgdWRhdF9mb3JtYXQg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZm9ybWF0KQorI2RlZmluZSB1ZGF0X2Zvcm1h
dENhbGVuZGFyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2Zvcm1hdENhbGVuZGFyKQor
I2RlZmluZSB1ZGF0X2Zvcm1hdENhbGVuZGFyRm9yRmllbGRzIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1ZGF0X2Zvcm1hdENhbGVuZGFyRm9yRmllbGRzKQorI2RlZmluZSB1ZGF0X2Zvcm1hdEZv
ckZpZWxkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9mb3JtYXRGb3JGaWVsZHMpCiAj
ZGVmaW5lIHVkYXRfZ2V0MkRpZ2l0WWVhclN0YXJ0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
ZGF0X2dldDJEaWdpdFllYXJTdGFydCkKICNkZWZpbmUgdWRhdF9nZXRBdmFpbGFibGUgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0QXZhaWxhYmxlKQorI2RlZmluZSB1ZGF0X2dldEJv
b2xlYW5BdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0Qm9vbGVhbkF0
dHJpYnV0ZSkKICNkZWZpbmUgdWRhdF9nZXRDYWxlbmRhciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWRhdF9nZXRDYWxlbmRhcikKICNkZWZpbmUgdWRhdF9nZXRDb250ZXh0IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1ZGF0X2dldENvbnRleHQpCiAjZGVmaW5lIHVkYXRfZ2V0TG9jYWxlQnlU
eXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldExvY2FsZUJ5VHlwZSkKICNkZWZp
bmUgdWRhdF9nZXROdW1iZXJGb3JtYXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0
TnVtYmVyRm9ybWF0KQorI2RlZmluZSB1ZGF0X2dldE51bWJlckZvcm1hdEZvckZpZWxkIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldE51bWJlckZvcm1hdEZvckZpZWxkKQogI2RlZmlu
ZSB1ZGF0X2dldFN5bWJvbHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0U3ltYm9s
cykKICNkZWZpbmUgdWRhdF9pc0xlbmllbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRf
aXNMZW5pZW50KQogI2RlZmluZSB1ZGF0X29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVk
YXRfb3BlbikKQEAgLTg0Niw2ICs4MTksNyBAQAogI2RlZmluZSB1ZGF0X3BhcnNlQ2FsZW5kYXIg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfcGFyc2VDYWxlbmRhcikKICNkZWZpbmUgdWRh
dF9yZWdpc3Rlck9wZW5lciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9yZWdpc3Rlck9w
ZW5lcikKICNkZWZpbmUgdWRhdF9zZXQyRGlnaXRZZWFyU3RhcnQgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVkYXRfc2V0MkRpZ2l0WWVhclN0YXJ0KQorI2RlZmluZSB1ZGF0X3NldEJvb2xlYW5B
dHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfc2V0Qm9vbGVhbkF0dHJpYnV0
ZSkKICNkZWZpbmUgdWRhdF9zZXRDYWxlbmRhciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRh
dF9zZXRDYWxlbmRhcikKICNkZWZpbmUgdWRhdF9zZXRDb250ZXh0IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1ZGF0X3NldENvbnRleHQpCiAjZGVmaW5lIHVkYXRfc2V0TGVuaWVudCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWRhdF9zZXRMZW5pZW50KQpAQCAtOTEzLDYgKzg4Nyw5IEBACiAj
ZGVmaW5lIHVlbnVtX3Jlc2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZW51bV9yZXNldCkK
ICNkZWZpbmUgdWVudW1fdW5leHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVlbnVtX3VuZXh0
KQogI2RlZmluZSB1ZW51bV91bmV4dERlZmF1bHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVl
bnVtX3VuZXh0RGVmYXVsdCkKKyNkZWZpbmUgdWZpZWxkcG9zaXRlcl9jbG9zZSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWZpZWxkcG9zaXRlcl9jbG9zZSkKKyNkZWZpbmUgdWZpZWxkcG9zaXRl
cl9uZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZmllbGRwb3NpdGVyX25leHQpCisjZGVm
aW5lIHVmaWVsZHBvc2l0ZXJfb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWZpZWxkcG9z
aXRlcl9vcGVuKQogI2RlZmluZSB1ZmlsZV9jbG9zZV90cmFuc2xpdCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWZpbGVfY2xvc2VfdHJhbnNsaXQpCiAjZGVmaW5lIHVmaWxlX2ZpbGxfdWNoYXJf
YnVmZmVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZmlsZV9maWxsX3VjaGFyX2J1ZmZlcikK
ICNkZWZpbmUgdWZpbGVfZmx1c2hfaW8gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWxlX2Zs
dXNoX2lvKQpAQCAtMTAzOCw2ICsxMDE1LDkgQEAKICNkZWZpbmUgdWxpc3RfbmV4dF9rZXl3b3Jk
X3ZhbHVlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlzdF9uZXh0X2tleXdvcmRfdmFsdWUp
CiAjZGVmaW5lIHVsaXN0X3Jlc2V0TGlzdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3Rf
cmVzZXRMaXN0KQogI2RlZmluZSB1bGlzdF9yZXNldF9rZXl3b3JkX3ZhbHVlc19pdGVyYXRvciBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3RfcmVzZXRfa2V5d29yZF92YWx1ZXNfaXRlcmF0
b3IpCisjZGVmaW5lIHVsaXN0Zm10X2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlz
dGZtdF9jbG9zZSkKKyNkZWZpbmUgdWxpc3RmbXRfZm9ybWF0IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1bGlzdGZtdF9mb3JtYXQpCisjZGVmaW5lIHVsaXN0Zm10X29wZW4gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVsaXN0Zm10X29wZW4pCiAjZGVmaW5lIHVsb2NfYWNjZXB0TGFuZ3VhZ2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfYWNjZXB0TGFuZ3VhZ2UpCiAjZGVmaW5lIHVs
b2NfYWNjZXB0TGFuZ3VhZ2VGcm9tSFRUUCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19h
Y2NlcHRMYW5ndWFnZUZyb21IVFRQKQogI2RlZmluZSB1bG9jX2FkZExpa2VseVN1YnRhZ3MgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfYWRkTGlrZWx5U3VidGFncykKQEAgLTEwNzMsMTIg
KzEwNTMsMTcgQEAKICNkZWZpbmUgdWxvY19nZXRTY3JpcHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVsb2NfZ2V0U2NyaXB0KQogI2RlZmluZSB1bG9jX2dldFRhYmxlU3RyaW5nV2l0aEZhbGxi
YWNrIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX2dldFRhYmxlU3RyaW5nV2l0aEZhbGxi
YWNrKQogI2RlZmluZSB1bG9jX2dldFZhcmlhbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVs
b2NfZ2V0VmFyaWFudCkKKyNkZWZpbmUgdWxvY19pc1JpZ2h0VG9MZWZ0IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1bG9jX2lzUmlnaHRUb0xlZnQpCiAjZGVmaW5lIHVsb2NfbWluaW1pemVTdWJ0
YWdzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX21pbmltaXplU3VidGFncykKICNkZWZp
bmUgdWxvY19vcGVuS2V5d29yZExpc3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2Nfb3Bl
bktleXdvcmRMaXN0KQogI2RlZmluZSB1bG9jX29wZW5LZXl3b3JkcyBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWxvY19vcGVuS2V5d29yZHMpCiAjZGVmaW5lIHVsb2Nfc2V0RGVmYXVsdCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19zZXREZWZhdWx0KQogI2RlZmluZSB1bG9jX3NldEtl
eXdvcmRWYWx1ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19zZXRLZXl3b3JkVmFsdWUp
CiAjZGVmaW5lIHVsb2NfdG9MYW5ndWFnZVRhZyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxv
Y190b0xhbmd1YWdlVGFnKQorI2RlZmluZSB1bG9jX3RvTGVnYWN5S2V5IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1bG9jX3RvTGVnYWN5S2V5KQorI2RlZmluZSB1bG9jX3RvTGVnYWN5VHlwZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY190b0xlZ2FjeVR5cGUpCisjZGVmaW5lIHVsb2Nf
dG9Vbmljb2RlTG9jYWxlS2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX3RvVW5pY29k
ZUxvY2FsZUtleSkKKyNkZWZpbmUgdWxvY190b1VuaWNvZGVMb2NhbGVUeXBlIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bG9jX3RvVW5pY29kZUxvY2FsZVR5cGUpCiAjZGVmaW5lIHVsb2NkYXRh
X2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jZGF0YV9jbG9zZSkKICNkZWZpbmUg
dWxvY2RhdGFfZ2V0Q0xEUlZlcnNpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NkYXRh
X2dldENMRFJWZXJzaW9uKQogI2RlZmluZSB1bG9jZGF0YV9nZXREZWxpbWl0ZXIgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVsb2NkYXRhX2dldERlbGltaXRlcikKQEAgLTEwOTMsNiArMTA3OCwx
MiBAQAogI2RlZmluZSB1bG9jaW1wX2dldENvdW50cnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVsb2NpbXBfZ2V0Q291bnRyeSkKICNkZWZpbmUgdWxvY2ltcF9nZXRMYW5ndWFnZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF9nZXRMYW5ndWFnZSkKICNkZWZpbmUgdWxvY2ltcF9n
ZXRTY3JpcHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBfZ2V0U2NyaXB0KQorI2Rl
ZmluZSB1bG9jaW1wX3RvQmNwS2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1wX3Rv
QmNwS2V5KQorI2RlZmluZSB1bG9jaW1wX3RvQmNwVHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWxvY2ltcF90b0JjcFR5cGUpCisjZGVmaW5lIHVsb2NpbXBfdG9MZWdhY3lLZXkgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVsb2NpbXBfdG9MZWdhY3lLZXkpCisjZGVmaW5lIHVsb2NpbXBf
dG9MZWdhY3lUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1wX3RvTGVnYWN5VHlw
ZSkKKyNkZWZpbmUgdWx0YWdfaXNVbmljb2RlTG9jYWxlS2V5IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1bHRhZ19pc1VuaWNvZGVMb2NhbGVLZXkpCisjZGVmaW5lIHVsdGFnX2lzVW5pY29kZUxv
Y2FsZVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsdGFnX2lzVW5pY29kZUxvY2FsZVR5
cGUpCiAjZGVmaW5lIHVtc2dfYXBwbHlQYXR0ZXJuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bXNnX2FwcGx5UGF0dGVybikKICNkZWZpbmUgdW1zZ19hdXRvUXVvdGVBcG9zdHJvcGhlIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX2F1dG9RdW90ZUFwb3N0cm9waGUpCiAjZGVmaW5lIHVt
c2dfY2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfY2xvbmUpCkBAIC0xMTA1LDYg
KzEwOTYsOSBAQAogI2RlZmluZSB1bXNnX3RvUGF0dGVybiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodW1zZ190b1BhdHRlcm4pCiAjZGVmaW5lIHVtc2dfdmZvcm1hdCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodW1zZ192Zm9ybWF0KQogI2RlZmluZSB1bXNnX3ZwYXJzZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodW1zZ192cGFyc2UpCisjZGVmaW5lIHVtdHhfY29uZEJyb2FkY2FzdCBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodW10eF9jb25kQnJvYWRjYXN0KQorI2RlZmluZSB1bXR4X2Nv
bmRTaWduYWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtdHhfY29uZFNpZ25hbCkKKyNkZWZp
bmUgdW10eF9jb25kV2FpdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW10eF9jb25kV2FpdCkK
ICNkZWZpbmUgdW10eF9sb2NrIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXR4X2xvY2spCiAj
ZGVmaW5lIHVtdHhfdW5sb2NrIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXR4X3VubG9jaykK
ICNkZWZpbmUgdW5pc2V0X2dldFVuaWNvZGUzMkluc3RhbmNlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1bmlzZXRfZ2V0VW5pY29kZTMySW5zdGFuY2UpCkBAIC0xMTMwLDcgKzExMjQsNiBAQAog
I2RlZmluZSB1bm9ybTJfcXVpY2tDaGVjayBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm0y
X3F1aWNrQ2hlY2spCiAjZGVmaW5lIHVub3JtMl9zcGFuUXVpY2tDaGVja1llcyBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodW5vcm0yX3NwYW5RdWlja0NoZWNrWWVzKQogI2RlZmluZSB1bm9ybTJf
c3dhcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm0yX3N3YXApCi0jZGVmaW5lIHVub3Jt
X2Nsb3NlSXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fY2xvc2VJdGVyKQogI2Rl
ZmluZSB1bm9ybV9jb21wYXJlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9jb21wYXJl
KQogI2RlZmluZSB1bm9ybV9jb25jYXRlbmF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5v
cm1fY29uY2F0ZW5hdGUpCiAjZGVmaW5lIHVub3JtX2dldEZDRDE2IFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1bm9ybV9nZXRGQ0QxNikKQEAgLTExMzksMTEgKzExMzIsOSBAQAogI2RlZmluZSB1
bm9ybV9pc05vcm1hbGl6ZWRXaXRoT3B0aW9ucyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5v
cm1faXNOb3JtYWxpemVkV2l0aE9wdGlvbnMpCiAjZGVmaW5lIHVub3JtX25leHQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVub3JtX25leHQpCiAjZGVmaW5lIHVub3JtX25vcm1hbGl6ZSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fbm9ybWFsaXplKQotI2RlZmluZSB1bm9ybV9vcGVu
SXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fb3Blbkl0ZXIpCiAjZGVmaW5lIHVu
b3JtX3ByZXZpb3VzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9wcmV2aW91cykKICNk
ZWZpbmUgdW5vcm1fcXVpY2tDaGVjayBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fcXVp
Y2tDaGVjaykKICNkZWZpbmUgdW5vcm1fcXVpY2tDaGVja1dpdGhPcHRpb25zIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bm9ybV9xdWlja0NoZWNrV2l0aE9wdGlvbnMpCi0jZGVmaW5lIHVub3Jt
X3NldEl0ZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX3NldEl0ZXIpCiAjZGVmaW5l
IHVudW1fYXBwbHlQYXR0ZXJuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2FwcGx5UGF0
dGVybikKICNkZWZpbmUgdW51bV9jbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9j
bG9uZSkKICNkZWZpbmUgdW51bV9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9j
bG9zZSkKQEAgLTExNTYsNiArMTE0Nyw3IEBACiAjZGVmaW5lIHVudW1fZm9ybWF0VUZvcm1hdHRh
YmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2Zvcm1hdFVGb3JtYXR0YWJsZSkKICNk
ZWZpbmUgdW51bV9nZXRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0
QXR0cmlidXRlKQogI2RlZmluZSB1bnVtX2dldEF2YWlsYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodW51bV9nZXRBdmFpbGFibGUpCisjZGVmaW5lIHVudW1fZ2V0Q29udGV4dCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXRDb250ZXh0KQogI2RlZmluZSB1bnVtX2dldERvdWJs
ZUF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXREb3VibGVBdHRyaWJ1
dGUpCiAjZGVmaW5lIHVudW1fZ2V0TG9jYWxlQnlUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1bnVtX2dldExvY2FsZUJ5VHlwZSkKICNkZWZpbmUgdW51bV9nZXRTeW1ib2wgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0U3ltYm9sKQpAQCAtMTE2OCw2ICsxMTYwLDcgQEAKICNk
ZWZpbmUgdW51bV9wYXJzZUludDY0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3BhcnNl
SW50NjQpCiAjZGVmaW5lIHVudW1fcGFyc2VUb1VGb3JtYXR0YWJsZSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodW51bV9wYXJzZVRvVUZvcm1hdHRhYmxlKQogI2RlZmluZSB1bnVtX3NldEF0dHJp
YnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9zZXRBdHRyaWJ1dGUpCisjZGVmaW5l
IHVudW1fc2V0Q29udGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9zZXRDb250ZXh0
KQogI2RlZmluZSB1bnVtX3NldERvdWJsZUF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodW51bV9zZXREb3VibGVBdHRyaWJ1dGUpCiAjZGVmaW5lIHVudW1fc2V0U3ltYm9sIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3NldFN5bWJvbCkKICNkZWZpbmUgdW51bV9zZXRUZXh0
QXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3NldFRleHRBdHRyaWJ1dGUp
CkBAIC0xMjE0LDIwICsxMjA3LDYgQEAKICNkZWZpbmUgdXBydl9hc2NpaXRvbG93ZXIgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfYXNjaWl0b2xvd2VyKQogI2RlZmluZSB1cHJ2X2NhbGxv
YyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jYWxsb2MpCiAjZGVmaW5lIHVwcnZfY2Vp
bCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jZWlsKQotI2RlZmluZSB1cHJ2X2NudHRh
Yl9hZGRDb250cmFjdGlvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfYWRk
Q29udHJhY3Rpb24pCi0jZGVmaW5lIHVwcnZfY250dGFiX2NoYW5nZUNvbnRyYWN0aW9uIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jaGFuZ2VDb250cmFjdGlvbikKLSNkZWZp
bmUgdXBydl9jbnR0YWJfY2hhbmdlTGFzdENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2
X2NudHRhYl9jaGFuZ2VMYXN0Q0UpCi0jZGVmaW5lIHVwcnZfY250dGFiX2Nsb25lIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jbG9uZSkKLSNkZWZpbmUgdXBydl9jbnR0YWJf
Y2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2Nsb3NlKQotI2RlZmlu
ZSB1cHJ2X2NudHRhYl9jb25zdHJ1Y3RUYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBy
dl9jbnR0YWJfY29uc3RydWN0VGFibGUpCi0jZGVmaW5lIHVwcnZfY250dGFiX2ZpbmRDRSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfZmluZENFKQotI2RlZmluZSB1cHJ2X2Nu
dHRhYl9maW5kQ1AgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2ZpbmRDUCkK
LSNkZWZpbmUgdXBydl9jbnR0YWJfZ2V0Q0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZf
Y250dGFiX2dldENFKQotI2RlZmluZSB1cHJ2X2NudHRhYl9pbnNlcnRDb250cmFjdGlvbiBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfaW5zZXJ0Q29udHJhY3Rpb24pCi0jZGVm
aW5lIHVwcnZfY250dGFiX2lzVGFpbG9yZWQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZf
Y250dGFiX2lzVGFpbG9yZWQpCi0jZGVmaW5lIHVwcnZfY250dGFiX29wZW4gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX29wZW4pCi0jZGVmaW5lIHVwcnZfY250dGFiX3NldENv
bnRyYWN0aW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9zZXRDb250cmFj
dGlvbikKLSNkZWZpbmUgdXBydl9jb2xsSXRlcmF0ZUF0RW5kIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X2NvbGxJdGVyYXRlQXRFbmQpCiAjZGVmaW5lIHVwcnZfY29tcGFyZUFTQ0lJUHJv
cGVydHlOYW1lcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jb21wYXJlQVNDSUlQcm9w
ZXJ0eU5hbWVzKQogI2RlZmluZSB1cHJ2X2NvbXBhcmVFQkNESUNQcm9wZXJ0eU5hbWVzIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NvbXBhcmVFQkNESUNQcm9wZXJ0eU5hbWVzKQogI2Rl
ZmluZSB1cHJ2X2NvbXBhcmVJbnZBc2NpaSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9j
b21wYXJlSW52QXNjaWkpCkBAIC0xMzE0LDggKzEyOTMsOCBAQAogI2RlZmluZSB1cHJ2X2RlY051
bWJlclZlcnNpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVjTnVtYmVyVmVyc2lv
bikKICNkZWZpbmUgdXBydl9kZWNOdW1iZXJYb3IgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVw
cnZfZGVjTnVtYmVyWG9yKQogI2RlZmluZSB1cHJ2X2RlY051bWJlclplcm8gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfZGVjTnVtYmVyWmVybykKKyNkZWZpbmUgdXBydl9kZWxldGVDb25k
aXRpb25hbENFMzIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVsZXRlQ29uZGl0aW9u
YWxDRTMyKQogI2RlZmluZSB1cHJ2X2RlbGV0ZVVPYmplY3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVwcnZfZGVsZXRlVU9iamVjdCkKLSNkZWZpbmUgdXBydl9kZWxldGVfY29sbEl0ZXJhdGUg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGVsZXRlX2NvbGxJdGVyYXRlKQogI2RlZmlu
ZSB1cHJ2X2RsX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2RsX2Nsb3NlKQog
I2RlZmluZSB1cHJ2X2RsX29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfZGxfb3Bl
bikKICNkZWZpbmUgdXBydl9kbHN5bV9mdW5jIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2
X2Rsc3ltX2Z1bmMpCkBAIC0xMzQwLDggKzEzMTksNiBAQAogI2RlZmluZSB1cHJ2X2dldFN0YXRp
Y0N1cnJlbmN5TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9nZXRTdGF0aWNDdXJy
ZW5jeU5hbWUpCiAjZGVmaW5lIHVwcnZfZ2V0VVRDdGltZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXBydl9nZXRVVEN0aW1lKQogI2RlZmluZSB1cHJ2X2hhdmVQcm9wZXJ0aWVzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2hhdmVQcm9wZXJ0aWVzKQotI2RlZmluZSB1cHJ2X2luaXRf
Y29sbEl0ZXJhdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaW5pdF9jb2xsSXRlcmF0
ZSkKLSNkZWZpbmUgdXBydl9pbml0X3BjZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9p
bml0X3BjZSkKICNkZWZpbmUgdXBydl9pbnQzMkNvbXBhcmF0b3IgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVwcnZfaW50MzJDb21wYXJhdG9yKQogI2RlZmluZSB1cHJ2X2lzQVNDSUlMZXR0ZXIg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaXNBU0NJSUxldHRlcikKICNkZWZpbmUgdXBy
dl9pc0luZmluaXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2lzSW5maW5pdGUpCkBA
IC0xMzU5LDcgKzEzMzYsNiBAQAogI2RlZmluZSB1cHJ2X21heGltdW1QdHIgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfbWF4aW11bVB0cikKICNkZWZpbmUgdXBydl9taW4gVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfbWluKQogI2RlZmluZSB1cHJ2X21vZGYgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVwcnZfbW9kZikKLSNkZWZpbmUgdXBydl9uZXdfY29sbEl0ZXJhdGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfbmV3X2NvbGxJdGVyYXRlKQogI2RlZmluZSB1cHJ2
X3BhcnNlQ3VycmVuY3kgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfcGFyc2VDdXJyZW5j
eSkKICNkZWZpbmUgdXBydl9wYXRoSXNBYnNvbHV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9wYXRoSXNBYnNvbHV0ZSkKICNkZWZpbmUgdXBydl9wb3cgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVwcnZfcG93KQpAQCAtMTM3OSwxNiArMTM1NSw2IEBACiAjZGVmaW5lIHVwcnZfdHJ1
bmMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdHJ1bmMpCiAjZGVmaW5lIHVwcnZfdHpu
YW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3R6bmFtZSkKICNkZWZpbmUgdXBydl90
enNldCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl90enNldCkKLSNkZWZpbmUgdXBydl91
Y2FfYWRkQW5FbGVtZW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9hZGRBbkVs
ZW1lbnQpCi0jZGVmaW5lIHVwcnZfdWNhX2Fzc2VtYmxlVGFibGUgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVwcnZfdWNhX2Fzc2VtYmxlVGFibGUpCi0jZGVmaW5lIHVwcnZfdWNhX2Nhbm9uaWNh
bENsb3N1cmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNhX2Nhbm9uaWNhbENsb3N1
cmUpCi0jZGVmaW5lIHVwcnZfdWNhX2Nsb3NlVGVtcFRhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X3VjYV9jbG9zZVRlbXBUYWJsZSkKLSNkZWZpbmUgdXBydl91Y2FfZ2V0Q29kZVBv
aW50RnJvbVJhdyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfZ2V0Q29kZVBvaW50
RnJvbVJhdykKLSNkZWZpbmUgdXBydl91Y2FfZ2V0SW1wbGljaXRGcm9tUmF3IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9nZXRJbXBsaWNpdEZyb21SYXcpCi0jZGVmaW5lIHVwcnZf
dWNhX2dldFJhd0Zyb21Db2RlUG9pbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNh
X2dldFJhd0Zyb21Db2RlUG9pbnQpCi0jZGVmaW5lIHVwcnZfdWNhX2dldFJhd0Zyb21JbXBsaWNp
dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfZ2V0UmF3RnJvbUltcGxpY2l0KQot
I2RlZmluZSB1cHJ2X3VjYV9pbml0SW1wbGljaXRDb25zdGFudHMgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVwcnZfdWNhX2luaXRJbXBsaWNpdENvbnN0YW50cykKLSNkZWZpbmUgdXBydl91Y2Ff
aW5pdFRlbXBUYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfaW5pdFRlbXBU
YWJsZSkKICNkZWZpbmUgdXBydl91aW50MTZDb21wYXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X3VpbnQxNkNvbXBhcmF0b3IpCiAjZGVmaW5lIHVwcnZfdWludDMyQ29tcGFyYXRv
ciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91aW50MzJDb21wYXJhdG9yKQogI2RlZmlu
ZSB1cHJ2X3VubWFwRmlsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91bm1hcEZpbGUp
CkBAIC0xNDIyLDggKzEzODgsOSBAQAogI2RlZmluZSB1cmVnZXhfZ2V0VVRleHQgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVyZWdleF9nZXRVVGV4dCkKICNkZWZpbmUgdXJlZ2V4X2dyb3VwIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXApCiAjZGVmaW5lIHVyZWdleF9ncm91
cENvdW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXBDb3VudCkKKyNkZWZp
bmUgdXJlZ2V4X2dyb3VwTnVtYmVyRnJvbUNOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cmVnZXhfZ3JvdXBOdW1iZXJGcm9tQ05hbWUpCisjZGVmaW5lIHVyZWdleF9ncm91cE51bWJlckZy
b21OYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfZ3JvdXBOdW1iZXJGcm9tTmFt
ZSkKICNkZWZpbmUgdXJlZ2V4X2dyb3VwVVRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVy
ZWdleF9ncm91cFVUZXh0KQotI2RlZmluZSB1cmVnZXhfZ3JvdXBVVGV4dERlZXAgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVyZWdleF9ncm91cFVUZXh0RGVlcCkKICNkZWZpbmUgdXJlZ2V4X2hh
c0FuY2hvcmluZ0JvdW5kcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2hhc0FuY2hv
cmluZ0JvdW5kcykKICNkZWZpbmUgdXJlZ2V4X2hhc1RyYW5zcGFyZW50Qm91bmRzIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cmVnZXhfaGFzVHJhbnNwYXJlbnRCb3VuZHMpCiAjZGVmaW5lIHVy
ZWdleF9oaXRFbmQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9oaXRFbmQpCkBAIC0x
NTE4LDYgKzE0ODUsNyBAQAogI2RlZmluZSB1cmVzX29wZW5BdmFpbGFibGVMb2NhbGVzIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX29wZW5BdmFpbGFibGVMb2NhbGVzKQogI2RlZmluZSB1
cmVzX29wZW5EaXJlY3QgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfb3BlbkRpcmVjdCkK
ICNkZWZpbmUgdXJlc19vcGVuRmlsbEluIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX29w
ZW5GaWxsSW4pCisjZGVmaW5lIHVyZXNfb3Blbk5vRGVmYXVsdCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodXJlc19vcGVuTm9EZWZhdWx0KQogI2RlZmluZSB1cmVzX29wZW5VIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cmVzX29wZW5VKQogI2RlZmluZSB1cmVzX3Jlc2V0SXRlcmF0b3IgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfcmVzZXRJdGVyYXRvcikKICNkZWZpbmUgdXJlc19z
d2FwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX3N3YXApCkBAIC0xNzIyLDYgKzE2OTAs
NyBAQAogI2RlZmluZSB1dHJhbnNfY291bnRBdmFpbGFibGVJRHMgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHV0cmFuc19jb3VudEF2YWlsYWJsZUlEcykKICNkZWZpbmUgdXRyYW5zX2dldEF2YWls
YWJsZUlEIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfZ2V0QXZhaWxhYmxlSUQpCiAj
ZGVmaW5lIHV0cmFuc19nZXRJRCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX2dldElE
KQorI2RlZmluZSB1dHJhbnNfZ2V0U291cmNlU2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
dHJhbnNfZ2V0U291cmNlU2V0KQogI2RlZmluZSB1dHJhbnNfZ2V0VW5pY29kZUlEIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfZ2V0VW5pY29kZUlEKQogI2RlZmluZSB1dHJhbnNfb3Bl
biBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX29wZW4pCiAjZGVmaW5lIHV0cmFuc19v
cGVuSURzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfb3BlbklEcykKQEAgLTE3MzEs
NiArMTcwMCw3IEBACiAjZGVmaW5lIHV0cmFuc19yZXBfY2FzZUNvbnRleHRJdGVyYXRvciBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3JlcF9jYXNlQ29udGV4dEl0ZXJhdG9yKQogI2Rl
ZmluZSB1dHJhbnNfc2V0RmlsdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfc2V0
RmlsdGVyKQogI2RlZmluZSB1dHJhbnNfc3RyaXBSdWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXRyYW5zX3N0cmlwUnVsZXMpCisjZGVmaW5lIHV0cmFuc190b1J1bGVzIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1dHJhbnNfdG9SdWxlcykKICNkZWZpbmUgdXRyYW5zX3RyYW5zIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfdHJhbnMpCiAjZGVmaW5lIHV0cmFuc190cmFuc0lu
Y3JlbWVudGFsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfdHJhbnNJbmNyZW1lbnRh
bCkKICNkZWZpbmUgdXRyYW5zX3RyYW5zSW5jcmVtZW50YWxVQ2hhcnMgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHV0cmFuc190cmFuc0luY3JlbWVudGFsVUNoYXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3Vu
aWNvZGUvdXNjcmlwdC5oCmluZGV4IDU3MjU1YzRmOTg0NGFmYWI1M2ZmYzE4YTMxYWQ3OWU4ZTJl
MzQyMzMuLmIyMTdjODE0NzI4YWMxMTFkMGE0Y2ZhNzU1MGQzOTI2OGE4N2EzMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKLSAqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTMsIEludGVybmF0aW9uYWwgQnVzaW5l
c3MgTWFjaGluZXMKKyAqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTUsIEludGVybmF0aW9uYWwg
QnVzaW5lc3MgTWFjaGluZXMKICAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKQEAgLTIxLDI1ICsyMSwzMSBAQAogICog
XGZpbGUKICAqIFxicmllZiBDIEFQSTogVW5pY29kZSBTY3JpcHQgSW5mb3JtYXRpb24KICAqLwot
IAorCiAvKioKICAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KICAqCi0g
KiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNjcmlw
dE5hbWVzLnR4dCAtCi0gKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5pY29k
ZSdzIFNjcmlwdCBwcm9wZXJ0eS4KLSAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0cDov
L3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqIFRoZSBjdXJyZW50IHNldCBvZiBz
Y3JpcHQgY29kZSBjb25zdGFudHMgc3VwcG9ydHMgYXQgbGVhc3QgYWxsIHNjcmlwdHMKKyAqIHRo
YXQgYXJlIGVuY29kZWQgaW4gdGhlIHZlcnNpb24gb2YgVW5pY29kZSB3aGljaCBJQ1UgY3VycmVu
dGx5IHN1cHBvcnRzLgorICogVGhlIG5hbWVzIG9mIHRoZSBjb25zdGFudHMgYXJlIHVzdWFsbHkg
ZGVyaXZlZCBmcm9tIHRoZQorICogVW5pY29kZSBzY3JpcHQgcHJvcGVydHkgdmFsdWUgYWxpYXNl
cy4KKyAqIFNlZSBVQVggIzI0IFVuaWNvZGUgU2NyaXB0IFByb3BlcnR5IChodHRwOi8vd3d3LnVu
aWNvZGUub3JnL3JlcG9ydHMvdHIyNC8pCisgKiBhbmQgaHR0cDovL3d3dy51bmljb2RlLm9yZy9Q
dWJsaWMvVUNEL2xhdGVzdC91Y2QvUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0IC4KICAqCiAgKiBT
dGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0
IGNvZGVzCi0gKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2Ug
Y29kZXMgUWFhYS4uUWFieCkuCi0gKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNv
ZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAotICogdXNlZCBpbiB0aGUgVW5pY29k
ZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3Rl
cnMKLSAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICogYXJlIGluY2x1ZGVkLCBm
b3IgdXNlIHdpdGggbGFuZ3VhZ2UgdGFncywgQ0xEUiBkYXRhLCBhbmQgc2ltaWxhci4KKyAqIFNv
bWUgb2YgdGhvc2UgY29kZXMgYXJlIG5vdCB1c2VkIGluIHRoZSBVbmljb2RlIENoYXJhY3RlciBE
YXRhYmFzZSAoVUNEKS4KKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0
aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IHByb3BlcnR5IHZhbHVlIG9mCisgKiBIYW5zIG9yIEhhbnQu
IEFsbCBIYW4gaWRlb2dyYXBocyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBwcm9wZXJ0eSB2YWx1ZSBp
biBVbmljb2RlLgogICoKLSAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0
aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKLSAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBp
ZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCi0gKiBUaGUgSGFucyBhbmQgSGFu
dCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisgKiBQcml2YXRlLXVzZSBj
b2RlcyBRYWFhLi5RYWJ4IGFyZSBub3QgaW5jbHVkZWQuCiAgKgotICogSVNPIDE1OTI0IHNjcmlw
dCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCisgKiBT
dGFydGluZyB3aXRoIElDVSA1NSwgc2NyaXB0IGNvZGVzIGFyZSBvbmx5IGFkZGVkIHdoZW4gdGhl
aXIgc2NyaXB0cworICogaGF2ZSBiZWVuIG9yIHdpbGwgY2VydGFpbmx5IGJlIGVuY29kZWQgaW4g
VW5pY29kZSwKKyAqIGFuZCBoYXZlIGJlZW4gYXNzaWduZWQgVW5pY29kZSBzY3JpcHQgcHJvcGVy
dHkgdmFsdWUgYWxpYXNlcywKKyAqIHRvIGVuc3VyZSB0aGF0IHRoZWlyIHNjcmlwdCBuYW1lcyBh
cmUgc3RhYmxlIGFuZCBtYXRjaCB0aGUgbmFtZXMgb2YgdGhlIGNvbnN0YW50cy4KKyAqIFNjcmlw
dCBjb2RlcyBsaWtlIExhdGYgYW5kIEFyYW4gdGhhdCBhcmUgbm90IHN1YmplY3QgdG8gc2VwYXJh
dGUgZW5jb2RpbmcKKyAqIG1heSBiZSBhZGRlZCBhdCBhbnkgdGltZS4KICAqCiAgKiBAc3RhYmxl
IElDVSAyLjIKICAqLwpAQCAtMTg2LDcgKzE5Miw3IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29k
ZSB7CiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy40ICovCiAgICAgICBVU0NSSVBUX09MRF9QRVJT
SUFOICAgPSA2MSwgLyogWHBlbyAqLwogCi0gICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20g
SVNPIDE1OTI0ICovCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gVW5pY29kZSBhbmQg
SVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy42ICovCiAgICAgICBVU0NSSVBU
X0JBTElORVNFICAgICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KICAgICAgIC8q
KiBAc3RhYmxlIElDVSAzLjYgKi8KQEAgLTI3OCw3ICsyODQsNiBAQCB0eXBlZGVmIGVudW0gVVNj
cmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLwogICAgICAgVVNDUklQVF9V
TktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249
IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8K
IAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCAqLwogICAgICAgLyoq
IEBzdGFibGUgSUNVIDMuOCAqLwogICAgICAgVVNDUklQVF9DQVJJQU4gICAgICAgICAgICAgICAg
ICAgICAgICA9IDEwNCwvKiBDYXJpICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy44ICovCkBA
IC0zMDQsNyArMzA5LDYgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIC8qKiBA
c3RhYmxlIElDVSAzLjggKi8KICAgICAgIFVTQ1JJUFRfTUVJVEVJX01BWUVLICAgICAgICAgICAg
ICAgICAgPSAxMTUsLyogTXRlaSAqLwogCi0gICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20g
SVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC4wICovCiAgICAgICBVU0NSSVBU
X0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KICAgICAgIC8q
KiBAc3RhYmxlIElDVSA0LjAgKi8KQEAgLTMzNCw3ICszMzgsNiBAQCB0eXBlZGVmIGVudW0gVVNj
cmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuMCAqLwogICAgICAgVVNDUklQVF9T
WU1CT0xTICAgICAgICAgICAgICAgICAgICAgICA9IDEyOSwvKiBac3ltICovCiAKLSAgICAgIC8q
IE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KICAgICAgIC8qKiBAc3RhYmxlIElD
VSA0LjQgKi8KICAgICAgIFVTQ1JJUFRfQkFNVU0gICAgICAgICAgICAgICAgICAgICAgICAgPSAx
MzAsLyogQmFtdSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNCAqLwpAQCAtMzQ0LDExICsz
NDcsMTQgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIC8qKiBAc3RhYmxlIElD
VSA0LjQgKi8KICAgICAgIFVTQ1JJUFRfT0xEX1NPVVRIX0FSQUJJQU4gICAgICAgICAgICAgPSAx
MzMsLyogU2FyYiAqLwogCi0gICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0
ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBVU0NSSVBUX0JBU1NBX1ZB
SCAgICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KLSAgICAgIC8qKiBAc3RhYmxl
IElDVSA0LjYgKi8KLSAgICAgIFVTQ1JJUFRfRFVQTE9ZQU5fU0hPUlRBTkQgICAgICAgICAgICAg
PSAxMzUsLyogRHVwbCAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NS
SVBUX0RVUExPWUFOICAgICAgICAgICAgICAgICAgICAgID0gMTM1LC8qIER1cGwgKi8KKyNpZm5k
ZWYgVV9ISURFX0RFUFJFQ0FURURfQVBJCisgICAgICAvKiogQGRlcHJlY2F0ZWQgSUNVIDU0IFR5
cG8sIHVzZSBVU0NSSVBUX0RVUExPWUFOICovCisgICAgICBVU0NSSVBUX0RVUExPWUFOX1NIT1JU
QU5EICAgICAgICAgICAgID0gVVNDUklQVF9EVVBMT1lBTiwKKyNlbmRpZiAgLyogVV9ISURFX0RF
UFJFQ0FURURfQVBJICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBVU0NS
SVBUX0VMQkFTQU4gICAgICAgICAgICAgICAgICAgICAgID0gMTM2LC8qIEVsYmEgKi8KICAgICAg
IC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KQEAgLTM1Nyw3ICszNjMsNyBAQCB0eXBlZGVmIGVudW0g
VVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9LUEVMTEUgICAgICAgICAgICAgICAgICAgICAg
ICA9IDEzOCwvKiBLcGVsICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBV
U0NSSVBUX0xPTUEgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM5LC8qIExvbWEgKi8KLSAg
ICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAgIC8qKiBNZW5kZSBLaWtha3VpIEBzdGFi
bGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9NRU5ERSAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDE0MCwvKiBNZW5kICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBV
U0NSSVBUX01FUk9JVElDX0NVUlNJVkUgICAgICAgICAgICAgID0gMTQxLC8qIE1lcmMgKi8KQEAg
LTM2Nyw4ICszNzMsMTAgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIFVTQ1JJ
UFRfTkFCQVRBRUFOICAgICAgICAgICAgICAgICAgICAgPSAxNDMsLyogTmJhdCAqLwogICAgICAg
LyoqIEBzdGFibGUgSUNVIDQuNiAqLwogICAgICAgVVNDUklQVF9QQUxNWVJFTkUgICAgICAgICAg
ICAgICAgICAgICA9IDE0NCwvKiBQYWxtICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICAgIFVTQ1JJUFRfS0hVREFXQURJICAgICAgICAgICAgICAgICAgICAgPSAxNDUsLyogU2lu
ZCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwotICAgICAgVVNDUklQVF9TSU5ESEkg
ICAgICAgICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1NJ
TkRISSAgICAgICAgICAgICAgICAgICAgICAgID0gVVNDUklQVF9LSFVEQVdBREksCiAgICAgICAv
KiogQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBVU0NSSVBUX1dBUkFOR19DSVRJICAgICAgICAg
ICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KIApAQCAtNDAzLDIyICs0MTEsNDQgQEAgdHlwZWRl
ZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIC8qKiBAc3RhYmxlIElDVSA1MiAqLwogICAgICAg
VVNDUklQVF9NQUhBSkFOSSAgICAgICAgICAgICAgICAgICAgICA9IDE2MCwvKiBNYWhqICovCiAK
LSAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBw
b3J0ZWQgKi8KLQotICAgICAgLyoqIEBzdGFibGUgSUNVIDIuMiAqLwotICAgICAgVVNDUklQVF9D
T0RFX0xJTUlUICAgID0gMTYxCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVT
Q1JJUFRfQUhPTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjEsLyogQWhvbSAqLworICAg
ICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX0hBVFJBTiAgICAgICAgICAg
ICAgICAgICAgICAgID0gMTYyLC8qIEhhdHIgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1NCAq
LworICAgICAgVVNDUklQVF9NT0RJICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE2MywvKiBN
b2RpICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVTQ1JJUFRfTVVMVEFO
SSAgICAgICAgICAgICAgICAgICAgICAgPSAxNjQsLyogTXVsdCAqLworICAgICAgLyoqIEBzdGFi
bGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX1BBVV9DSU5fSEFVICAgICAgICAgICAgICAgICAg
ID0gMTY1LC8qIFBhdWMgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgICAgVVND
UklQVF9TSURESEFNICAgICAgICAgICAgICAgICAgICAgICA9IDE2NiwvKiBTaWRkICovCisKKyAg
ICAgIC8qKgorICAgICAgICogT25lIGhpZ2hlciB0aGFuIHRoZSBsYXN0IHNjcmlwdCBjb2RlIGNv
bnN0YW50LgorICAgICAgICogVGhpcyB2YWx1ZSBpbmNyZWFzZXMgYXMgY29uc3RhbnRzIGZvciBz
Y3JpcHQgY29kZXMgYXJlIGFkZGVkLgorICAgICAgICoKKyAgICAgICAqIFRoZXJlIGFyZSBjb25z
dGFudHMgZm9yIFVuaWNvZGUgNyBzY3JpcHQgcHJvcGVydHkgdmFsdWVzLgorICAgICAgICogVGhl
cmUgYXJlIGNvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhc3NpZ25lZCBvbiBv
ciBiZWZvcmUgMjAxMy0xMC0xMi4KKyAgICAgICAqIFRoZXJlIGFyZSBubyBjb25zdGFudHMgZm9y
IHByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYngKKyAgICAgICAqIGV4Y2VwdCBhcyB1
c2VkIGluIHRoZSBVQ0QuCisgICAgICAgKgorICAgICAgICogQHN0YWJsZSBJQ1UgMi4yCisgICAg
ICAgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDE2NwogfSBVU2NyaXB0Q29kZTsK
IAogLyoqCi0gKiBHZXRzIHNjcmlwdCBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGxv
Y2FsZSBvciBJU08gMTU5MjQgYWJicmV2aWF0aW9uIG9yIG5hbWUuIAorICogR2V0cyB0aGUgc2Ny
aXB0IGNvZGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbG9jYWxlIG9yIElTTyAxNTkyNCBh
YmJyZXZpYXRpb24gb3IgbmFtZS4gCiAgKiBGaWxscyBpbiBVU0NSSVBUX01BTEFZQUxBTSBnaXZl
biAiTWFsYXlhbSIgT1IgIk1seW0iLgogICogRmlsbHMgaW4gVVNDUklQVF9MQVRJTiBnaXZlbiAi
ZW4iIE9SICJlbl9VUyIgCi0gKiBJZiByZXF1aXJlZCBjYXBhY2l0eSBpcyBncmVhdGVyIHRoYW4g
Y2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciB0aGVuIHRoZSBlcnJvciBjb2RlCi0g
KiBpcyBzZXQgdG8gVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgYW5kIHRoZSByZXF1aXJlZCBjYXBh
Y2l0eSBpcyByZXR1cm5lZAorICogSWYgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIGdyZWF0ZXIg
dGhhbiB0aGUgY2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciwKKyAqIHRoZW4gdGhl
IGVycm9yIGNvZGUgaXMgc2V0IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGFuZCB0aGUgcmVx
dWlyZWQgY2FwYWNpdHkgaXMgcmV0dXJuZWQuCiAgKgogICogPHA+Tm90ZTogVG8gc2VhcmNoIGJ5
IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVzZQotICogdV9nZXRQcm9wZXJ0eVZh
bHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAgVGhpcyBkb2VzCisgKiB1X2dl
dFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgYWxpYXMpIGluc3RlYWQuICBUaGF0IGRv
ZXMKICAqIGEgZmFzdCBsb29rdXAgd2l0aCBubyBhY2Nlc3Mgb2YgdGhlIGxvY2FsZSBkYXRhLgor
ICoKICAqIEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0LCBhcyBn
aXZlbiBpbgogICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQgY29kZSBv
ciBsb2NhbGUKICAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0byBmaWxs
IGluIHRoZSBzY3JpcHQgY29kZQpAQCAtNDMxLDIyICs0NjEsMjUgQEAgVV9TVEFCTEUgaW50MzJf
dCAgVV9FWFBPUlQyCiB1c2NyaXB0X2dldENvZGUoY29uc3QgY2hhciogbmFtZU9yQWJick9yTG9j
YWxlLFVTY3JpcHRDb2RlKiBmaWxsSW4saW50MzJfdCBjYXBhY2l0eSxVRXJyb3JDb2RlICplcnIp
OwogCiAvKioKLSAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVu
IHNjcmlwdCBjb2RlLiAKLSAqIFJldHVybnMgICJNYWxheWFtIiBnaXZlbiBVU0NSSVBUX01BTEFZ
QUxBTQorICogUmV0dXJucyB0aGUgbG9uZyBVbmljb2RlIHNjcmlwdCBuYW1lLCBpZiB0aGVyZSBp
cyBvbmUuCisgKiBPdGhlcndpc2UgcmV0dXJucyB0aGUgNC1sZXR0ZXIgSVNPIDE1OTI0IHNjcmlw
dCBjb2RlLgorICogUmV0dXJucyAiTWFsYXlhbSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0uCisg
KgogICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQotICogQHJldHVybiBzY3Jp
cHQgbG9uZyBuYW1lIGFzIGdpdmVuIGluCi0gKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9y
IE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAcmV0dXJuIGxvbmcgc2NyaXB0IG5h
bWUgYXMgZ2l2ZW4gaW4gUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciB0aGUgNC1sZXR0ZXIg
Y29kZSwKKyAqIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCiAgKiBAc3RhYmxlIElD
VSAyLjQKICAqLwogVV9TVEFCTEUgY29uc3QgY2hhciogIFVfRVhQT1JUMiAKIHVzY3JpcHRfZ2V0
TmFtZShVU2NyaXB0Q29kZSBzY3JpcHRDb2RlKTsKIAogLyoqCi0gKiBHZXRzIGEgc2NyaXB0IG5h
bWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCi0gKiBSZXR1cm5zICAi
TWx5bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIFJldHVybnMgdGhlIDQtbGV0dGVyIElT
TyAxNTkyNCBzY3JpcHQgY29kZSwKKyAqIHdoaWNoIGlzIHRoZSBzYW1lIGFzIHRoZSBzaG9ydCBV
bmljb2RlIHNjcmlwdCBuYW1lIGlmIFVuaWNvZGUgaGFzIG5hbWVzIGZvciB0aGUgc2NyaXB0Lgor
ICogUmV0dXJucyAiTWx5bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0uCisgKgogICogQHBhcmFt
IHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQotICogQHJldHVybiBzY3JpcHQgYWJicmV2aWF0
ZWQgbmFtZSBhcyBnaXZlbiBpbgotICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxM
IGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICogQHJldHVybiBzaG9ydCBzY3JpcHQgbmFtZSAo
NC1sZXR0ZXIgY29kZSksIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCiAgKiBAc3Rh
YmxlIElDVSAyLjQKICAqLwogVV9TVEFCTEUgY29uc3QgY2hhciogIFVfRVhQT1JUMiAKQEAgLTUx
NywyNyArNTUwLDI1IEBAIHVzY3JpcHRfZ2V0U2NyaXB0RXh0ZW5zaW9ucyhVQ2hhcjMyIGMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNjcmlwdENvZGUgKnNjcmlwdHMsIGludDMyX3Qg
Y2FwYWNpdHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqZXJyb3JD
b2RlKTsKIAotI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCi0KIC8qKgogICogU2NyaXB0IHVzYWdl
IGNvbnN0YW50cy4KICAqIFNlZSBVQVggIzMxIFVuaWNvZGUgSWRlbnRpZmllciBhbmQgUGF0dGVy
biBTeW50YXguCiAgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzMS8jVGFibGVf
Q2FuZGlkYXRlX0NoYXJhY3RlcnNfZm9yX0V4Y2x1c2lvbl9mcm9tX0lkZW50aWZpZXJzCiAgKgot
ICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwogdHlwZWRlZiBlbnVtIFVT
Y3JpcHRVc2FnZSB7Ci0gICAgLyoqIE5vdCBlbmNvZGVkIGluIFVuaWNvZGUuIEBkcmFmdCBJQ1Ug
NTEgKi8KKyAgICAvKiogTm90IGVuY29kZWQgaW4gVW5pY29kZS4gQHN0YWJsZSBJQ1UgNTEgKi8K
ICAgICBVU0NSSVBUX1VTQUdFX05PVF9FTkNPREVELAotICAgIC8qKiBVbmtub3duIHNjcmlwdCB1
c2FnZS4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBVbmtub3duIHNjcmlwdCB1c2FnZS4gQHN0
YWJsZSBJQ1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX1VOS05PV04sCi0gICAgLyoqIENhbmRp
ZGF0ZSBmb3IgRXhjbHVzaW9uIGZyb20gSWRlbnRpZmllcnMuIEBkcmFmdCBJQ1UgNTEgKi8KKyAg
ICAvKiogQ2FuZGlkYXRlIGZvciBFeGNsdXNpb24gZnJvbSBJZGVudGlmaWVycy4gQHN0YWJsZSBJ
Q1UgNTEgKi8KICAgICBVU0NSSVBUX1VTQUdFX0VYQ0xVREVELAotICAgIC8qKiBMaW1pdGVkIFVz
ZSBzY3JpcHQuIEBkcmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogTGltaXRlZCBVc2Ugc2NyaXB0LiBA
c3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJUFRfVVNBR0VfTElNSVRFRF9VU0UsCi0gICAgLyoq
IEFzcGlyYXRpb25hbCBVc2Ugc2NyaXB0LiBAZHJhZnQgSUNVIDUxICovCisgICAgLyoqIEFzcGly
YXRpb25hbCBVc2Ugc2NyaXB0LiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJUFRfVVNBR0Vf
QVNQSVJBVElPTkFMLAotICAgIC8qKiBSZWNvbW1lbmRlZCBzY3JpcHQuIEBkcmFmdCBJQ1UgNTEg
Ki8KKyAgICAvKiogUmVjb21tZW5kZWQgc2NyaXB0LiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVT
Q1JJUFRfVVNBR0VfUkVDT01NRU5ERUQKIH0gVVNjcmlwdFVzYWdlOwogCkBAIC01NTEsOSArNTgy
LDkgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRVc2FnZSB7CiAgKiBAcGFyYW0gY2FwYWNpdHkgbnVt
YmVyIG9mIFVDaGFycyBpbiB0aGUgZGVzdCBhcnJheQogICogQHBhcmFtIHBFcnJvckNvZGUgc3Rh
bmRhcmQgSUNVIGluL291dCBlcnJvciBjb2RlLCBtdXN0IHBhc3MgVV9TVUNDRVNTKCkgb24gaW5w
dXQKICAqIEByZXR1cm4gdGhlIHN0cmluZyBsZW5ndGgsIGV2ZW4gaWYgVV9CVUZGRVJfT1ZFUkZM
T1dfRVJST1IKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KLVVfRFJB
RlQgaW50MzJfdCBVX0VYUE9SVDIKK1VfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCiB1c2NyaXB0
X2dldFNhbXBsZVN0cmluZyhVU2NyaXB0Q29kZSBzY3JpcHQsIFVDaGFyICpkZXN0LCBpbnQzMl90
IGNhcGFjaXR5LCBVRXJyb3JDb2RlICpwRXJyb3JDb2RlKTsKIAogI2lmIFVfU0hPV19DUExVU1BM
VVNfQVBJCkBAIC01NjksNyArNjAwLDcgQEAgVV9OQU1FU1BBQ0VfRU5ECiAgKgogICogQHBhcmFt
IHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVybiB0aGUgc2FtcGxlIGNoYXJhY3RlciBzdHJp
bmcKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KIFVfQ09NTU9OX0FQ
SSBpY3U6OlVuaWNvZGVTdHJpbmcgVV9FWFBPUlQyCiB1c2NyaXB0X2dldFNhbXBsZVVuaWNvZGVT
dHJpbmcoVVNjcmlwdENvZGUgc2NyaXB0KTsKQEAgLTU4Myw5ICs2MTQsOSBAQCB1c2NyaXB0X2dl
dFNhbXBsZVVuaWNvZGVTdHJpbmcoVVNjcmlwdENvZGUgc2NyaXB0KTsKICAqIEBwYXJhbSBzY3Jp
cHQgc2NyaXB0IGNvZGUKICAqIEByZXR1cm4gc2NyaXB0IHVzYWdlCiAgKiBAc2VlIFVTY3JpcHRV
c2FnZQotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBV
U2NyaXB0VXNhZ2UgVV9FWFBPUlQyCitVX1NUQUJMRSBVU2NyaXB0VXNhZ2UgVV9FWFBPUlQyCiB1
c2NyaXB0X2dldFVzYWdlKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAKIC8qKgpAQCAtNTk0LDkgKzYy
NSw5IEBAIHVzY3JpcHRfZ2V0VXNhZ2UoVVNjcmlwdENvZGUgc2NyaXB0KTsKICAqCiAgKiBAcGFy
YW0gc2NyaXB0IHNjcmlwdCBjb2RlCiAgKiBAcmV0dXJuIFRSVUUgaWYgdGhlIHNjcmlwdCBpcyBy
aWdodC10by1sZWZ0Ci0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCi1V
X0RSQUZUIFVCb29sIFVfRVhQT1JUMgorVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1c2NyaXB0
X2lzUmlnaHRUb0xlZnQoVVNjcmlwdENvZGUgc2NyaXB0KTsKIAogLyoqCkBAIC02MDYsOSArNjM3
LDkgQEAgdXNjcmlwdF9pc1JpZ2h0VG9MZWZ0KFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAgKgogICog
QHBhcmFtIHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVybiBUUlVFIGlmIHRoZSBzY3JpcHQg
YWxsb3dzIGxpbmUgYnJlYWtzIGJldHdlZW4gbGV0dGVycwotICogQGRyYWZ0IElDVSA1MQorICog
QHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBVQm9vbCBVX0VYUE9SVDIKK1VfU1RBQkxFIFVC
b29sIFVfRVhQT1JUMgogdXNjcmlwdF9icmVha3NCZXR3ZWVuTGV0dGVycyhVU2NyaXB0Q29kZSBz
Y3JpcHQpOwogCiAvKioKQEAgLTYxNywxMSArNjQ4LDkgQEAgdXNjcmlwdF9icmVha3NCZXR3ZWVu
TGV0dGVycyhVU2NyaXB0Q29kZSBzY3JpcHQpOwogICoKICAqIEBwYXJhbSBzY3JpcHQgc2NyaXB0
IGNvZGUKICAqIEByZXR1cm4gVFJVRSBpZiB0aGUgc2NyaXB0IGlzIGNhc2VkCi0gKiBAZHJhZnQg
SUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCi1VX0RSQUZUIFVCb29sIFVfRVhQT1JUMgor
VV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1c2NyaXB0X2lzQ2FzZWQoVVNjcmlwdENvZGUgc2Ny
aXB0KTsKIAotI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCi0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNlYXJjaC5oIGIvU291cmNlL1dlYkNv
cmUvaWN1L3VuaWNvZGUvdXNlYXJjaC5oCmluZGV4IDlmMzA1ZWI4NzIwNDEzOGIzZGM1MTU4NGU5
NjhlYmIzZjA3NzE5ZDEuLjc1NTIxZjUyOGE0MTBmYWUxOTIzNThiMDcwZjM4NTkwZDY2MjZhM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzZWFyY2guaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2VhcmNoLmgKQEAgLTEsNiArMSw2IEBACiAvKgog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMjAwMS0yMDExIElCTSBhbmQgb3RoZXJz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiAgIENvcHlyaWdodCAoQykgMjAwMS0yMDExLDIwMTQg
SUJNIGFuZCBvdGhlcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICAg
RGF0ZSAgICAgICAgTmFtZSAgICAgICAgRGVzY3JpcHRpb24KICogIDA2LzI4LzIwMDEgICBzeW53
ZWUgICAgICBDcmVhdGlvbi4KQEAgLTMwLDExICszMCwxMSBAQAogICogU2VlIHRoZSA8YSBocmVm
PSJodHRwOi8vc291cmNlLmljdS1wcm9qZWN0Lm9yZy9yZXBvcy9pY3UvaWN1aHRtbC90cnVuay9k
ZXNpZ24vY29sbGF0aW9uL0lDVV9jb2xsYXRpb25fZGVzaWduLmh0bSI+CiAgKiAiSUNVIENvbGxh
dGlvbiBEZXNpZ24gRG9jdW1lbnQiPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAqIDxwPiAK
LSAqIFRoZSBhbGdvcml0aG0gaW1wbGVtZW50ZWQgaXMgYSBtb2RpZmllZCBmb3JtIG9mIHRoZSBC
b3llciBNb29yZSdzIHNlYXJjaC4KLSAqIEZvciBtb3JlIGluZm9ybWF0aW9uICBzZWUgCisgKiBU
aGUgaW1wbGVtZW50YXRpb24gbWF5IHVzZSBhIGxpbmVhciBzZWFyY2ggb3IgYSBtb2RpZmllZCBm
b3JtIG9mIHRoZSBCb3llci1Nb29yZQorICogc2VhcmNoOyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBv
biB0aGUgbGF0dGVyIHNlZSAKICAqIDxhIGhyZWY9Imh0dHA6Ly9pY3UtcHJvamVjdC5vcmcvZG9j
cy9wYXBlcnMvZWZmaWNpZW50X3RleHRfc2VhcmNoaW5nX2luX2phdmEuaHRtbCI+CiAgKiAiRWZm
aWNpZW50IFRleHQgU2VhcmNoaW5nIGluIEphdmEiPC9hPiwgcHVibGlzaGVkIGluIDxpPkphdmEg
UmVwb3J0PC9pPiAKLSAqIGluIEZlYnJ1YXJ5LCAxOTk5LCBmb3IgZnVydGhlciBpbmZvcm1hdGlv
biBvbiB0aGUgYWxnb3JpdGhtLgorICogaW4gRmVicnVhcnksIDE5OTkuCiAgKiA8cD4KICAqIFRo
ZXJlIGFyZSAyIG1hdGNoIG9wdGlvbnMgZm9yIHNlbGVjdGlvbjo8YnI+CiAgKiBMZXQgUycgYmUg
dGhlIHN1Yi1zdHJpbmcgb2YgYSB0ZXh0IHN0cmluZyBTIGJldHdlZW4gdGhlIG9mZnNldHMgc3Rh
cnQgYW5kIApAQCAtOTEsNiArOTEsMTEgQEAKICAqIGZvciB0aGUgcGF0dGVybiAiYWJhYiIgaW4g
dGhlIHRleHQgImFiYWJhYiIsIHdoZXJlIGVsc2UgbXV0dWFsbHkgCiAgKiBleGNsdXNpdmUgbWF0
Y2hlcyBvbmx5IHByb2R1Y2UgdGhlIHJlc3VsdCBvZiAwLgogICogPHA+CisgKiBPcHRpb25zIGFy
ZSBhbHNvIHByb3ZpZGVkIHRvIGltcGxlbWVudCAiYXN5bW1ldHJpYyBzZWFyY2giIGFzIGRlc2Ny
aWJlZCBpbgorICogPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMTAv
I0FzeW1tZXRyaWNfU2VhcmNoIj4KKyAqIFVUUyAjMTAgVW5pY29kZSBDb2xsYXRpb24gQWxnb3Jp
dGhtPC9hPiwgc3BlY2lmaWNhbGx5IHRoZSBVU2VhcmNoQXR0cmlidXRlCisgKiBVU0VBUkNIX0VM
RU1FTlRfQ09NUEFSSVNPTiBhbmQgaXRzIHZhbHVlcy4KKyAqIDxwPgogICogVGhvdWdoIGNvbGxh
dG9yIGF0dHJpYnV0ZXMgd2lsbCBiZSB0YWtlbiBpbnRvIGNvbnNpZGVyYXRpb24gd2hpbGUgCiAg
KiBwZXJmb3JtaW5nIG1hdGNoZXMsIHRoZXJlIGFyZSBubyBBUElzIGhlcmUgZm9yIHNldHRpbmcg
YW5kIGdldHRpbmcgdGhlIAogICogYXR0cmlidXRlcy4gVGhlc2UgYXR0cmlidXRlcyBjYW4gYmUg
c2V0IGJ5IGdldHRpbmcgdGhlIGNvbGxhdG9yCkBAIC0xNTQsMzIgKzE1OSw2MCBAQCB0eXBlZGVm
IHN0cnVjdCBVU3RyaW5nU2VhcmNoIFVTdHJpbmdTZWFyY2g7CiAqIEBzdGFibGUgSUNVIDIuNAog
Ki8KIHR5cGVkZWYgZW51bSB7Ci0gICAgLyoqIE9wdGlvbiBmb3Igb3ZlcmxhcHBpbmcgbWF0Y2hl
cyAqLwotICAgIFVTRUFSQ0hfT1ZFUkxBUCwKKyAgICAvKioKKyAgICAgKiBPcHRpb24gZm9yIG92
ZXJsYXBwaW5nIG1hdGNoZXMKKyAgICAgKiBAc3RhYmxlIElDVSAyLjQKKyAgICAgKi8KKyAgICBV
U0VBUkNIX09WRVJMQVAgPSAwLAorI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkKICAgICAv
KiogCi0gICAgICogT3B0aW9uIGZvciBjYW5vbmljYWwgbWF0Y2hlcy4gb3B0aW9uIDEgaW4gaGVh
ZGVyIGRvY3VtZW50YXRpb24uCi0gICAgICogVGhlIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSBVU0VB
UkNIX09GRgorICAgICAqIE9wdGlvbiBmb3IgY2Fub25pY2FsIG1hdGNoZXM7IG9wdGlvbiAxIGlu
IGhlYWRlciBkb2N1bWVudGF0aW9uLgorICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUg
VVNFQVJDSF9PRkYuCisgICAgICogTm90ZTogU2V0dGluZyB0aGlzIG9wdGlvbiB0byBVU0VBUkNI
X09OIGN1cnJlbnRseSBoYXMgbm8gZWZmZWN0IG9uCisgICAgICogc2VhcmNoIGJlaGF2aW9yLCBh
bmQgdGhpcyBvcHRpb24gaXMgZGVwcmVjYXRlZC4gSW5zdGVhZCwgdG8gY29udHJvbAorICAgICAq
IGNhbm9uaWNhbCBtYXRjaCBiZWhhdmlvciwgeW91IG11c3Qgc2V0IFVDT0xfTk9STUFMSVpBVElP
Tl9NT0RFCisgICAgICogYXBwcm9wcmlhdGVseSAodG8gVUNPTF9PRkYgb3IgVUNPTF9PTikgaW4g
dGhlIFVDb2xsYXRvciB1c2VkIGJ5CisgICAgICogdGhlIFVTdHJpbmdTZWFyY2ggb2JqZWN0Lgor
ICAgICAqIEBzZWUgdXNlYXJjaF9vcGVuRnJvbUNvbGxhdG9yIAorICAgICAqIEBzZWUgdXNlYXJj
aF9nZXRDb2xsYXRvcgorICAgICAqIEBzZWUgdXNlYXJjaF9zZXRDb2xsYXRvcgorICAgICAqIEBz
ZWUgdWNvbF9nZXRBdHRyaWJ1dGUKKyAgICAgKiBAZGVwcmVjYXRlZCBJQ1UgNTMKICAgICAgKi8K
LSAgICBVU0VBUkNIX0NBTk9OSUNBTF9NQVRDSCwKKyAgICBVU0VBUkNIX0NBTk9OSUNBTF9NQVRD
SCA9IDEsCisjZW5kaWYgIC8qIFVfSElERV9ERVBSRUNBVEVEX0FQSSAqLwogICAgIC8qKiAKICAg
ICAgKiBPcHRpb24gdG8gY29udHJvbCBob3cgY29sbGF0aW9uIGVsZW1lbnRzIGFyZSBjb21wYXJl
ZC4KICAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIFVTRUFSQ0hfU1RBTkRBUkRfRUxF
TUVOVF9DT01QQVJJU09OLgogICAgICAqIEBzdGFibGUgSUNVIDQuNAogICAgICAqLwotICAgIFVT
RUFSQ0hfRUxFTUVOVF9DT01QQVJJU09OLAorICAgIFVTRUFSQ0hfRUxFTUVOVF9DT01QQVJJU09O
ID0gMiwKIAotICAgIFVTRUFSQ0hfQVRUUklCVVRFX0NPVU5UCisgICAgLyoqCisgICAgICogQ291
bnQgb2YgYXR0cmlidXRlIHR5cGVzCisgICAgICogQHN0YWJsZSBJQ1UgMi40CisgICAgICovCisg
ICAgVVNFQVJDSF9BVFRSSUJVVEVfQ09VTlQgPSAzCiB9IFVTZWFyY2hBdHRyaWJ1dGU7CiAKIC8q
KgogKiBAc3RhYmxlIElDVSAyLjQKICovCiB0eXBlZGVmIGVudW0gewotICAgIC8qKiBEZWZhdWx0
IHZhbHVlIGZvciBhbnkgVVNlYXJjaEF0dHJpYnV0ZSAqLworICAgIC8qKiAKKyAgICAgKiBEZWZh
dWx0IHZhbHVlIGZvciBhbnkgVVNlYXJjaEF0dHJpYnV0ZQorICAgICAqIEBzdGFibGUgSUNVIDIu
NAorICAgICAqLwogICAgIFVTRUFSQ0hfREVGQVVMVCA9IC0xLAotICAgIC8qKiBWYWx1ZSBmb3Ig
VVNFQVJDSF9PVkVSTEFQIGFuZCBVU0VBUkNIX0NBTk9OSUNBTF9NQVRDSCAqLworICAgIC8qKgor
ICAgICAqIFZhbHVlIGZvciBVU0VBUkNIX09WRVJMQVAgYW5kIFVTRUFSQ0hfQ0FOT05JQ0FMX01B
VENICisgICAgICogQHN0YWJsZSBJQ1UgMi40CisgICAgICovCiAgICAgVVNFQVJDSF9PRkYsIAot
ICAgIC8qKiBWYWx1ZSBmb3IgVVNFQVJDSF9PVkVSTEFQIGFuZCBVU0VBUkNIX0NBTk9OSUNBTF9N
QVRDSCAqLworICAgIC8qKgorICAgICAqIFZhbHVlIGZvciBVU0VBUkNIX09WRVJMQVAgYW5kIFVT
RUFSQ0hfQ0FOT05JQ0FMX01BVENICisgICAgICogQHN0YWJsZSBJQ1UgMi40CisgICAgICovCiAg
ICAgVVNFQVJDSF9PTiwKICAgICAvKiogCiAgICAgICogVmFsdWUgKGRlZmF1bHQpIGZvciBVU0VB
UkNIX0VMRU1FTlRfQ09NUEFSSVNPTjsKQEAgLTE5OSw2ICsyMzIsMTEgQEAgdHlwZWRlZiBlbnVt
IHsKICAgICAgKiB0aGUgcGF0dGVybiB3aWxsIG1hdGNoIGEgcGxhaW4gZSBvciBhbiBlIHdpdGgg
YW55IGRpYWNyaXRpYyBpbiB0aGUKICAgICAgKiBzZWFyY2hlZCB0ZXh0LCBidXQgYW4gZSB3aXRo
IGRpYWNyaXRpYyBpbiB0aGUgcGF0dGVybiB3aWxsIG9ubHkKICAgICAgKiBtYXRjaCBhbiBlIHdp
dGggdGhlIHNhbWUgZGlhY3JpdGljIGluIHRoZSBzZWFyY2hlZCB0ZXh0LgorICAgICAqCisgICAg
ICogVGhpcyBzdXBwb3J0cyAiYXN5bW1ldHJpYyBzZWFyY2giIGFzIGRlc2NyaWJlZCBpbgorICAg
ICAqIDxhIGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjEwLyNBc3ltbWV0
cmljX1NlYXJjaCI+CisgICAgICogVVRTICMxMCBVbmljb2RlIENvbGxhdGlvbiBBbGdvcml0aG08
L2E+LgorICAgICAqCiAgICAgICogQHN0YWJsZSBJQ1UgNC40CiAgICAgICovCiAgICAgVVNFQVJD
SF9QQVRURVJOX0JBU0VfV0VJR0hUX0lTX1dJTERDQVJELApAQCAtMjEzLDEwICsyNTEsMjEgQEAg
dHlwZWRlZiBlbnVtIHsKICAgICAgKiBpbiB0aGUgcGF0dGVybiB3aWxsIG1hdGNoIGEgcGxhaW4g
ZSBvciBhbiBlIHdpdGggYW55IGRpYWNyaXRpYyBpbiB0aGUKICAgICAgKiBzZWFyY2hlZCB0ZXh0
LCBidXQgYW4gZSB3aXRoIGRpYWNyaXRpYyBpbiB0aGUgcGF0dGVybiB3aWxsIG9ubHkKICAgICAg
KiBtYXRjaCBhbiBlIHdpdGggdGhlIHNhbWUgZGlhY3JpdGljIG9yIGEgcGxhaW4gZSBpbiB0aGUg
c2VhcmNoZWQgdGV4dC4KKyAgICAgKgorICAgICAqIFRoaXMgb3B0aW9uIGlzIHNpbWlsYXIgdG8g
ImFzeW1tZXRyaWMgc2VhcmNoIiBhcyBkZXNjcmliZWQgaW4KKyAgICAgKiA8YSBocmVmPSJodHRw
Oi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIxMC8jQXN5bW1ldHJpY19TZWFyY2giPgorICAg
ICAqIFVUUyAjMTAgVW5pY29kZSBDb2xsYXRpb24gQWxnb3JpdGhtPC9hLCBidXQgYWxzbyBhbGxv
d3MgdW5tYXJrZWQKKyAgICAgKiBjaGFyYWN0ZXJzIGluIHRoZSBzZWFyY2hlZCB0ZXh0IHRvIG1h
dGNoIG1hcmtlZCBvciB1bm1hcmtlZCB2ZXJzaW9ucyBvZgorICAgICAqIHRoYXQgY2hhcmFjdGVy
IGluIHRoZSBwYXR0ZXJuLgorICAgICAqCiAgICAgICogQHN0YWJsZSBJQ1UgNC40CiAgICAgICov
CiAgICAgVVNFQVJDSF9BTllfQkFTRV9XRUlHSFRfSVNfV0lMRENBUkQsCiAKKyAgICAvKioKKyAg
ICAgKiBDb3VudCBvZiBhdHRyaWJ1dGUgdmFsdWVzCisgICAgICogQHN0YWJsZSBJQ1UgMi40Cisg
ICAgICovCiAgICAgVVNFQVJDSF9BVFRSSUJVVEVfVkFMVUVfQ09VTlQKIH0gVVNlYXJjaEF0dHJp
YnV0ZVZhbHVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2V0LmgKaW5kZXggNDA1MTBjZDQxNjdj
OGY3N2Q1MDY2MWRmZmY3ZmUwOWI5ZWY4MDUzMi4uZWIzYzllNmEwNmE2ZjlmZjk0OTM1ZWU4MTBl
OWNhODkxZGY2MDEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzZXQuaApAQCAtMSw3ICsxLDcg
QEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAyMDAy
LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMp
IDIwMDItMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0
aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgpAQCAtOTgsOCArOTgsOCBAQCBlbnVtIHsKICAqCiAgKiBUaGUgZnVuY3Rpb25hbGl0
eSBpcyBzdHJhaWdodGZvcndhcmQgZm9yIHNldHMgd2l0aCBvbmx5IHNpbmdsZSBjb2RlIHBvaW50
cywKICAqIHdpdGhvdXQgc3RyaW5ncyAod2hpY2ggaXMgdGhlIGNvbW1vbiBjYXNlKToKLSAqIC0g
VVNFVF9TUEFOX0NPTlRBSU5FRCBhbmQgVVNFVF9TUEFOX1NJTVBMRQotICogICB3b3JrIHRoZSBz
YW1lLgorICogLSBVU0VUX1NQQU5fQ09OVEFJTkVEIGFuZCBVU0VUX1NQQU5fU0lNUExFIHdvcmsg
dGhlIHNhbWUuCisgKiAtIFVTRVRfU1BBTl9DT05UQUlORUQgYW5kIFVTRVRfU1BBTl9TSU1QTEUg
YXJlIGludmVyc2VzIG9mIFVTRVRfU1BBTl9OT1RfQ09OVEFJTkVELgogICogLSBzcGFuKCkgYW5k
IHNwYW5CYWNrKCkgcGFydGl0aW9uIGFueSBzdHJpbmcgdGhlIHNhbWUgd2F5IHdoZW4KICAqICAg
YWx0ZXJuYXRpbmcgYmV0d2VlbiBzcGFuKFVTRVRfU1BBTl9OT1RfQ09OVEFJTkVEKSBhbmQKICAq
ICAgc3BhbihlaXRoZXIgImNvbnRhaW5lZCIgY29uZGl0aW9uKS4KQEAgLTE0OSw3ICsxNDksOCBA
QCBlbnVtIHsKICAqLwogdHlwZWRlZiBlbnVtIFVTZXRTcGFuQ29uZGl0aW9uIHsKICAgICAvKioK
LSAgICAgKiBDb250aW51ZSBhIHNwYW4oKSB3aGlsZSB0aGVyZSBpcyBubyBzZXQgZWxlbWVudCBh
dCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUg
dGhlcmUgaXMgbm8gc2V0IGVsZW1lbnQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCisgICAgICog
SW5jcmVtZW50cyBieSBvbmUgY29kZSBwb2ludCBhdCBhIHRpbWUuCiAgICAgICogU3RvcHMgYmVm
b3JlIHRoZSBmaXJzdCBzZXQgZWxlbWVudCAoY2hhcmFjdGVyIG9yIHN0cmluZykuCiAgICAgICog
KEZvciBjb2RlIHBvaW50cyBvbmx5LCB0aGlzIGlzIGxpa2Ugd2hpbGUgY29udGFpbnMoY3VycmVu
dCk9PUZBTFNFKS4KICAgICAgKgpAQCAtMTYxLDIyICsxNjIsMjMgQEAgdHlwZWRlZiBlbnVtIFVT
ZXRTcGFuQ29uZGl0aW9uIHsKICAgICAgKi8KICAgICBVU0VUX1NQQU5fTk9UX0NPTlRBSU5FRCA9
IDAsCiAgICAgLyoqCi0gICAgICogQ29udGludWUgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBz
ZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBTcGFucyB0aGUgbG9u
Z2VzdCBzdWJzdHJpbmcgdGhhdCBpcyBhIGNvbmNhdGVuYXRpb24gb2Ygc2V0IGVsZW1lbnRzIChj
aGFyYWN0ZXJzIG9yIHN0cmluZ3MpLgogICAgICAqIChGb3IgY2hhcmFjdGVycyBvbmx5LCB0aGlz
IGlzIGxpa2Ugd2hpbGUgY29udGFpbnMoY3VycmVudCk9PVRSVUUpLgogICAgICAqCiAgICAgICog
V2hlbiBzcGFuKCkgcmV0dXJucywgdGhlIHN1YnN0cmluZyBiZXR3ZWVuIHdoZXJlIGl0IHN0YXJ0
ZWQgYW5kIHRoZSBwb3NpdGlvbgogICAgICAqIGl0IHJldHVybmVkIGNvbnNpc3RzIG9ubHkgb2Yg
c2V0IGVsZW1lbnRzIChjaGFyYWN0ZXJzIG9yIHN0cmluZ3MpIHRoYXQgYXJlIGluIHRoZSBzZXQu
CiAgICAgICoKLSAgICAgKiBJZiBhIHNldCBjb250YWlucyBzdHJpbmdzLCB0aGVuIHRoZSBzcGFu
IHdpbGwgYmUgdGhlIGxvbmdlc3Qgc3Vic3RyaW5nCi0gICAgICogbWF0Y2hpbmcgYW55IG9mIHRo
ZSBwb3NzaWJsZSBjb25jYXRlbmF0aW9ucyBvZiBzZXQgZWxlbWVudHMgKGNoYXJhY3RlcnMgb3Ig
c3RyaW5ncykuCi0gICAgICogKFRoZXJlIG11c3QgYmUgYSBzaW5nbGUsIG5vbi1vdmVybGFwcGlu
ZyBjb25jYXRlbmF0aW9uIG9mIGNoYXJhY3RlcnMgb3Igc3RyaW5ncy4pCi0gICAgICogVGhpcyBp
cyBlcXVpdmFsZW50IHRvIGEgUE9TSVggcmVndWxhciBleHByZXNzaW9uIGZvciAoT1Igb2YgZWFj
aCBzZXQgZWxlbWVudCkqLgorICAgICAqIElmIGEgc2V0IGNvbnRhaW5zIHN0cmluZ3MsIHRoZW4g
dGhlIHNwYW4gd2lsbCBiZSB0aGUgbG9uZ2VzdCBzdWJzdHJpbmcgZm9yIHdoaWNoIHRoZXJlCisg
ICAgICogZXhpc3RzIGF0IGxlYXN0IG9uZSBub24tb3ZlcmxhcHBpbmcgY29uY2F0ZW5hdGlvbiBv
ZiBzZXQgZWxlbWVudHMgKGNoYXJhY3RlcnMgb3Igc3RyaW5ncykuCisgICAgICogVGhpcyBpcyBl
cXVpdmFsZW50IHRvIGEgUE9TSVggcmVndWxhciBleHByZXNzaW9uIGZvciA8Y29kZT4oT1Igb2Yg
ZWFjaCBzZXQgZWxlbWVudCkqPC9jb2RlPi4KKyAgICAgKiAoSmF2YS9JQ1UvUGVybCByZWdleCBz
dG9wcyBhdCB0aGUgZmlyc3QgbWF0Y2ggb2YgYW4gT1IuKQogICAgICAqCiAgICAgICogQHN0YWJs
ZSBJQ1UgMy44CiAgICAgICovCiAgICAgVVNFVF9TUEFOX0NPTlRBSU5FRCA9IDEsCiAgICAgLyoq
Ci0gICAgICogQ29udGludWUgYSBzcGFuKCkgd2hpbGUgdGhlcmUgaXMgYSBzZXQgZWxlbWVudCBh
dCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBDb250aW51ZXMgYSBzcGFuKCkgd2hpbGUg
dGhlcmUgaXMgYSBzZXQgZWxlbWVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAgKiBJ
bmNyZW1lbnRzIGJ5IHRoZSBsb25nZXN0IG1hdGNoaW5nIGVsZW1lbnQgYXQgZWFjaCBwb3NpdGlv
bi4KICAgICAgKiAoRm9yIGNoYXJhY3RlcnMgb25seSwgdGhpcyBpcyBsaWtlIHdoaWxlIGNvbnRh
aW5zKGN1cnJlbnQpPT1UUlVFKS4KICAgICAgKgogICAgICAqIFdoZW4gc3BhbigpIHJldHVybnMs
IHRoZSBzdWJzdHJpbmcgYmV0d2VlbiB3aGVyZSBpdCBzdGFydGVkIGFuZCB0aGUgcG9zaXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzdHJpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzdHJpbmcuaAppbmRleCBkMmVhMzFjNjc0N2Y4ZjFjMWVi
MDM3MGUyODQzYzNmNjQ0OThiMGYxLi42ZDE0MWU4ZGY2MzM4ZGM4ZTRlZDBjOWY0NGI3NmJiM2Fj
NTFhMDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c3RyaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXN0cmluZy5oCkBAIC0xLDYgKzEsNiBA
QAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxMiwgSW50ZXJu
YXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5OC0yMDE0LCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC0xMzExLDcgKzEz
MTEsNiBAQCB1X3N0ckZyb21VVEY4KFVDaGFyICpkZXN0LAogCiAvKioKICAqIENvbnZlcnQgYSBV
VEYtMTYgc3RyaW5nIHRvIFVURi04LgotICogSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3Qgd2Vs
bC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUgaXMgc2V0
LgogICoKICAqIFNhbWUgYXMgdV9zdHJUb1VURjgoKSBleGNlcHQgZm9yIHRoZSBhZGRpdGlvbmFs
IHN1YmNoYXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1ZW5jZXMs
IGluc3RlYWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3Ig
Y29kZS4KQEAgLTEzNTYsNyArMTM1NSw2IEBAIHVfc3RyVG9VVEY4V2l0aFN1YihjaGFyICpkZXN0
LAogCiAvKioKICAqIENvbnZlcnQgYSBVVEYtOCBzdHJpbmcgdG8gVVRGLTE2LgotICogSWYgdGhl
IGlucHV0IHN0cmluZyBpcyBub3Qgd2VsbC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFS
X0ZPVU5EIGVycm9yIGNvZGUgaXMgc2V0LgogICoKICAqIFNhbWUgYXMgdV9zdHJGcm9tVVRGOCgp
IGV4Y2VwdCBmb3IgdGhlIGFkZGl0aW9uYWwgc3ViY2hhciB3aGljaCBpcyBvdXRwdXQgZm9yCiAg
KiBpbGxlZ2FsIGlucHV0IHNlcXVlbmNlcywgaW5zdGVhZCBvZiBzdG9wcGluZyB3aXRoIHRoZSBV
X0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlLgpAQCAtMTUyMSw3ICsxNTE5LDYgQEAgdV9z
dHJGcm9tVVRGMzIoVUNoYXIgICAqZGVzdCwKIAogLyoqCiAgKiBDb252ZXJ0IGEgVVRGLTE2IHN0
cmluZyB0byBVVEYtMzIuCi0gKiBJZiB0aGUgaW5wdXQgc3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1l
ZCwgdGhlbiB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29kZSBpcyBzZXQuCiAgKgog
ICogU2FtZSBhcyB1X3N0clRvVVRGMzIoKSBleGNlcHQgZm9yIHRoZSBhZGRpdGlvbmFsIHN1YmNo
YXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1ZW5jZXMsIGluc3Rl
YWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQgZXJyb3IgY29kZS4K
QEAgLTE1NjYsNyArMTU2Myw2IEBAIHVfc3RyVG9VVEYzMldpdGhTdWIoVUNoYXIzMiAqZGVzdCwK
IAogLyoqCiAgKiBDb252ZXJ0IGEgVVRGLTMyIHN0cmluZyB0byBVVEYtMTYuCi0gKiBJZiB0aGUg
aW5wdXQgc3RyaW5nIGlzIG5vdCB3ZWxsLWZvcm1lZCwgdGhlbiB0aGUgVV9JTlZBTElEX0NIQVJf
Rk9VTkQgZXJyb3IgY29kZSBpcyBzZXQuCiAgKgogICogU2FtZSBhcyB1X3N0ckZyb21VVEYzMigp
IGV4Y2VwdCBmb3IgdGhlIGFkZGl0aW9uYWwgc3ViY2hhciB3aGljaCBpcyBvdXRwdXQgZm9yCiAg
KiBpbGxlZ2FsIGlucHV0IHNlcXVlbmNlcywgaW5zdGVhZCBvZiBzdG9wcGluZyB3aXRoIHRoZSBV
X0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlLgpAQCAtMTY1Miw3ICsxNjQ4LDggQEAgdV9z
dHJUb0phdmFNb2RpZmllZFVURjgoCiAKIC8qKgogICogQ29udmVydCBhIEphdmEgTW9kaWZpZWQg
VVRGLTggc3RyaW5nIHRvIGEgMTYtYml0IFVuaWNvZGUgc3RyaW5nLgotICogSWYgdGhlIGlucHV0
IHN0cmluZyBpcyBub3Qgd2VsbC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5E
IGVycm9yIGNvZGUgaXMgc2V0LgorICogSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3Qgd2VsbC1m
b3JtZWQgYW5kIG5vIHN1YnN0aXR1dGlvbiBjaGFyIGlzIHNwZWNpZmllZCwgCisgKiB0aGVuIHRo
ZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KICAqCiAgKiBUaGlzIGZ1
bmN0aW9uIGJlaGF2ZXMgYWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciBKYXZhIERh
dGFJbnB1dC5yZWFkVVRGKCkKICAqIGV4Y2VwdCB0aGF0IGl0IHRha2VzIGEgbGVuZ3RoIHBhcmFt
ZXRlciByYXRoZXIgdGhhbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUv
dXRmOC5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXRmOC5oCmluZGV4IDIxZTVmM2Qw
NDc5MDUzMTU1ZjI5NGM0Mjg4NGY0Mjc0ZGE1NDRlYjguLjdiZDBiMGU4NTI2MGYwMjBhODg1ZDU5
YWJjMjRiZjMwNTA5N2QyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ljdS91bmljb2Rl
L3V0ZjguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91dGY4LmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgotKiAgIENvcHlyaWdodCAoQykg
MTk5OS0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0
IChDKSAxOTk5LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jw
b3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKQEAgLTc4LDkgKzc4LDkgQEAgdXRmOF9jb3VudFRyYWlsQnl0ZXNbMjU2XTsK
ICAqIEBpbnRlcm5hbAogICovCiAjZGVmaW5lIFU4X0NPVU5UX1RSQUlMX0JZVEVTKGxlYWRCeXRl
KSBcCi0gICAgKChsZWFkQnl0ZSk8MHhmMCA/IFwKLSAgICAgICAgKChsZWFkQnl0ZSk+PTB4YzAp
KygobGVhZEJ5dGUpPj0weGUwKSA6IFwKLSAgICAgICAgKGxlYWRCeXRlKTwweGZlID8gMysoKGxl
YWRCeXRlKT49MHhmOCkrKChsZWFkQnl0ZSk+PTB4ZmMpIDogMCkKKyAgICAoKHVpbnQ4X3QpKGxl
YWRCeXRlKTwweGYwID8gXAorICAgICAgICAoKHVpbnQ4X3QpKGxlYWRCeXRlKT49MHhjMCkrKCh1
aW50OF90KShsZWFkQnl0ZSk+PTB4ZTApIDogXAorICAgICAgICAodWludDhfdCkobGVhZEJ5dGUp
PDB4ZmUgPyAzKygodWludDhfdCkobGVhZEJ5dGUpPj0weGY4KSsoKHVpbnQ4X3QpKGxlYWRCeXRl
KT49MHhmYykgOiAwKQogCiAvKioKICAqIENvdW50cyB0aGUgdHJhaWwgYnl0ZXMgZm9yIGEgVVRG
LTggbGVhZCBieXRlIG9mIGEgdmFsaWQgVVRGLTggc2VxdWVuY2UuCkBAIC0yNTMsNyArMjUzLDYg
QEAgdXRmOF9iYWNrMVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGlu
dDMyX3QgaSk7CiAgICAgVThfTkVYVChzLCBfdThfZ2V0X2luZGV4LCBsZW5ndGgsIGMpOyBcCiB9
CiAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQogLyoqCiAgKiBHZXQgYSBjb2RlIHBvaW50IGZy
b20gYSBzdHJpbmcgYXQgYSByYW5kb20tYWNjZXNzIG9mZnNldCwKICAqIHdpdGhvdXQgY2hhbmdp
bmcgdGhlIG9mZnNldC4KQEAgLTI3NywxNCArMjc2LDEzIEBAIHV0ZjhfYmFjazFTYWZlQm9keShj
b25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwogICogQHBhcmFtIGxl
bmd0aCBpbnQzMl90IHN0cmluZyBsZW5ndGgKICAqIEBwYXJhbSBjIG91dHB1dCBVQ2hhcjMyIHZh
cmlhYmxlLCBzZXQgdG8gVStGRkZEIGluIGNhc2Ugb2YgYW4gZXJyb3IKICAqIEBzZWUgVThfR0VU
Ci0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCiAjZGVmaW5lIFU4X0dF
VF9PUl9GRkZEKHMsIHN0YXJ0LCBpLCBsZW5ndGgsIGMpIHsgXAogICAgIGludDMyX3QgX3U4X2dl
dF9pbmRleD0oaSk7IFwKICAgICBVOF9TRVRfQ1BfU1RBUlQocywgc3RhcnQsIF91OF9nZXRfaW5k
ZXgpOyBcCiAgICAgVThfTkVYVF9PUl9GRkZEKHMsIF91OF9nZXRfaW5kZXgsIGxlbmd0aCwgYyk7
IFwKIH0KLSNlbmRpZiAvKiBVX0hJREVfRFJBRlRfQVBJICovCiAKIC8qIGRlZmluaXRpb25zIHdp
dGggZm9yd2FyZCBpdGVyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICovCiAKQEAgLTM2OCw3ICszNjYsNiBAQCB1dGY4X2JhY2sxU2FmZUJvZHkoY29uc3QgdWlu
dDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAgICB9IFwKIH0KIAotI2lmbmRl
ZiBVX0hJREVfRFJBRlRfQVBJCiAvKioKICAqIEdldCBhIGNvZGUgcG9pbnQgZnJvbSBhIHN0cmlu
ZyBhdCBhIGNvZGUgcG9pbnQgYm91bmRhcnkgb2Zmc2V0LAogICogYW5kIGFkdmFuY2UgdGhlIG9m
ZnNldCB0byB0aGUgbmV4dCBjb2RlIHBvaW50IGJvdW5kYXJ5LgpAQCAtMzkxLDcgKzM4OCw3IEBA
IHV0ZjhfYmFjazFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQz
Ml90IGkpOwogICogQHBhcmFtIGxlbmd0aCBpbnQzMl90IHN0cmluZyBsZW5ndGgKICAqIEBwYXJh
bSBjIG91dHB1dCBVQ2hhcjMyIHZhcmlhYmxlLCBzZXQgdG8gVStGRkZEIGluIGNhc2Ugb2YgYW4g
ZXJyb3IKICAqIEBzZWUgVThfTkVYVAotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1Ug
NTEKICAqLwogI2RlZmluZSBVOF9ORVhUX09SX0ZGRkQocywgaSwgbGVuZ3RoLCBjKSB7IFwKICAg
ICAoYyk9KHVpbnQ4X3QpKHMpWyhpKSsrXTsgXApAQCAtNDE5LDcgKzQxNiw2IEBAIHV0ZjhfYmFj
azFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwog
ICAgICAgICB9IFwKICAgICB9IFwKIH0KLSNlbmRpZiAvKiBVX0hJREVfRFJBRlRfQVBJICovCiAK
IC8qKgogICogQXBwZW5kIGEgY29kZSBwb2ludCB0byBhIHN0cmluZywgb3ZlcndyaXRpbmcgMSB0
byA0IGJ5dGVzLgpAQCAtNjc2LDcgKzY3Miw2IEBAIHV0ZjhfYmFjazFTYWZlQm9keShjb25zdCB1
aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwogICAgIH0gXAogfQogCi0jaWZu
ZGVmIFVfSElERV9EUkFGVF9BUEkKIC8qKgogICogTW92ZSB0aGUgc3RyaW5nIG9mZnNldCBmcm9t
IG9uZSBjb2RlIHBvaW50IGJvdW5kYXJ5IHRvIHRoZSBwcmV2aW91cyBvbmUKICAqIGFuZCBnZXQg
dGhlIGNvZGUgcG9pbnQgYmV0d2VlbiB0aGVtLgpAQCAtNjk5LDcgKzY5NCw3IEBAIHV0ZjhfYmFj
azFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwog
ICogQHBhcmFtIGkgaW50MzJfdCBzdHJpbmcgb2Zmc2V0LCBtdXN0IGJlIHN0YXJ0PGkKICAqIEBw
YXJhbSBjIG91dHB1dCBVQ2hhcjMyIHZhcmlhYmxlLCBzZXQgdG8gVStGRkZEIGluIGNhc2Ugb2Yg
YW4gZXJyb3IKICAqIEBzZWUgVThfUFJFVgotICogQGRyYWZ0IElDVSA1MQorICogQHN0YWJsZSBJ
Q1UgNTEKICAqLwogI2RlZmluZSBVOF9QUkVWX09SX0ZGRkQocywgc3RhcnQsIGksIGMpIHsgXAog
ICAgIChjKT0odWludDhfdCkocylbLS0oaSldOyBcCkBAIC03MDcsNyArNzAyLDYgQEAgdXRmOF9i
YWNrMVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMsIGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7
CiAgICAgICAgIChjKT11dGY4X3ByZXZDaGFyU2FmZUJvZHkoKGNvbnN0IHVpbnQ4X3QgKilzLCBz
dGFydCwgJihpKSwgYywgLTMpOyBcCiAgICAgfSBcCiB9Ci0jZW5kaWYgLyogVV9ISURFX0RSQUZU
X0FQSSAqLwogCiAvKioKICAqIE1vdmUgdGhlIHN0cmluZyBvZmZzZXQgZnJvbSBvbmUgY29kZSBw
b2ludCBib3VuZGFyeSB0byB0aGUgcHJldmlvdXMgb25lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaWN1L3VuaWNvZGUvdXR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91
dHlwZXMuaAppbmRleCA4ZjkyNGM5ZDE0MjQxNzkyODQ2NGI3OTQ0Nzk2MTIxNzYwMTAyOWI2Li41
Yjk4NzgzMWMzZDdkYWQzM2YxZThhZWY0ODZlNWUyMDI0YzY4MDMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pY3UvdW5pY29kZS91dHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3Uv
dW5pY29kZS91dHlwZXMuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAg
Q29weXJpZ2h0IChDKSAxOTk2LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
KyogICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgogKgpAQCAtNjQxLDEzICs2NDEsMTkgQEAgdHlwZWRlZiBlbnVtIFVFcnJv
ckNvZGUgewogICAgIFVfUkVHRVhfSU5WQUxJRF9GTEFHLCAgICAgICAgICAgICAgICAgLyoqPCBJ
bnZhbGlkIHZhbHVlIGZvciBtYXRjaCBtb2RlIGZsYWdzLiAgICAgICAgICAgICAgICAqLwogICAg
IFVfUkVHRVhfTE9PS19CRUhJTkRfTElNSVQsICAgICAgICAgICAgLyoqPCBMb29rLUJlaGluZCBw
YXR0ZXJuIG1hdGNoZXMgbXVzdCBoYXZlIGEgYm91bmRlZCBtYXhpbXVtIGxlbmd0aC4gICAgKi8K
ICAgICBVX1JFR0VYX1NFVF9DT05UQUlOU19TVFJJTkcsICAgICAgICAgIC8qKjwgUmVnZXhwcyBj
YW5ub3QgaGF2ZSBVbmljb2RlU2V0cyBjb250YWluaW5nIHN0cmluZ3MuKi8KLSAgICBVX1JFR0VY
X09DVEFMX1RPT19CSUcsICAgICAgICAgICAgICAgIC8qKjwgT2N0YWwgY2hhcmFjdGVyIGNvbnN0
YW50cyBtdXN0IGJlIDw9IDAzNzcuICAgICAgICAgKi8KLSAgICBVX1JFR0VYX01JU1NJTkdfQ0xP
U0VfQlJBQ0tFVCwgICAgICAgIC8qKjwgTWlzc2luZyBjbG9zaW5nIGJyYWNrZXQgb24gYSBicmFj
a2V0IGV4cHJlc3Npb24uICAgKi8KKyNpZm5kZWYgVV9ISURFX0RFUFJFQ0FURURfQVBJCisgICAg
VV9SRUdFWF9PQ1RBTF9UT09fQklHLCAgICAgICAgICAgICAgICAvKio8IE9jdGFsIGNoYXJhY3Rl
ciBjb25zdGFudHMgbXVzdCBiZSA8PSAwMzc3LiBAZGVwcmVjYXRlZCBJQ1UgNTQuIFRoaXMgZXJy
b3IgY2Fubm90IG9jY3VyLiAqLworI2VuZGlmICAvKiBVX0hJREVfREVQUkVDQVRFRF9BUEkgKi8K
KyAgICBVX1JFR0VYX01JU1NJTkdfQ0xPU0VfQlJBQ0tFVD1VX1JFR0VYX1NFVF9DT05UQUlOU19T
VFJJTkcrMiwgLyoqPCBNaXNzaW5nIGNsb3NpbmcgYnJhY2tldCBvbiBhIGJyYWNrZXQgZXhwcmVz
c2lvbi4gKi8KICAgICBVX1JFR0VYX0lOVkFMSURfUkFOR0UsICAgICAgICAgICAgICAgIC8qKjwg
SW4gYSBjaGFyYWN0ZXIgcmFuZ2UgW3gteV0sIHggaXMgZ3JlYXRlciB0aGFuIHkuICAgKi8KICAg
ICBVX1JFR0VYX1NUQUNLX09WRVJGTE9XLCAgICAgICAgICAgICAgIC8qKjwgUmVndWxhciBleHBy
ZXNzaW9uIGJhY2t0cmFjayBzdGFjayBvdmVyZmxvdy4gICAgICAgKi8KICAgICBVX1JFR0VYX1RJ
TUVfT1VULCAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWF4aW11bSBhbGxvd2VkIG1hdGNoIHRp
bWUgZXhjZWVkZWQgICAgICAgICAgICAgICAgKi8KICAgICBVX1JFR0VYX1NUT1BQRURfQllfQ0FM
TEVSLCAgICAgICAgICAgIC8qKjwgTWF0Y2hpbmcgb3BlcmF0aW9uIGFib3J0ZWQgYnkgdXNlciBj
YWxsYmFjayBmbi4gICAgKi8KLSAgICBVX1JFR0VYX0VSUk9SX0xJTUlULCAgICAgICAgICAgICAg
ICAgIC8qKjwgVGhpcyBtdXN0IGFsd2F5cyBiZSB0aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0
aGUgbGltaXQgZm9yIHJlZ2V4cCBlcnJvcnMgKi8KKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQor
ICAgIFVfUkVHRVhfUEFUVEVSTl9UT09fQklHLCAgICAgICAgICAgICAgLyoqPCBQYXR0ZXJuIGV4
Y2VlZHMgbGltaXRzIG9uIHNpemUgb3IgY29tcGxleGl0eS4gQGRyYWZ0IElDVSA1NSAqLworICAg
IFVfUkVHRVhfSU5WQUxJRF9DQVBUVVJFX0dST1VQX05BTUUsICAgLyoqPCBJbnZhbGlkIGNhcHR1
cmUgZ3JvdXAgbmFtZS4gQGRyYWZ0IElDVSA1NSAqLworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRf
QVBJICovCisgICAgVV9SRUdFWF9FUlJPUl9MSU1JVD1VX1JFR0VYX1NUT1BQRURfQllfQ0FMTEVS
KzMsIC8qKjwgVGhpcyBtdXN0IGFsd2F5cyBiZSB0aGUgbGFzdCB2YWx1ZSB0byBpbmRpY2F0ZSB0
aGUgbGltaXQgZm9yIHJlZ2V4cCBlcnJvcnMgKi8KIAogICAgIC8qCiAgICAgICogVGhlIGVycm9y
IGNvZGUgaW4gdGhlIHJhbmdlIDB4MTA0MDAtMHgxMDRmZiBhcmUgcmVzZXJ2ZWQgZm9yIElETkEg
cmVsYXRlZCBlcnJvciBjb2RlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNv
ZGUvdXZlcm51bS5oIGIvU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXZlcm51bS5oCmluZGV4
IGJkMGIwYzk4OThhMjM1NzllOGZiODExOWY2Y2QxNjM5YWMyYThmNDkuLjNlMmVmZjYzMWMxMDU4
NTk0MDBjMmQ3MDJjNTM4NzY4OTRiY2IwNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lj
dS91bmljb2RlL3V2ZXJudW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91dmVy
bnVtLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENv
cHlyaWdodCAoQykgMjAwMC0yMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisq
ICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMTUsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGlu
ZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKICoKQEAgLTUxLDEzICs1MSwxMyBAQAogICogIEBzdGFibGUg
SUNVIDIuNAogICovCiAjZGVmaW5lIFVfQ09QWVJJR0hUX1NUUklORyBcCi0gICIgQ29weXJpZ2h0
IChDKSAyMDEzLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uIGFu
ZCBvdGhlcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICIKKyAgIiBDb3B5cmlnaHQgKEMpIDIwMTUs
IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24gYW5kIG90aGVycy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4gIgogCiAvKiogVGhlIGN1cnJlbnQgSUNVIG1ham9yIHZlcnNp
b24gYXMgYW4gaW50ZWdlci4KICAqICBUaGlzIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBzdWJz
ZXF1ZW50IHJlbGVhc2VzIG9mIElDVQogICogIEBzdGFibGUgSUNVIDIuNAogICovCi0jZGVmaW5l
IFVfSUNVX1ZFUlNJT05fTUFKT1JfTlVNIDUyCisjZGVmaW5lIFVfSUNVX1ZFUlNJT05fTUFKT1Jf
TlVNIDU1CiAKIC8qKiBUaGUgY3VycmVudCBJQ1UgbWlub3IgdmVyc2lvbiBhcyBhbiBpbnRlZ2Vy
LgogICogIFRoaXMgdmFsdWUgd2lsbCBjaGFuZ2UgaW4gdGhlIHN1YnNlcXVlbnQgcmVsZWFzZXMg
b2YgSUNVCkBAIC04Myw3ICs4Myw3IEBACiAgKiAgVGhpcyB2YWx1ZSB3aWxsIGNoYW5nZSBpbiB0
aGUgc3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UKICAqICBAc3RhYmxlIElDVSAyLjYKICAqLwot
I2RlZmluZSBVX0lDVV9WRVJTSU9OX1NVRkZJWCBfNTIKKyNkZWZpbmUgVV9JQ1VfVkVSU0lPTl9T
VUZGSVggXzU1CiAKIC8qKgogICogXGRlZiBVX0RFRjJfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRQpA
QCAtMTE4LDE5ICsxMTgsMTkgQEAKICAqICBUaGlzIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBz
dWJzZXF1ZW50IHJlbGVhc2VzIG9mIElDVQogICogIEBzdGFibGUgSUNVIDIuNAogICovCi0jZGVm
aW5lIFVfSUNVX1ZFUlNJT04gIjUyLjEiCisjZGVmaW5lIFVfSUNVX1ZFUlNJT04gIjU1LjEiCiAK
IC8qKiBUaGUgY3VycmVudCBJQ1UgbGlicmFyeSBtYWpvci9taW5vciB2ZXJzaW9uIGFzIGEgc3Ry
aW5nIHdpdGhvdXQgZG90cywgZm9yIGxpYnJhcnkgbmFtZSBzdWZmaXhlcy4KICAqICBUaGlzIHZh
bHVlIHdpbGwgY2hhbmdlIGluIHRoZSBzdWJzZXF1ZW50IHJlbGVhc2VzIG9mIElDVQogICogIEBz
dGFibGUgSUNVIDIuNgogICovCi0jZGVmaW5lIFVfSUNVX1ZFUlNJT05fU0hPUlQgIjUyIgorI2Rl
ZmluZSBVX0lDVV9WRVJTSU9OX1NIT1JUICI1NSIKIAogI2lmbmRlZiBVX0hJREVfSU5URVJOQUxf
QVBJCiAvKiogRGF0YSB2ZXJzaW9uIGluIElDVTRDLgogICogQGludGVybmFsIElDVSA0LjQgSW50
ZXJuYWwgVXNlIE9ubHkKICAqKi8KLSNkZWZpbmUgVV9JQ1VfREFUQV9WRVJTSU9OICI1Mi4xIgor
I2RlZmluZSBVX0lDVV9EQVRBX1ZFUlNJT04gIjU1LjEiCiAjZW5kaWYgIC8qIFVfSElERV9JTlRF
Uk5BTF9BUEkgKi8KIAogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTE0Niw3ICsxNDYsNyBAQAog
ICogVGhpcyB2YWx1ZSBtYXkgY2hhbmdlIGluIHN1YnNlcXVlbnQgcmVsZWFzZXMgb2YgSUNVLgog
ICogQHN0YWJsZSBJQ1UgMi40CiAgKi8KLSNkZWZpbmUgVUNPTF9SVU5USU1FX1ZFUlNJT04gNwor
I2RlZmluZSBVQ09MX1JVTlRJTUVfVkVSU0lPTiA5CiAKIC8qKgogICogQ29sbGF0aW9uIGJ1aWxk
ZXIgY29kZSB2ZXJzaW9uLgpAQCAtMTU1LDEzICsxNTUsMTYgQEAKICAqIFRoaXMgdmFsdWUgbWF5
IGNoYW5nZSBpbiBzdWJzZXF1ZW50IHJlbGVhc2VzIG9mIElDVS4KICAqIEBzdGFibGUgSUNVIDIu
NAogICovCi0jZGVmaW5lIFVDT0xfQlVJTERFUl9WRVJTSU9OIDgKKyNkZWZpbmUgVUNPTF9CVUlM
REVSX1ZFUlNJT04gOQogCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQogLyoqCi0gKiBU
aGlzIGlzIHRoZSB2ZXJzaW9uIG9mIGNvbGxhdGlvbiB0YWlsb3JpbmdzLgotICogVGhpcyB2YWx1
ZSBtYXkgY2hhbmdlIGluIHN1YnNlcXVlbnQgcmVsZWFzZXMgb2YgSUNVLgotICogQHN0YWJsZSBJ
Q1UgMi40CisgKiBDb25zdGFudCAxLgorICogVGhpcyB3YXMgaW50ZW5kZWQgdG8gYmUgdGhlIHZl
cnNpb24gb2YgY29sbGF0aW9uIHRhaWxvcmluZ3MsCisgKiBidXQgaW5zdGVhZCB0aGUgdGFpbG9y
aW5nIGRhdGEgY2FycmllcyBhIHZlcnNpb24gbnVtYmVyLgorICogQGRlcHJlY2F0ZWQgSUNVIDU0
CiAgKi8KICNkZWZpbmUgVUNPTF9UQUlMT1JJTkdTX1ZFUlNJT04gMQorI2VuZGlmICAvKiBVX0hJ
REVfREVQUkVDQVRFRF9BUEkgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9pY3UvUkVBRE1FIGIvU291cmNlL1dlYktpdC9tYWMvaWN1L1JFQURNRQppbmRleCAzODll
MmU4MDEzYjljMGJkNjI0ODY5ZDIwMmMxMzg3OTQ1YWQ3NTllLi4zMjZlZmUxNzk4NjQ1MDk1ZTlh
NmM0ZWMzYTI5Y2QyZDQ5MTRiMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3Uv
UkVBRE1FCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS9SRUFETUUKQEAgLTEsNCArMSwxMiBA
QAotVGhlIGhlYWRlcnMgaW4gdGhpcyBkaXJlY3RvcnkgYXJlIGZvciBjb21waWxpbmcgb24gTWFj
IE9TIFggMTAuNC4KLVRoZSBNYWMgT1MgWCAxMC40IHJlbGVhc2UgaW5jbHVkZXMgdGhlIElDVSBi
aW5hcnksIGJ1dCBub3QgSUNVIGhlYWRlcnMuCitUaGUgaGVhZGVycyBpbiB0aGlzIGRpcmVjdG9y
eSBhcmUgZm9yIGNvbXBpbGluZyBvbiBNYWMgT1MgWCAxMC40IGFuZCBuZXdlci4KK1RoZSBNYWMg
T1MgWCAxMC40IGFuZCBzdWJzZXF1ZW50IHJlbGVhc2VzIGluY2x1ZGUgdGhlIElDVSBiaW5hcnks
IGJ1dCBub3QgSUNVIGhlYWRlcnMuCisKIEZvciBvdGhlciBwbGF0Zm9ybXMsIGluc3RhbGxlZCBJ
Q1UgaGVhZGVycyBzaG91bGQgYmUgdXNlZCByYXRoZXIgdGhhbiB0aGVzZS4KLVRoZXkgYXJlIHNw
ZWNpZmljIHRvIE1hYyBPUyBYIDEwLjQuCitUaGV5IGFyZSBzcGVjaWZpYyB0byB0aGUgTWFjIE9T
IFggcGxhdGZvcm0uCisKK1RoZSBoZWFkZXJzIGhlcmUgYXJlIGZyb20gSUNVIHZlcnNpb24gNTUu
MSBkb3dubG9hZGVkIGZyb20gdGhlIElDVSBwcm9qZWN0LgoraHR0cDovL3NpdGUuaWN1LXByb2pl
Y3Qub3JnL2Rvd25sb2FkLzU1I1RPQy1JQ1U0Qy1Eb3dubG9hZAorCitUaGUgZm9sbG93aW5nIGNo
YW5nZXMgYXJlIG5lZWRlZCBhZ2FpbiBpZiB5b3UgdXBkYXRlIHRoZSBmaWxlczoKK3V0eXBlcy5o
OjYyIFVfU0hPV19DUExVU1BMVVNfQVBJIDAKK3Vjb25maWcuaDo5MCBVX0RJU0FCTEVfUkVOQU1J
TkcgMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvbG9jYWxwb2lu
dGVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS9sb2NhbHBvaW50ZXIuaAppbmRl
eCBlM2NjYjI1ODE1NGNjMjE2MDk4ZWJjMjczOWZiN2I2ODIyMDU5Yzk4Li5lM2FhYmY2NWMzODA3
MDZmYTA4ODUzNjk3NDg3YzcyN2FiOWFiYWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9pY3UvdW5pY29kZS9sb2NhbHBvaW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3Uv
dW5pY29kZS9sb2NhbHBvaW50ZXIuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCiAqCi0qICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTIsIEludGVybmF0aW9uYWwg
QnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNCwgSW50ZXJuYXRp
b25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwg
UmlnaHRzIFJlc2VydmVkLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTkxLDYgKzE5
MSwyNiBAQCBwdWJsaWM6CiAgICAgICogQHN0YWJsZSBJQ1UgNC40CiAgICAgICovCiAgICAgZXhw
bGljaXQgTG9jYWxQb2ludGVyKFQgKnA9TlVMTCkgOiBMb2NhbFBvaW50ZXJCYXNlPFQ+KHApIHt9
CisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvciB0
YWtlcyBvd25lcnNoaXAgYW5kIHJlcG9ydHMgYW4gZXJyb3IgaWYgTlVMTC4KKyAgICAgKgorICAg
ICAqIFRoaXMgY29uc3RydWN0b3IgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIG90aGVyLWNs
YXNzIGNvbnN0cnVjdG9ycworICAgICAqIHRoYXQgbWF5IHJlcG9ydCBhIGZhaWx1cmUgVUVycm9y
Q29kZSwKKyAgICAgKiBzbyB0aGF0IGNhbGxlcnMgbmVlZCB0byBjaGVjayBvbmx5IGZvciBVX0ZB
SUxVUkUoZXJyb3JDb2RlKQorICAgICAqIGFuZCBub3QgYWxzbyBzZXBhcmF0ZWx5IGZvciBpc051
bGwoKS4KKyAgICAgKgorICAgICAqIEBwYXJhbSBwIHNpbXBsZSBwb2ludGVyIHRvIGFuIG9iamVj
dCB0aGF0IGlzIGFkb3B0ZWQKKyAgICAgKiBAcGFyYW0gZXJyb3JDb2RlIGluL291dCBVRXJyb3JD
b2RlLCBzZXQgdG8gVV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUgorICAgICAqICAgICBpZiBwPT1O
VUxMIGFuZCBubyBvdGhlciBmYWlsdXJlIGNvZGUgaGFkIGJlZW4gc2V0CisgICAgICogQGRyYWZ0
IElDVSA1NQorICAgICAqLworICAgIExvY2FsUG9pbnRlcihUICpwLCBVRXJyb3JDb2RlICZlcnJv
ckNvZGUpIDogTG9jYWxQb2ludGVyQmFzZTxUPihwKSB7CisgICAgICAgIGlmKHA9PU5VTEwgJiYg
VV9TVUNDRVNTKGVycm9yQ29kZSkpIHsKKyAgICAgICAgICAgIGVycm9yQ29kZT1VX01FTU9SWV9B
TExPQ0FUSU9OX0VSUk9SOworICAgICAgICB9CisgICAgfQorI2VuZGlmICAvKiBVX0hJREVfRFJB
RlRfQVBJICovCiAgICAgLyoqCiAgICAgICogRGVzdHJ1Y3RvciBkZWxldGVzIHRoZSBvYmplY3Qg
aXQgb3ducy4KICAgICAgKiBAc3RhYmxlIElDVSA0LjQKQEAgLTIwOCw2ICsyMjgsMzQgQEAgcHVi
bGljOgogICAgICAgICBkZWxldGUgTG9jYWxQb2ludGVyQmFzZTxUPjo6cHRyOwogICAgICAgICBM
b2NhbFBvaW50ZXJCYXNlPFQ+OjpwdHI9cDsKICAgICB9CisjaWZuZGVmIFVfSElERV9EUkFGVF9B
UEkKKyAgICAvKioKKyAgICAgKiBEZWxldGVzIHRoZSBvYmplY3QgaXQgb3ducywKKyAgICAgKiBh
bmQgYWRvcHRzICh0YWtlcyBvd25lcnNoaXAgb2YpIHRoZSBvbmUgcGFzc2VkIGluLgorICAgICAq
CisgICAgICogSWYgVV9GQUlMVVJFKGVycm9yQ29kZSksIHRoZW4gdGhlIGN1cnJlbnQgb2JqZWN0
IGlzIHJldGFpbmVkIGFuZCB0aGUgbmV3IG9uZSBkZWxldGVkLgorICAgICAqCisgICAgICogSWYg
VV9TVUNDRVNTKGVycm9yQ29kZSkgYnV0IHRoZSBpbnB1dCBwb2ludGVyIGlzIE5VTEwsCisgICAg
ICogdGhlbiBVX01FTU9SWV9BTExPQ0FUSU9OX0VSUk9SIGlzIHNldCwKKyAgICAgKiB0aGUgY3Vy
cmVudCBvYmplY3QgaXMgZGVsZXRlZCwgYW5kIE5VTEwgaXMgc2V0LgorICAgICAqCisgICAgICog
QHBhcmFtIHAgc2ltcGxlIHBvaW50ZXIgdG8gYW4gb2JqZWN0IHRoYXQgaXMgYWRvcHRlZAorICAg
ICAqIEBwYXJhbSBlcnJvckNvZGUgaW4vb3V0IFVFcnJvckNvZGUsIHNldCB0byBVX01FTU9SWV9B
TExPQ0FUSU9OX0VSUk9SCisgICAgICogICAgIGlmIHA9PU5VTEwgYW5kIG5vIG90aGVyIGZhaWx1
cmUgY29kZSBoYWQgYmVlbiBzZXQKKyAgICAgKiBAZHJhZnQgSUNVIDU1CisgICAgICovCisgICAg
dm9pZCBhZG9wdEluc3RlYWRBbmRDaGVja0Vycm9yQ29kZShUICpwLCBVRXJyb3JDb2RlICZlcnJv
ckNvZGUpIHsKKyAgICAgICAgaWYoVV9TVUNDRVNTKGVycm9yQ29kZSkpIHsKKyAgICAgICAgICAg
IGRlbGV0ZSBMb2NhbFBvaW50ZXJCYXNlPFQ+OjpwdHI7CisgICAgICAgICAgICBMb2NhbFBvaW50
ZXJCYXNlPFQ+OjpwdHI9cDsKKyAgICAgICAgICAgIGlmKHA9PU5VTEwpIHsKKyAgICAgICAgICAg
ICAgICBlcnJvckNvZGU9VV9NRU1PUllfQUxMT0NBVElPTl9FUlJPUjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRlbGV0ZSBwOworICAgICAgICB9CisgICAg
fQorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCiB9OwogCiAvKioKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3BsYXRmb3JtLmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9pY3UvdW5pY29kZS9wbGF0Zm9ybS5oCmluZGV4IDFiMmFiMzA2ZWEzMzc4MjlmZDk5YjJj
MGYyODI3MGQyOWM3YmIyZmYuLjQ4MjkwMDA2OWQxMGNhODcyNjkzZWE4MTljNWU0MzRlZjRjZWVk
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3BsYXRmb3JtLmgK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvcGxhdGZvcm0uaApAQCAtMSw3ICsx
LDcgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQgKEMpIDE5
OTctMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAo
QykgMTk5Ny0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9y
YXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKQEAgLTEyMSwxMCArMTIxLDE2IEBACiAjZGVmaW5lIFVfUEZfUU5YIDM3MDAKIC8q
KiBMaW51eCBpcyBhIFVuaXgtbGlrZSBvcGVyYXRpbmcgc3lzdGVtLiBAaW50ZXJuYWwgKi8KICNk
ZWZpbmUgVV9QRl9MSU5VWCA0MDAwCisvKioKKyAqIE5hdGl2ZSBDbGllbnQgaXMgcHJldHR5IGNs
b3NlIHRvIExpbnV4LgorICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vbmF0aXZl
LWNsaWVudCBhbmQKKyAqICBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9uYXRpdmVjbGllbnQKKyAq
ICBAaW50ZXJuYWwKKyAqLworI2RlZmluZSBVX1BGX0JST1dTRVJfTkFUSVZFX0NMSUVOVCA0MDIw
CiAvKiogQW5kcm9pZCBpcyBiYXNlZCBvbiBMaW51eC4gQGludGVybmFsICovCiAjZGVmaW5lIFVf
UEZfQU5EUk9JRCA0MDUwCi0vKiogIkNsYXNzaWMiIE1hYyBPUyAoMTk4NC0yMDAxKSBAaW50ZXJu
YWwgKi8KLSNkZWZpbmUgVV9QRl9DTEFTU0lDX01BQ09TIDgwMDAKKy8qIE1heGltdW0gdmFsdWUg
Zm9yIExpbnV4LWJhc2VkIHBsYXRmb3JtIGlzIDQ0OTkgKi8KIC8qKiB6L09TIGlzIHRoZSBzdWNj
ZXNzb3IgdG8gT1MvMzkwIHdoaWNoIHdhcyB0aGUgc3VjY2Vzc29yIHRvIE1WUy4gQGludGVybmFs
ICovCiAjZGVmaW5lIFVfUEZfT1MzOTAgOTAwMAogLyoqICJJQk0gaSIgaXMgdGhlIGN1cnJlbnQg
bmFtZSBvZiB3aGF0IHVzZWQgdG8gYmUgaTUvT1MgYW5kIGVhcmxpZXIgT1MvNDAwLiBAaW50ZXJu
YWwgKi8KQEAgLTE0Miw2ICsxNDgsOCBAQAogIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfQU5E
Uk9JRAogICAgIC8qIEFuZHJvaWQgd2NoYXJfdCBzdXBwb3J0IGRlcGVuZHMgb24gdGhlIEFQSSBs
ZXZlbC4gKi8KICMgICBpbmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZlbC5oPgorI2VsaWYgZGVmaW5l
ZChfX25hdGl2ZV9jbGllbnRfXykKKyMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0JST1dTRVJf
TkFUSVZFX0NMSUVOVAogI2VsaWYgZGVmaW5lZChsaW51eCkgfHwgZGVmaW5lZChfX2xpbnV4X18p
IHx8IGRlZmluZWQoX19saW51eCkKICMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0xJTlVYCiAj
ZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgZGVmaW5lZChfX01BQ0hfXykKQEAgLTE2OSw4ICsx
NzcsNiBAQAogIyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfSFBVWAogI2VsaWYgZGVmaW5lZChz
Z2kpIHx8IGRlZmluZWQoX19zZ2kpCiAjICAgZGVmaW5lIFVfUExBVEZPUk0gVV9QRl9JUklYCi0j
ZWxpZiBkZWZpbmVkKG1hY2ludG9zaCkKLSMgICBkZWZpbmUgVV9QTEFURk9STSBVX1BGX0NMQVNT
SUNfTUFDT1MKICNlbGlmIGRlZmluZWQoX19RTlhfXykgfHwgZGVmaW5lZChfX1FOWE5UT19fKQog
IyAgIGRlZmluZSBVX1BMQVRGT1JNIFVfUEZfUU5YCiAjZWxpZiBkZWZpbmVkKF9fVE9TX01WU19f
KQpAQCAtMjMwLDcgKzIzNiw3IEBACiAgKi8KICNpZmRlZiBVX1BMQVRGT1JNX0lNUExFTUVOVFNf
UE9TSVgKICAgICAvKiBVc2UgdGhlIHByZWRlZmluZWQgdmFsdWUuICovCi0jZWxpZiBVX1BMQVRG
T1JNX1VTRVNfT05MWV9XSU4zMl9BUEkgfHwgVV9QTEFURk9STSA9PSBVX1BGX0NMQVNTSUNfTUFD
T1MKKyNlbGlmIFVfUExBVEZPUk1fVVNFU19PTkxZX1dJTjMyX0FQSQogIyAgIGRlZmluZSBVX1BM
QVRGT1JNX0lNUExFTUVOVFNfUE9TSVggMAogI2Vsc2UKICMgICBkZWZpbmUgVV9QTEFURk9STV9J
TVBMRU1FTlRTX1BPU0lYIDEKQEAgLTI0Myw3ICsyNDksNyBAQAogICovCiAjaWZkZWYgVV9QTEFU
Rk9STV9JU19MSU5VWF9CQVNFRAogICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1ZS4gKi8K
LSNlbGlmIFVfUEZfTElOVVggPD0gVV9QTEFURk9STSAmJiBVX1BMQVRGT1JNIDw9IFVfUEZfQU5E
Uk9JRAorI2VsaWYgVV9QRl9MSU5VWCA8PSBVX1BMQVRGT1JNICYmIFVfUExBVEZPUk0gPD0gNDQ5
OQogIyAgIGRlZmluZSBVX1BMQVRGT1JNX0lTX0xJTlVYX0JBU0VEIDEKICNlbHNlCiAjICAgZGVm
aW5lIFVfUExBVEZPUk1fSVNfTElOVVhfQkFTRUQgMApAQCAtNTc5LDcgKzU4NSw3IEBACiAgKi8K
ICNpZmRlZiBVX1NJWkVPRl9XQ0hBUl9UCiAgICAgLyogVXNlIHRoZSBwcmVkZWZpbmVkIHZhbHVl
LiAqLwotI2VsaWYgKFVfUExBVEZPUk0gPT0gVV9QRl9BTkRST0lEICYmIF9fQU5EUk9JRF9BUElf
XyA8IDkpIHx8IFVfUExBVEZPUk0gPT0gVV9QRl9DTEFTU0lDX01BQ09TCisjZWxpZiAoVV9QTEFU
Rk9STSA9PSBVX1BGX0FORFJPSUQgJiYgX19BTkRST0lEX0FQSV9fIDwgOSkKICAgICAvKgogICAg
ICAqIENsYXNzaWMgTWFjIE9TIGFuZCBNYWMgT1MgWCBiZWZvcmUgMTAuMyAoUGFudGhlcikgZGlk
IG5vdCBzdXBwb3J0IHdjaGFyX3Qgb3Igd3N0cmluZy4KICAgICAgKiBOZXdlciBNYWMgT1MgWCBo
YXMgc2l6ZSA0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvcHV0
aWwuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3B1dGlsLmgKaW5kZXggNmZjN2U5
Y2Q1YTYyYTU1OTQ2YWU2ZDc3ODdiZjI1ZDIzNjExMGExYS4uZGYxYjE3YmFkMGY2NTM1MTBmZGYx
OGRkNGM3OGVhZDk0YThhMjI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3Vu
aWNvZGUvcHV0aWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS9wdXRpbC5o
CkBAIC0xLDcgKzEsNyBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgotKiAgIENvcHly
aWdodCAoQykgMTk5Ny0yMDExLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAg
Q29weXJpZ2h0IChDKSAxOTk3LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
ICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgpAQCAtNjYsNiArNjYsNyBAQAogICovCiBVX1NUQUJMRSBjb25z
dCBjaGFyKiBVX0VYUE9SVDIgdV9nZXREYXRhRGlyZWN0b3J5KHZvaWQpOwogCisKIC8qKiAKICAq
IFNldCB0aGUgSUNVIGRhdGEgZGlyZWN0b3J5LiAKICAqIFRoZSBkYXRhIGRpcmVjdG9yeSBpcyB3
aGVyZSBjb21tb24gZm9ybWF0IElDVSBkYXRhIGZpbGVzICguZGF0IGZpbGVzKQpAQCAtODcsMjAg
Kzg4LDM2IEBAIFVfU1RBQkxFIGNvbnN0IGNoYXIqIFVfRVhQT1JUMiB1X2dldERhdGFEaXJlY3Rv
cnkodm9pZCk7CiAgKi8KIFVfU1RBQkxFIHZvaWQgVV9FWFBPUlQyIHVfc2V0RGF0YURpcmVjdG9y
eShjb25zdCBjaGFyICpkaXJlY3RvcnkpOwogCisjaWZuZGVmIFVfSElERV9JTlRFUk5BTF9BUEkK
Ky8qKgorICAqIFJldHVybiB0aGUgdGltZSB6b25lIGZpbGVzIG92ZXJyaWRlIGRpcmVjdG9yeSwg
b3IgYW4gZW1wdHkgc3RyaW5nIGlmCisgICogbm8gZGlyZWN0b3J5IHdhcyBzcGVjaWZpZWQuIENl
cnRhaW4gdGltZSB6b25lIHJlc291cmNlcyB3aWxsIGJlIHByZWZlcnJlbnRpYWxseQorICAqIGxv
YWRlZCBmcm9tIGluZGl2aWR1YWwgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCisgICoKKyAgKiBA
cmV0dXJuIHRoZSB0aW1lIHpvbmUgZGF0YSBvdmVycmlkZSBkaXJlY3RvcnkuCisgICogQGludGVy
bmFsCisgICovIAorVV9JTlRFUk5BTCBjb25zdCBjaGFyICogVV9FWFBPUlQyIHVfZ2V0VGltZVpv
bmVGaWxlc0RpcmVjdG9yeShVRXJyb3JDb2RlICpzdGF0dXMpOworCisvKioKKyAgKiBTZXQgdGhl
IHRpbWUgem9uZSBmaWxlcyBvdmVycmlkZSBkaXJlY3RvcnkuCisgICogVGhpcyBmdW5jdGlvbiBp
cyBub3QgdGhyZWFkIHNhZmU7IGl0IG11c3Qgbm90IGJlIGNhbGxlZCBjb25jdXJyZW50bHkgd2l0
aAorICAqICAgdV9nZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5KCkgb3IgYW55IG90aGVyIHVzZSBv
ZiBJQ1UgdGltZSB6b25lIGZ1bmN0aW9ucy4KKyAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5
IGJlIGNhbGxlZCBiZWZvcmUgdXNpbmcgYW55IElDVSBzZXJ2aWNlIHRoYXQKKyAgKiAgIHdpbGwg
YWNjZXNzIHRoZSB0aW1lIHpvbmUgZGF0YS4KKyAgKiBAaW50ZXJuYWwKKyAgKi8KK1VfSU5URVJO
QUwgdm9pZCBVX0VYUE9SVDIgdV9zZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5KGNvbnN0IGNoYXIg
KnBhdGgsIFVFcnJvckNvZGUgKnN0YXR1cyk7CisjZW5kaWYgIC8qIFVfSElERV9JTlRFUk5BTF9B
UEkgKi8KKworCiAvKioKICAqIEB7CiAgKiBGaWxlc3lzdGVtIGZpbGUgYW5kIHBhdGggc2VwYXJh
dG9yIGNoYXJhY3RlcnMuCiAgKiBFeGFtcGxlOiAnLycgYW5kICc6JyBvbiBVbml4LCAnXFwnIGFu
ZCAnOycgb24gV2luZG93cy4KICAqIEBzdGFibGUgSUNVIDIuMAogICovCi0jaWYgVV9QTEFURk9S
TSA9PSBVX1BGX0NMQVNTSUNfTUFDT1MKLSMgICBkZWZpbmUgVV9GSUxFX1NFUF9DSEFSICc6Jwot
IyAgIGRlZmluZSBVX0ZJTEVfQUxUX1NFUF9DSEFSICc6JwotIyAgIGRlZmluZSBVX1BBVEhfU0VQ
X0NIQVIgJzsnCi0jICAgZGVmaW5lIFVfRklMRV9TRVBfU1RSSU5HICI6IgotIyAgIGRlZmluZSBV
X0ZJTEVfQUxUX1NFUF9TVFJJTkcgIjoiCi0jICAgZGVmaW5lIFVfUEFUSF9TRVBfU1RSSU5HICI7
IgotI2VsaWYgVV9QTEFURk9STV9VU0VTX09OTFlfV0lOMzJfQVBJCisjaWYgVV9QTEFURk9STV9V
U0VTX09OTFlfV0lOMzJfQVBJCiAjICAgZGVmaW5lIFVfRklMRV9TRVBfQ0hBUiAnXFwnCiAjICAg
ZGVmaW5lIFVfRklMRV9BTFRfU0VQX0NIQVIgJy8nCiAjICAgZGVmaW5lIFVfUEFUSF9TRVBfQ0hB
UiAnOycKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VjaGFyLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91Y2hhci5oCmluZGV4IDFhNWI3MWI0NjNl
NDgzNmVlNTEzNTJiYWFjNmI0ZTRjNzI2M2YzMWUuLjFkM2FlMGRkNDNmNDM1ZmJmMDFlYzJkZWUw
ZTUxNjM5MjFkNmU1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2Rl
L3VjaGFyLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdWNoYXIuaApAQCAt
MSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk3LTIw
MTMsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5
OTctMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9u
IGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgpAQCAt
MzksNyArMzksNyBAQCBVX0NERUNMX0JFR0lOCiAgKiBAc2VlIHVfZ2V0VW5pY29kZVZlcnNpb24K
ICAqIEBzdGFibGUgSUNVIDIuMAogICovCi0jZGVmaW5lIFVfVU5JQ09ERV9WRVJTSU9OICI2LjMi
CisjZGVmaW5lIFVfVU5JQ09ERV9WRVJTSU9OICI3LjAiCiAKIC8qKgogICogXGZpbGUKQEAgLTE0
NTIsOCArMTQ1Miw3NSBAQCBlbnVtIFVCbG9ja0NvZGUgewogICAgIC8qKiBAc3RhYmxlIElDVSA0
OSAqLwogICAgIFVCTE9DS19UQUtSSSA9IDIyMCwgLypbMTE2ODBdKi8KIAotICAgIC8qKiBAc3Rh
YmxlIElDVSAyLjAgKi8KLSAgICBVQkxPQ0tfQ09VTlQgPSAyMjEsCisgICAgLyogTmV3IGJsb2Nr
cyBpbiBVbmljb2RlIDcuMCAqLworCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJM
T0NLX0JBU1NBX1ZBSCA9IDIyMSwgLypbMTZBRDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVQkxPQ0tfQ0FVQ0FTSUFOX0FMQkFOSUFOID0gMjIyLCAvKlsxMDUzMF0qLworICAg
IC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19DT1BUSUNfRVBBQ1RfTlVNQkVSUyA9
IDIyMywgLypbMTAyRTBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tf
Q09NQklOSU5HX0RJQUNSSVRJQ0FMX01BUktTX0VYVEVOREVEID0gMjI0LCAvKlsxQUIwXSovCisg
ICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0RVUExPWUFOID0gMjI1LCAvKlsx
QkMwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19FTEJBU0FOID0g
MjI2LCAvKlsxMDUwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19H
RU9NRVRSSUNfU0hBUEVTX0VYVEVOREVEID0gMjI3LCAvKlsxRjc4MF0qLworICAgIC8qKiBAc3Rh
YmxlIElDVSA1NCAqLworICAgIFVCTE9DS19HUkFOVEhBID0gMjI4LCAvKlsxMTMwMF0qLworICAg
IC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19LSE9KS0kgPSAyMjksIC8qWzExMjAw
XSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX0tIVURBV0FESSA9IDIz
MCwgLypbMTEyQjBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTEFU
SU5fRVhURU5ERURfRSA9IDIzMSwgLypbQUIzMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAq
LworICAgIFVCTE9DS19MSU5FQVJfQSA9IDIzMiwgLypbMTA2MDBdKi8KKyAgICAvKiogQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfTUFIQUpBTkkgPSAyMzMsIC8qWzExMTUwXSovCisgICAg
LyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX01BTklDSEFFQU4gPSAyMzQsIC8qWzEw
QUMwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX01FTkRFX0tJS0FL
VUkgPSAyMzUsIC8qWzFFODAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJM
T0NLX01PREkgPSAyMzYsIC8qWzExNjAwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVUJMT0NLX01STyA9IDIzNywgLypbMTZBNDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQg
Ki8KKyAgICBVQkxPQ0tfTVlBTk1BUl9FWFRFTkRFRF9CID0gMjM4LCAvKltBOUUwXSovCisgICAg
LyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX05BQkFUQUVBTiA9IDIzOSwgLypbMTA4
ODBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfT0xEX05PUlRIX0FS
QUJJQU4gPSAyNDAsIC8qWzEwQTgwXSovCisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAg
VUJMT0NLX09MRF9QRVJNSUMgPSAyNDEsIC8qWzEwMzUwXSovCisgICAgLyoqIEBzdGFibGUgSUNV
IDU0ICovCisgICAgVUJMT0NLX09STkFNRU5UQUxfRElOR0JBVFMgPSAyNDIsIC8qWzFGNjUwXSov
CisgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgVUJMT0NLX1BBSEFXSF9ITU9ORyA9IDI0
MywgLypbMTZCMDBdKi8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfUEFM
TVlSRU5FID0gMjQ0LCAvKlsxMDg2MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVCTE9DS19QQVVfQ0lOX0hBVSA9IDI0NSwgLypbMTFBQzBdKi8KKyAgICAvKiogQHN0YWJsZSBJ
Q1UgNTQgKi8KKyAgICBVQkxPQ0tfUFNBTFRFUl9QQUhMQVZJID0gMjQ2LCAvKlsxMEI4MF0qLwor
ICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgIFVCTE9DS19TSE9SVEhBTkRfRk9STUFUX0NP
TlRST0xTID0gMjQ3LCAvKlsxQkNBMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVCTE9DS19TSURESEFNID0gMjQ4LCAvKlsxMTU4MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1
NCAqLworICAgIFVCTE9DS19TSU5IQUxBX0FSQ0hBSUNfTlVNQkVSUyA9IDI0OSwgLypbMTExRTBd
Ki8KKyAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVQkxPQ0tfU1VQUExFTUVOVEFMX0FS
Uk9XU19DID0gMjUwLCAvKlsxRjgwMF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVCTE9DS19USVJIVVRBID0gMjUxLCAvKlsxMTQ4MF0qLworICAgIC8qKiBAc3RhYmxlIElDVSA1
NCAqLworICAgIFVCTE9DS19XQVJBTkdfQ0lUSSA9IDI1MiwgLypbMTE4QTBdKi8KKworICAgIC8q
KiBAc3RhYmxlIElDVSAyLjAgKi8KKyAgICBVQkxPQ0tfQ09VTlQgPSAyNTMsCiAKICAgICAvKiog
QHN0YWJsZSBJQ1UgMi4wICovCiAgICAgVUJMT0NLX0lOVkFMSURfQ09ERT0tMQpAQCAtMTY2Miw2
ICsxNzI5LDM0IEBAIHR5cGVkZWYgZW51bSBVSm9pbmluZ0dyb3VwIHsKICAgICBVX0pHX0ZBUlNJ
X1lFSCwgLyoqPCBAc3RhYmxlIElDVSA0LjQgKi8KICAgICBVX0pHX05ZQSwgICAgICAgLyoqPCBA
c3RhYmxlIElDVSA0LjQgKi8KICAgICBVX0pHX1JPSElOR1lBX1lFSCwgIC8qKjwgQHN0YWJsZSBJ
Q1UgNDkgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fQUxFUEgsICAvKio8IEBzdGFibGUgSUNVIDU0
ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0FZSU4sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVV9KR19NQU5JQ0hBRUFOX0JFVEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9K
R19NQU5JQ0hBRUFOX0RBTEVUSCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01B
TklDSEFFQU5fREhBTUVESCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fRklWRSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5f
R0lNRUwsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0hFVEgs
ICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0hVTkRSRUQsICAv
Kio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0tBUEgsICAvKio8IEBz
dGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX0xBTUVESCwgIC8qKjwgQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fTUVNLCAgLyoqPCBAc3RhYmxlIElDVSA1
NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9OVU4sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisg
ICAgVV9KR19NQU5JQ0hBRUFOX09ORSwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pH
X01BTklDSEFFQU5fUEUsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hB
RUFOX1FPUEgsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1JF
U0gsICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1NBREhFLCAg
LyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9TQU1FS0gsICAvKio8
IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19NQU5JQ0hBRUFOX1RBVywgIC8qKjwgQHN0YWJs
ZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5fVEVOLCAgLyoqPCBAc3RhYmxlIElDVSA1
NCAqLworICAgIFVfSkdfTUFOSUNIQUVBTl9URVRILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLwor
ICAgIFVfSkdfTUFOSUNIQUVBTl9USEFNRURILCAgLyoqPCBAc3RhYmxlIElDVSA1NCAqLworICAg
IFVfSkdfTUFOSUNIQUVBTl9UV0VOVFksICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9K
R19NQU5JQ0hBRUFOX1dBVywgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklD
SEFFQU5fWU9ESCwgIC8qKjwgQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICBVX0pHX01BTklDSEFFQU5f
WkFZSU4sICAvKio8IEBzdGFibGUgSUNVIDU0ICovCisgICAgVV9KR19TVFJBSUdIVF9XQVcsICAv
Kio8IEBzdGFibGUgSUNVIDU0ICovCiAgICAgVV9KR19DT1VOVAogfSBVSm9pbmluZ0dyb3VwOwog
CkBAIC0yNzQwLDcgKzI4MzUsNyBAQCB1X2NoYXJOYW1lKFVDaGFyMzIgY29kZSwgVUNoYXJOYW1l
Q2hvaWNlIG5hbWVDaG9pY2UsCiAgKgogICogQGRlcHJlY2F0ZWQgSUNVIDQ5CiAgKi8KLVVfU1RB
QkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBVX0VYUE9SVDIKIHVf
Z2V0SVNPQ29tbWVudChVQ2hhcjMyIGMsCiAgICAgICAgICAgICAgICAgY2hhciAqZGVzdCwgaW50
MzJfdCBkZXN0Q2FwYWNpdHksCiAgICAgICAgICAgICAgICAgVUVycm9yQ29kZSAqcEVycm9yQ29k
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91Y29uZmlnLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91Y29uZmlnLmgKaW5kZXggYmZhOGU3N2Iw
ZjFhMzUyMjA3NmZjMGE2NjkyNTdkNTMyNTI0ZmQwMS4uN2M2NzI2MzFmOTY4MWE1ZmUwMjdmOTk1
ZGZmNDk2YjNhOTE1OTU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNv
ZGUvdWNvbmZpZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3Vjb25maWcu
aApAQCAtMSw2ICsxLDYgQEAKIC8qICAKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogICBDb3B5cmlnaHQgKEMp
IDIwMDItMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdo
dCAoQykgMjAwMi0yMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29y
cG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CiAqICAgZmlsZSBuYW1lOiAgdWNvbmZpZy5oCkBAIC0xODUsNyArMTg1LDggQEAKICNpZmRlZiBV
X0xJQl9TVUZGSVhfQ19OQU1FX1NUUklORwogICAgIC8qIFVzZSB0aGUgcHJlZGVmaW5lZCB2YWx1
ZS4gKi8KICNlbGlmIGRlZmluZWQoVV9MSUJfU1VGRklYX0NfTkFNRSkKLSMgICBkZWZpbmUgVV9M
SUJfU1VGRklYX0NfTkFNRV9TVFJJTkcgI1VfTElCX1NVRkZJWF9DX05BTUUKKyMgICBkZWZpbmUg
Q09OVkVSVF9UT19TVFJJTkcocykgI3MKKyMgICBkZWZpbmUgVV9MSUJfU1VGRklYX0NfTkFNRV9T
VFJJTkcgQ09OVkVSVF9UT19TVFJJTkcoVV9MSUJfU1VGRklYX0NfTkFNRSkKICNlbHNlCiAjICAg
ZGVmaW5lIFVfTElCX1NVRkZJWF9DX05BTUVfU1RSSU5HICIiCiAjZW5kaWYKQEAgLTE5OSw3ICsy
MDAsNyBAQAogICogSXQgZG9lcyBub3QgdHVybiBvZmYgbGVnYWN5IGNvbnZlcnNpb24gYmVjYXVz
ZSB0aGF0IGlzIG5lY2Vzc2FyeQogICogZm9yIElDVSB0byB3b3JrIG9uIEVCQ0RJQyBwbGF0Zm9y
bXMgKGZvciB0aGUgZGVmYXVsdCBjb252ZXJ0ZXIpLgogICogSWYgeW91IHdhbnQgIm9ubHkgY29s
bGF0aW9uIiBhbmQgZG8gbm90IGJ1aWxkIGZvciBFQkNESUMsCi0gKiB0aGVuIHlvdSBjYW4gZGVm
aW5lIFVDT05GSUdfTk9fTEVHQUNZX0NPTlZFUlNJT04gMSBhcyB3ZWxsLgorICogdGhlbiB5b3Ug
Y2FuIGRlZmluZSBVQ09ORklHX05PX0NPTlZFUlNJT04gb3IgVUNPTkZJR19OT19MRUdBQ1lfQ09O
VkVSU0lPTiB0byAxIGFzIHdlbGwuCiAgKgogICogQHN0YWJsZSBJQ1UgMi40CiAgKi8KQEAgLTI0
NSw2ICsyNDYsMTAgQEAKICMgICBkZWZpbmUgVUNPTkZJR19OT19GSUxFX0lPIDAKICNlbmRpZgog
CisjaWYgVUNPTkZJR19OT19GSUxFX0lPICYmIGRlZmluZWQoVV9USU1FWk9ORV9GSUxFU19ESVIp
IAorIyAgIGVycm9yIENvbnRyYWRpY3RvcnkgZmlsZSBpbyBzd2l0Y2hlcyBpbiB1Y29uZmlnLmgu
CisjZW5kaWYKKwogLyoqCiAgKiBcZGVmIFVDT05GSUdfTk9fQ09OVkVSU0lPTgogICogSUNVIHdp
bGwgbm90IGNvbXBsZXRlbHkgYnVpbGQgd2l0aCB0aGlzIHN3aXRjaCB0dXJuZWQgb24uCkBAIC0y
NjUsNiArMjcwLDIxIEBACiAjZW5kaWYKIAogLyoqCisgKiBcZGVmIFVDT05GSUdfT05MWV9IVE1M
X0NPTlZFUlNJT04KKyAqIFRoaXMgc3dpdGNoIHR1cm5zIG9mZiBhbGwgb2YgdGhlIGNvbnZlcnRl
cnMgTk9UIGxpc3RlZCBpbgorICogdGhlIEhUTUwgZW5jb2Rpbmcgc3RhbmRhcmQ6CisgKiBodHRw
Oi8vd3d3LnczLm9yZy9UUi9lbmNvZGluZy8jbmFtZXMtYW5kLWxhYmVscworICoKKyAqIFRoaXMg
aXMgbm90IHBvc3NpYmxlIG9uIEVCQ0RJQyBwbGF0Zm9ybXMKKyAqIGJlY2F1c2UgdGhleSBuZWVk
IGlibS0zNyBvciBpYm0tMTA0NyBkZWZhdWx0IGNvbnZlcnRlcnMuCisgKgorICogQGRyYWZ0IElD
VSA1NQorICovCisjaWZuZGVmIFVDT05GSUdfT05MWV9IVE1MX0NPTlZFUlNJT04KKyMgICBkZWZp
bmUgVUNPTkZJR19PTkxZX0hUTUxfQ09OVkVSU0lPTiAwCisjZW5kaWYKKworLyoqCiAgKiBcZGVm
IFVDT05GSUdfTk9fTEVHQUNZX0NPTlZFUlNJT04KICAqIFRoaXMgc3dpdGNoIHR1cm5zIG9mZiBh
bGwgY29udmVydGVycyBleGNlcHQgZm9yCiAgKiAtIFVuaWNvZGUgY2hhcnNldHMgKFVURi03Lzgv
MTYvMzIsIENFU1UtOCwgU0NTVSwgQk9DVS0xKQpAQCAtMzg1LDcgKzQwNSw3IEBACiAgKiBAc3Rh
YmxlIElDVSAzLjIKICAqLwogI2lmbmRlZiBVQ09ORklHX05PX1NFUlZJQ0UKLSMgICBkZWZpbmUg
VUNPTkZJR19OT19TRVJWSUNFIDEKKyMgICBkZWZpbmUgVUNPTkZJR19OT19TRVJWSUNFIDAKICNl
bmRpZgogCiAvKioKQEAgLTQwOSw0ICs0MjksMTcgQEAKICMgICBkZWZpbmUgVUNPTkZJR19GT1JN
QVRfRkFTVFBBVEhTXzQ5IDEKICNlbmRpZgogCisvKioKKyAqIFxkZWYgVUNPTkZJR19OT19GSUxU
RVJFRF9CUkVBS19JVEVSQVRJT04KKyAqIFRoaXMgc3dpdGNoIHR1cm5zIG9mZiBmaWx0ZXJlZCBi
cmVhayBpdGVyYXRpb24gY29kZS4KKyAqCisgKiBAaW50ZXJuYWwKKyAqLworI2lmbmRlZiBVQ09O
RklHX05PX0ZJTFRFUkVEX0JSRUFLX0lURVJBVElPTgorIyAgIGRlZmluZSBVQ09ORklHX05PX0ZJ
TFRFUkVEX0JSRUFLX0lURVJBVElPTiAwCisKKworCisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91Y3Vyci5oIGIvU291cmNlL1dlYktp
dC9tYWMvaWN1L3VuaWNvZGUvdWN1cnIuaAppbmRleCAyNzY5ODEzM2U0MjEwNjEzYjQzZjk4OTE2
MjRlMGJhMzZlNTgyN2QxLi41YjE5NjkwMTY5M2Y0MGNjMjU5Zjk2M2VmYTk5ODA5MzQ4YTYzOTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91Y3Vyci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VjdXJyLmgKQEAgLTEsNiArMSw2IEBACiAv
KgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotKiBDb3B5cmlnaHQgKGMpIDIwMDItMjAxMywgSW50ZXJuYXRpb25h
bCBCdXNpbmVzcyBNYWNoaW5lcworKiBDb3B5cmlnaHQgKGMpIDIwMDItMjAxNCwgSW50ZXJuYXRp
b25hbCBCdXNpbmVzcyBNYWNoaW5lcwogKiBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICovCkBAIC0xOCw2ICsxOCwzNCBAQAogI2lm
ICFVQ09ORklHX05PX0ZPUk1BVFRJTkcKIAogLyoqCisgKiBDdXJyZW5jeSBVc2FnZSB1c2VkIGZv
ciBEZWNpbWFsIEZvcm1hdAorICogQGRyYWZ0IElDVSA1NAorICovCitlbnVtIFVDdXJyZW5jeVVz
YWdlIHsKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgIC8qKgorICAgICAqIGEgc2V0dGlu
ZyB0byBzcGVjaWZ5IGN1cnJlbmN5IHVzYWdlIHdoaWNoIGRldGVybWluZXMgY3VycmVuY3kgZGln
aXQKKyAgICAgKiBhbmQgcm91bmRpbmcgZm9yIHN0YW5kYXJkIHVzYWdlLCBmb3IgZXhhbXBsZTog
IjUwLjAwIE5UJCIKKyAgICAgKiB1c2VkIGFzIERFRkFVTFQgdmFsdWUKKyAgICAgKiBAZHJhZnQg
SUNVIDU0CisgICAgICovCisgICAgVUNVUlJfVVNBR0VfU1RBTkRBUkQ9MCwKKyAgICAvKioKKyAg
ICAgKiBhIHNldHRpbmcgdG8gc3BlY2lmeSBjdXJyZW5jeSB1c2FnZSB3aGljaCBkZXRlcm1pbmVz
IGN1cnJlbmN5IGRpZ2l0CisgICAgICogYW5kIHJvdW5kaW5nIGZvciBjYXNoIHVzYWdlLCBmb3Ig
ZXhhbXBsZTogIjUwIE5UJCIKKyAgICAgKiBAZHJhZnQgSUNVIDU0CisgICAgICovCisgICAgVUNV
UlJfVVNBR0VfQ0FTSD0xLAorI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisgICAgLyoq
CisgICAgICogT25lIGhpZ2hlciB0aGFuIHRoZSBsYXN0IGVudW0gVUN1cnJlbmN5VXNhZ2UgY29u
c3RhbnQuCisgICAgICogQGRyYWZ0IElDVSA1NAorICAgICAqLworICAgIFVDVVJSX1VTQUdFX0NP
VU5UPTIKK307Cit0eXBlZGVmIGVudW0gVUN1cnJlbmN5VXNhZ2UgVUN1cnJlbmN5VXNhZ2U7IAor
CisvKioKICAqIFRoZSB1Y3VyciBBUEkgZW5jYXBzdWxhdGVzIGluZm9ybWF0aW9uIGFib3V0IGEg
Y3VycmVuY3ksIGFzIGRlZmluZWQgYnkKICAqIElTTyA0MjE3LiAgQSBjdXJyZW5jeSBpcyByZXBy
ZXNlbnRlZCBieSBhIDMtY2hhcmFjdGVyIHN0cmluZwogICogY29udGFpbmluZyBpdHMgSVNPIDQy
MTcgY29kZS4gIFRoaXMgQVBJIGNhbiByZXR1cm4gdmFyaW91cyBkYXRhCkBAIC0xNjUsNiArMTkz
LDcgQEAgdWN1cnJfZ2V0UGx1cmFsTmFtZShjb25zdCBVQ2hhciogY3VycmVuY3ksCiAvKioKICAq
IFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbnVtYmVyIG9mIGZyYWN0aW9uIGRpZ2l0cyB0aGF0
IHNob3VsZAogICogYmUgZGlzcGxheWVkIGZvciB0aGUgZ2l2ZW4gY3VycmVuY3kuCisgKiBUaGlz
IGlzIGVxdWl2YWxlbnQgdG8gdWN1cnJfZ2V0RGVmYXVsdEZyYWN0aW9uRGlnaXRzRm9yVXNhZ2Uo
Y3VycmVuY3ksVUNVUlJfVVNBR0VfU1RBTkRBUkQsZWMpOwogICogQHBhcmFtIGN1cnJlbmN5IG51
bGwtdGVybWluYXRlZCAzLWxldHRlciBJU08gNDIxNyBjb2RlCiAgKiBAcGFyYW0gZWMgaW5wdXQt
b3V0cHV0IGVycm9yIGNvZGUKICAqIEByZXR1cm4gYSBub24tbmVnYXRpdmUgbnVtYmVyIG9mIGZy
YWN0aW9uIGRpZ2l0cyB0byBiZQpAQCAtMTc1LDkgKzIwNCwyNyBAQCBVX1NUQUJMRSBpbnQzMl90
IFVfRVhQT1JUMgogdWN1cnJfZ2V0RGVmYXVsdEZyYWN0aW9uRGlnaXRzKGNvbnN0IFVDaGFyKiBj
dXJyZW5jeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBlYyk7
CiAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorLyoqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIg
b2YgdGhlIG51bWJlciBvZiBmcmFjdGlvbiBkaWdpdHMgdGhhdCBzaG91bGQKKyAqIGJlIGRpc3Bs
YXllZCBmb3IgdGhlIGdpdmVuIGN1cnJlbmN5IHdpdGggdXNhZ2UuCisgKiBAcGFyYW0gY3VycmVu
Y3kgbnVsbC10ZXJtaW5hdGVkIDMtbGV0dGVyIElTTyA0MjE3IGNvZGUKKyAqIEBwYXJhbSB1c2Fn
ZSBlbnVtIHVzYWdlIGZvciB0aGUgY3VycmVuY3kKKyAqIEBwYXJhbSBlYyBpbnB1dC1vdXRwdXQg
ZXJyb3IgY29kZQorICogQHJldHVybiBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgb2YgZnJhY3Rpb24g
ZGlnaXRzIHRvIGJlCisgKiBkaXNwbGF5ZWQsIG9yIDAgaWYgdGhlcmUgaXMgYW4gZXJyb3IKKyAq
IEBkcmFmdCBJQ1UgNTQKKyAqLworVV9EUkFGVCBpbnQzMl90IFVfRVhQT1JUMgordWN1cnJfZ2V0
RGVmYXVsdEZyYWN0aW9uRGlnaXRzRm9yVXNhZ2UoY29uc3QgVUNoYXIqIGN1cnJlbmN5LCAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFVDdXJyZW5jeVVzYWdl
IHVzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUVycm9yQ29k
ZSogZWMpOworI2VuZGlmICAvKiBVX0hJREVfRFJBRlRfQVBJICovCisKIC8qKgogICogUmV0dXJu
cyB0aGUgcm91bmRpbmcgaW5jcmVtZW50IGZvciB0aGUgZ2l2ZW4gY3VycmVuY3ksIG9yIDAuMCBp
ZiBubwogICogcm91bmRpbmcgaXMgZG9uZSBieSB0aGUgY3VycmVuY3kuCisgKiBUaGlzIGlzIGVx
dWl2YWxlbnQgdG8gdWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnRGb3JVc2FnZShjdXJyZW5jeSxV
Q1VSUl9VU0FHRV9TVEFOREFSRCxlYyk7CiAgKiBAcGFyYW0gY3VycmVuY3kgbnVsbC10ZXJtaW5h
dGVkIDMtbGV0dGVyIElTTyA0MjE3IGNvZGUKICAqIEBwYXJhbSBlYyBpbnB1dC1vdXRwdXQgZXJy
b3IgY29kZQogICogQHJldHVybiB0aGUgbm9uLW5lZ2F0aXZlIHJvdW5kaW5nIGluY3JlbWVudCwg
b3IgMC4wIGlmIG5vbmUsCkBAIC0xODgsNiArMjM1LDIzIEBAIFVfU1RBQkxFIGRvdWJsZSBVX0VY
UE9SVDIKIHVjdXJyX2dldFJvdW5kaW5nSW5jcmVtZW50KGNvbnN0IFVDaGFyKiBjdXJyZW5jeSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVFcnJvckNvZGUqIGVjKTsKIAorI2lmbmRlZiBV
X0hJREVfRFJBRlRfQVBJCisvKioKKyAqIFJldHVybnMgdGhlIHJvdW5kaW5nIGluY3JlbWVudCBm
b3IgdGhlIGdpdmVuIGN1cnJlbmN5LCBvciAwLjAgaWYgbm8KKyAqIHJvdW5kaW5nIGlzIGRvbmUg
YnkgdGhlIGN1cnJlbmN5IGdpdmVuIHVzYWdlLgorICogQHBhcmFtIGN1cnJlbmN5IG51bGwtdGVy
bWluYXRlZCAzLWxldHRlciBJU08gNDIxNyBjb2RlCisgKiBAcGFyYW0gdXNhZ2UgZW51bSB1c2Fn
ZSBmb3IgdGhlIGN1cnJlbmN5CisgKiBAcGFyYW0gZWMgaW5wdXQtb3V0cHV0IGVycm9yIGNvZGUK
KyAqIEByZXR1cm4gdGhlIG5vbi1uZWdhdGl2ZSByb3VuZGluZyBpbmNyZW1lbnQsIG9yIDAuMCBp
ZiBub25lLAorICogb3IgMC4wIGlmIHRoZXJlIGlzIGFuIGVycm9yCisgKiBAZHJhZnQgSUNVIDU0
CisgKi8KK1VfRFJBRlQgZG91YmxlIFVfRVhQT1JUMgordWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1l
bnRGb3JVc2FnZShjb25zdCBVQ2hhciogY3VycmVuY3ksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFVDdXJyZW5jeVVzYWdlIHVzYWdlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBVRXJyb3JDb2RlKiBlYyk7CisjZW5kaWYgIC8qIFVfSElERV9E
UkFGVF9BUEkgKi8KKwogLyoqCiAgKiBTZWxlY3RvciBjb25zdGFudHMgZm9yIHVjdXJyX29wZW5D
dXJyZW5jaWVzKCkuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNv
ZGUvdWlkbmEuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VpZG5hLmgKaW5kZXgg
MmVmYjEzMGY5NGU0Mzk4YTllNWFjMjZhN2FkYzcxMzUzMzIyN2QzNC4uZGVjZWNlMWZiMGUzMGY5
MzNhMTVjYjJkYzQzZjc1MWJhMWIwOTM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
aWN1L3VuaWNvZGUvdWlkbmEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91
aWRuYS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKgot
ICogICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcworICogICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVz
cyBNYWNoaW5lcwogICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMzIsOCArMzIsMTAgQEAKICAq
CiAgKiBUaGUgQyBBUEkgZnVuY3Rpb25zIHdoaWNoIGRvIHRha2UgYSBVSUROQSAqIHNlcnZpY2Ug
b2JqZWN0IHBvaW50ZXIKICAqIGltcGxlbWVudCBVVFMgIzQ2IGFuZCBJRE5BMjAwOC4KKyAqCisg
KiBJRE5BMjAwMyBpcyBvYnNvbGV0ZS4KICAqIFRoZSBDIEFQSSBmdW5jdGlvbnMgd2hpY2ggZG8g
bm90IHRha2UgYSBzZXJ2aWNlIG9iamVjdCBwb2ludGVyCi0gKiBpbXBsZW1lbnQgSUROQTIwMDMu
CisgKiBpbXBsZW1lbnQgSUROQTIwMDMuIFRoZXkgYXJlIGFsbCBkZXByZWNhdGVkLgogICovCiAK
IC8qCkBAIC00NiwxNCArNDgsMTYgQEAgZW51bSB7CiAgICAgICogQHN0YWJsZSBJQ1UgMi42CiAg
ICAgICovCiAgICAgVUlETkFfREVGQVVMVD0wLAorI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9B
UEkKICAgICAvKioKICAgICAgKiBPcHRpb24gdG8gYWxsb3cgdW5hc3NpZ25lZCBjb2RlIHBvaW50
cyBpbiBkb21haW4gbmFtZXMgYW5kIGxhYmVscy4KICAgICAgKiBGb3IgdXNlIGluIHN0YXRpYyB3
b3JrZXIgYW5kIGZhY3RvcnkgbWV0aG9kcy4KICAgICAgKiA8cD5UaGlzIG9wdGlvbiBpcyBpZ25v
cmVkIGJ5IHRoZSBVVFM0NiBpbXBsZW1lbnRhdGlvbi4KICAgICAgKiAoVVRTICM0NiBkaXNhbGxv
d3MgdW5hc3NpZ25lZCBjb2RlIHBvaW50cy4pCi0gICAgICogQHN0YWJsZSBJQ1UgMi42CisgICAg
ICogQGRlcHJlY2F0ZWQgSUNVIDU1IFVzZSBVVFMgIzQ2IGluc3RlYWQgdmlhIHVpZG5hX29wZW5V
VFM0NigpIG9yIGNsYXNzIElETkEuCiAgICAgICovCiAgICAgVUlETkFfQUxMT1dfVU5BU1NJR05F
RD0xLAorI2VuZGlmICAvKiBVX0hJREVfREVQUkVDQVRFRF9BUEkgKi8KICAgICAvKioKICAgICAg
KiBPcHRpb24gdG8gY2hlY2sgd2hldGhlciB0aGUgaW5wdXQgY29uZm9ybXMgdG8gdGhlIFNURDMg
QVNDSUkgcnVsZXMsCiAgICAgICogZm9yIGV4YW1wbGUgdGhlIHJlc3RyaWN0aW9uIG9mIGxhYmVs
cyB0byBMREggY2hhcmFjdGVycwpAQCAtNTAzLDYgKzUwNyw4IEBAIGVudW0gewogICAgIFVJRE5B
X0VSUk9SX0NPTlRFWFRPX0RJR0lUUz0weDQwMDAKIH07CiAKKyNpZm5kZWYgVV9ISURFX0RFUFJF
Q0FURURfQVBJCisKIC8qIElETkEyMDAzIEFQSSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKIC8qKgpAQCAtNTYyLDkgKzU2
OCw5IEBAIGVudW0gewogICogICAgICAgICAgICAgICAgICAgICAgICAgIFVfQlVGRkVSX09WRVJG
TE9XX0VSUk9SIGlmIGRlc3RDYXBhY2l0eSBpcyBub3QgZW5vdWdoCiAgKiBAcmV0dXJuIFRoZSBs
ZW5ndGggb2YgdGhlIHJlc3VsdCBzdHJpbmcsIGlmIHN1Y2Nlc3NmdWwgLSBvciBpbiBjYXNlIG9m
IGEgYnVmZmVyIG92ZXJmbG93LAogICogICAgICAgICBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUg
Z3JlYXRlciB0aGFuIGRlc3RDYXBhY2l0eS4KLSAqIEBzdGFibGUgSUNVIDIuNgorICogQGRlcHJl
Y2F0ZWQgSUNVIDU1IFVzZSBVVFMgIzQ2IGluc3RlYWQgdmlhIHVpZG5hX29wZW5VVFM0NigpIG9y
IGNsYXNzIElETkEuCiAgKi8KLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FU
RUQgaW50MzJfdCBVX0VYUE9SVDIKIHVpZG5hX3RvQVNDSUkoY29uc3QgVUNoYXIqIHNyYywgaW50
MzJfdCBzcmNMZW5ndGgsIAogICAgICAgICAgICAgICBVQ2hhciogZGVzdCwgaW50MzJfdCBkZXN0
Q2FwYWNpdHksCiAgICAgICAgICAgICAgIGludDMyX3Qgb3B0aW9ucywKQEAgLTYxMCw5ICs2MTYs
OSBAQCB1aWRuYV90b0FTQ0lJKGNvbnN0IFVDaGFyKiBzcmMsIGludDMyX3Qgc3JjTGVuZ3RoLAog
ICogICAgICAgICAgICAgICAgICAgICAgICAgIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGlmIGRl
c3RDYXBhY2l0eSBpcyBub3QgZW5vdWdoCiAgKiBAcmV0dXJuIFRoZSBsZW5ndGggb2YgdGhlIHJl
c3VsdCBzdHJpbmcsIGlmIHN1Y2Nlc3NmdWwgLSBvciBpbiBjYXNlIG9mIGEgYnVmZmVyIG92ZXJm
bG93LAogICogICAgICAgICBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUgZ3JlYXRlciB0aGFuIGRl
c3RDYXBhY2l0eS4KLSAqIEBzdGFibGUgSUNVIDIuNgorICogQGRlcHJlY2F0ZWQgSUNVIDU1IFVz
ZSBVVFMgIzQ2IGluc3RlYWQgdmlhIHVpZG5hX29wZW5VVFM0NigpIG9yIGNsYXNzIElETkEuCiAg
Ki8KLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitVX0RFUFJFQ0FURUQgaW50MzJfdCBVX0VY
UE9SVDIKIHVpZG5hX3RvVW5pY29kZShjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xlbmd0
aCwKICAgICAgICAgICAgICAgICBVQ2hhciogZGVzdCwgaW50MzJfdCBkZXN0Q2FwYWNpdHksCiAg
ICAgICAgICAgICAgICAgaW50MzJfdCBvcHRpb25zLApAQCAtNjYxLDkgKzY2Nyw5IEBAIHVpZG5h
X3RvVW5pY29kZShjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNyY0xlbmd0aCwKICAqICAgICAg
ICAgICAgICAgICAgICAgICAgICBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUiBpZiBkZXN0Q2FwYWNp
dHkgaXMgbm90IGVub3VnaAogICogQHJldHVybiBUaGUgbGVuZ3RoIG9mIHRoZSByZXN1bHQgc3Ry
aW5nLCBpZiBzdWNjZXNzZnVsIC0gb3IgaW4gY2FzZSBvZiBhIGJ1ZmZlciBvdmVyZmxvdywKICAq
ICAgICAgICAgaW4gd2hpY2ggY2FzZSBpdCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBkZXN0Q2FwYWNp
dHkuCi0gKiBAc3RhYmxlIElDVSAyLjYKKyAqIEBkZXByZWNhdGVkIElDVSA1NSBVc2UgVVRTICM0
NiBpbnN0ZWFkIHZpYSB1aWRuYV9vcGVuVVRTNDYoKSBvciBjbGFzcyBJRE5BLgogICovCi1VX1NU
QUJMRSBpbnQzMl90IFVfRVhQT1JUMgorVV9ERVBSRUNBVEVEIGludDMyX3QgVV9FWFBPUlQyCiB1
aWRuYV9JRE5Ub0FTQ0lJKCAgY29uc3QgVUNoYXIqIHNyYywgaW50MzJfdCBzcmNMZW5ndGgsCiAg
ICAgICAgICAgICAgICAgICAgVUNoYXIqIGRlc3QsIGludDMyX3QgZGVzdENhcGFjaXR5LAogICAg
ICAgICAgICAgICAgICAgIGludDMyX3Qgb3B0aW9ucywKQEAgLTcwOCw5ICs3MTQsOSBAQCB1aWRu
YV9JRE5Ub0FTQ0lJKCAgY29uc3QgVUNoYXIqIHNyYywgaW50MzJfdCBzcmNMZW5ndGgsCiAgKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgaWYgZGVzdENh
cGFjaXR5IGlzIG5vdCBlbm91Z2gKICAqIEByZXR1cm4gVGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0
IHN0cmluZywgaWYgc3VjY2Vzc2Z1bCAtIG9yIGluIGNhc2Ugb2YgYSBidWZmZXIgb3ZlcmZsb3cs
CiAgKiAgICAgICAgIGluIHdoaWNoIGNhc2UgaXQgd2lsbCBiZSBncmVhdGVyIHRoYW4gZGVzdENh
cGFjaXR5LgotICogQHN0YWJsZSBJQ1UgMi42CisgKiBAZGVwcmVjYXRlZCBJQ1UgNTUgVXNlIFVU
UyAjNDYgaW5zdGVhZCB2aWEgdWlkbmFfb3BlblVUUzQ2KCkgb3IgY2xhc3MgSUROQS4KICAqLwot
VV9TVEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKK1VfREVQUkVDQVRFRCBpbnQzMl90IFVfRVhQT1JU
MgogdWlkbmFfSUROVG9Vbmljb2RlKCAgY29uc3QgVUNoYXIqIHNyYywgaW50MzJfdCBzcmNMZW5n
dGgsCiAgICAgICAgICAgICAgICAgICAgICBVQ2hhciogZGVzdCwgaW50MzJfdCBkZXN0Q2FwYWNp
dHksCiAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IG9wdGlvbnMsCkBAIC03NDksMTQgKzc1
NSwxNiBAQCB1aWRuYV9JRE5Ub1VuaWNvZGUoICBjb25zdCBVQ2hhciogc3JjLCBpbnQzMl90IHNy
Y0xlbmd0aCwKICAqIEBwYXJhbSBzdGF0dXMgICAgICAgICAgICBJQ1UgZXJyb3IgY29kZSBpbi9v
dXQgcGFyYW1ldGVyLgogICogICAgICAgICAgICAgICAgICAgICAgICAgIE11c3QgZnVsZmlsbCBV
X1NVQ0NFU1MgYmVmb3JlIHRoZSBmdW5jdGlvbiBjYWxsLgogICogQHJldHVybiA8MCBvciAwIG9y
ID4wIGFzIHVzdWFsIGZvciBzdHJpbmcgY29tcGFyaXNvbnMKLSAqIEBzdGFibGUgSUNVIDIuNgor
ICogQGRlcHJlY2F0ZWQgSUNVIDU1IFVzZSBVVFMgIzQ2IGluc3RlYWQgdmlhIHVpZG5hX29wZW5V
VFM0NigpIG9yIGNsYXNzIElETkEuCiAgKi8KLVVfU1RBQkxFIGludDMyX3QgVV9FWFBPUlQyCitV
X0RFUFJFQ0FURUQgaW50MzJfdCBVX0VYUE9SVDIKIHVpZG5hX2NvbXBhcmUoICBjb25zdCBVQ2hh
ciAqczEsIGludDMyX3QgbGVuZ3RoMSwKICAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciAqczIs
IGludDMyX3QgbGVuZ3RoMiwKICAgICAgICAgICAgICAgICBpbnQzMl90IG9wdGlvbnMsCiAgICAg
ICAgICAgICAgICAgVUVycm9yQ29kZSogc3RhdHVzKTsKIAorI2VuZGlmICAvKiBVX0hJREVfREVQ
UkVDQVRFRF9BUEkgKi8KKwogI2VuZGlmIC8qICNpZiAhVUNPTkZJR19OT19JRE5BICovCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdW1hY2hpbmUu
aCBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VtYWNoaW5lLmgKaW5kZXggZDExMDJm
NDkzNjUyN2M5MmIxM2JjYWY4NGM4YWVkY2E2ZTdmZjc1Ny4uNTMyMTU5MjE2YTVlM2QxMzAyN2E3
ZmZlZjZmYzMyOGM3YjZmNjRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3Vu
aWNvZGUvdW1hY2hpbmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91bWFj
aGluZS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgotKiAg
IENvcHlyaWdodCAoQykgMTk5OS0yMDEyLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
CisqICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
ICoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTMsNyArMTMsNyBAQAogKiAgIGNyZWF0ZWQg
b246IDE5OTlzZXAxMwogKiAgIGNyZWF0ZWQgYnk6IE1hcmt1cyBXLiBTY2hlcmVyCiAqCi0qICAg
VGhpcyBmaWxlIGRlZmluZXMgYmFzaWMgdHlwZXMgYW5kIGNvbnN0YW50cyBmb3IgdXRmLmggdG8g
YmUKKyogICBUaGlzIGZpbGUgZGVmaW5lcyBiYXNpYyB0eXBlcyBhbmQgY29uc3RhbnRzIGZvciBJ
Q1UgdG8gYmUKICogICBwbGF0Zm9ybS1pbmRlcGVuZGVudC4gdW1hY2hpbmUuaCBhbmQgdXRmLmgg
YXJlIGluY2x1ZGVkIGludG8KICogICB1dHlwZXMuaCB0byBwcm92aWRlIGFsbCB0aGUgZ2VuZXJh
bCBkZWZpbml0aW9ucyBmb3IgSUNVLgogKiAgIEFsbCBvZiB0aGVzZSBkZWZpbml0aW9ucyB1c2Vk
IHRvIGJlIGluIHV0eXBlcy5oIGJlZm9yZQpAQCAtMTE2LDYgKzExNiw0MCBAQAogLyoqIFRoaXMg
aXMgdXNlZCB0byBkZWNsYXJlIGEgZnVuY3Rpb24gYXMgYW4gaW50ZXJuYWwgSUNVIEMgQVBJICAq
LwogI2RlZmluZSBVX0lOVEVSTkFMIFVfQ0FQSQogCisvKioKKyAqIFxkZWYgVV9PVkVSUklERQor
ICogRGVmaW5lZCB0byB0aGUgQysrMTEgIm92ZXJyaWRlIiBrZXl3b3JkIGlmIGF2YWlsYWJsZS4K
KyAqIERlbm90ZXMgYSBjbGFzcyBvciBtZW1iZXIgd2hpY2ggaXMgYW4gb3ZlcnJpZGUgb2YgdGhl
IGJhc2UgY2xhc3MuCisgKiBNYXkgcmVzdWx0IGluIGFuIGVycm9yIGlmIGl0IGFwcGxpZWQgdG8g
c29tZXRoaW5nIG5vdCBhbiBvdmVycmlkZS4KKyAqIEBpbnRlcm5hbAorICovCisKKy8qKgorICog
XGRlZiBVX0ZJTkFMCisgKiBEZWZpbmVkIHRvIHRoZSBDKysxMSAiZmluYWwiIGtleXdvcmQgaWYg
YXZhaWxhYmxlLgorICogRGVub3RlcyBhIGNsYXNzIG9yIG1lbWJlciB3aGljaCBtYXkgbm90IGJl
IG92ZXJyaWRkZW4gaW4gc3ViY2xhc3Nlcy4KKyAqIE1heSByZXN1bHQgaW4gYW4gZXJyb3IgaWYg
c3ViY2xhc3NlcyBhdHRlbXB0IHRvIG92ZXJyaWRlLgorICogQGludGVybmFsCisgKi8KKworI2lm
IGRlZmluZWQoX19jcGx1c3BsdXMpICYmIF9fY3BsdXNwbHVzPj0yMDExMDNMCisvKiBDKysxMSAq
LworI2lmbmRlZiBVX09WRVJSSURFCisjZGVmaW5lIFVfT1ZFUlJJREUgb3ZlcnJpZGUKKyNlbmRp
ZgorI2lmbmRlZiBVX0ZJTkFMCisjZGVmaW5lIFVfRklOQUwgZmluYWwKKyNlbmRpZgorI2Vsc2UK
Ky8qIG5vdCBDKysxMSAtIGRlZmluZSB0byBub3RoaW5nICovCisjaWZuZGVmIFVfT1ZFUlJJREUK
KyNkZWZpbmUgVV9PVkVSUklERQorI2VuZGlmCisjaWZuZGVmIFVfRklOQUwKKyNkZWZpbmUgVV9G
SU5BTAorI2VuZGlmCisjZW5kaWYKKwogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAvKiBsaW1pdHMg
Zm9yIGludDMyX3QgZXRjLiwgbGlrZSBpbiBQT1NJWCBpbnR0eXBlcy5oICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvaWN1L3VuaWNvZGUvdXJlbmFtZS5oIGIvU291cmNlL1dlYktpdC9tYWMvaWN1L3Vu
aWNvZGUvdXJlbmFtZS5oCmluZGV4IDZiMWY0OTA5ODc1MDY5YjRkOWZlZWZkZDc0ODNmNWEwM2Zj
NTA3NWYuLjMxM2YyNzFhYjMxZWE3MTc1MTJkODQ1OGE3ZWY1MTcwYjZlMDBkYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VyZW5hbWUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9pY3UvdW5pY29kZS91cmVuYW1lLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMjAwMi0yMDEzLCBJbnRlcm5h
dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMTUsIElu
dGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJz
LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKQEAgLTEw
NCw3ICsxMDQsNyBAQAogI2RlZmluZSBfVVRGN0RhdGEgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KF9VVEY3RGF0YSkKICNkZWZpbmUgX1VURjhEYXRhIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShf
VVRGOERhdGEpCiAjZGVmaW5lIGNtZW1vcnlfY2xlYW51cCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUoY21lbW9yeV9jbGVhbnVwKQotI2RlZmluZSBjbWVtb3J5X2luVXNlIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRShjbWVtb3J5X2luVXNlKQorI2RlZmluZSBnVGltZVpvbmVGaWxlc0luaXRPbmNl
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShnVGltZVpvbmVGaWxlc0luaXRPbmNlKQogI2RlZmlu
ZSBpenJ1bGVfY2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKGl6cnVsZV9jbG9uZSkKICNk
ZWZpbmUgaXpydWxlX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRShpenJ1bGVfY2xvc2Up
CiAjZGVmaW5lIGl6cnVsZV9lcXVhbHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKGl6cnVsZV9l
cXVhbHMpCkBAIC0yMDMsNiArMjAzLDcgQEAKICNkZWZpbmUgdV9VQ2hhcnNUb0NoYXJzIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1X1VDaGFyc1RvQ2hhcnMpCiAjZGVmaW5lIHVfYXVzdHJjcHkg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfYXVzdHJjcHkpCiAjZGVmaW5lIHVfYXVzdHJuY3B5
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2F1c3RybmNweSkKKyNkZWZpbmUgdV9jYXNlSW5z
ZW5zaXRpdmVQcmVmaXhNYXRjaCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9jYXNlSW5zZW5z
aXRpdmVQcmVmaXhNYXRjaCkKICNkZWZpbmUgdV9jYXRjbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodV9jYXRjbG9zZSkKICNkZWZpbmUgdV9jYXRnZXRzIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1X2NhdGdldHMpCiAjZGVmaW5lIHVfY2F0b3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodV9jYXRvcGVuKQpAQCAtMjM5LDYgKzI0MCw3IEBACiAjZGVmaW5lIHVfZmx1c2hEZWZhdWx0
Q29udmVydGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2ZsdXNoRGVmYXVsdENvbnZlcnRl
cikKICNkZWZpbmUgdV9mb2xkQ2FzZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb2xkQ2Fz
ZSkKICNkZWZpbmUgdV9mb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb3BlbikKKyNk
ZWZpbmUgdV9mb3Blbl91IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2ZvcGVuX3UpCiAjZGVm
aW5lIHVfZm9yRGlnaXQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZm9yRGlnaXQpCiAjZGVm
aW5lIHVfZm9ybWF0TWVzc2FnZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9mb3JtYXRNZXNz
YWdlKQogI2RlZmluZSB1X2Zvcm1hdE1lc3NhZ2VXaXRoRXJyb3IgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVfZm9ybWF0TWVzc2FnZVdpdGhFcnJvcikKQEAgLTI3MCw2ICsyNzIsNyBAQAogI2Rl
ZmluZSB1X2dldFByb3BlcnR5TmFtZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV9nZXRQcm9w
ZXJ0eU5hbWUpCiAjZGVmaW5lIHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0pCiAjZGVmaW5lIHVfZ2V0UHJvcGVydHlW
YWx1ZU5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfZ2V0UHJvcGVydHlWYWx1ZU5hbWUp
CisjZGVmaW5lIHVfZ2V0VGltZVpvbmVGaWxlc0RpcmVjdG9yeSBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodV9nZXRUaW1lWm9uZUZpbGVzRGlyZWN0b3J5KQogI2RlZmluZSB1X2dldFVuaWNvZGVQ
cm9wZXJ0aWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X2dldFVuaWNvZGVQcm9wZXJ0aWVz
KQogI2RlZmluZSB1X2dldFVuaWNvZGVWZXJzaW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
X2dldFVuaWNvZGVWZXJzaW9uKQogI2RlZmluZSB1X2dldFZlcnNpb24gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVfZ2V0VmVyc2lvbikKQEAgLTMzMSw2ICszMzQsNyBAQAogI2RlZmluZSB1X3Nl
dERhdGFEaXJlY3RvcnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc2V0RGF0YURpcmVjdG9y
eSkKICNkZWZpbmUgdV9zZXRNZW1vcnlGdW5jdGlvbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVfc2V0TWVtb3J5RnVuY3Rpb25zKQogI2RlZmluZSB1X3NldE11dGV4RnVuY3Rpb25zIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1X3NldE11dGV4RnVuY3Rpb25zKQorI2RlZmluZSB1X3NldFRp
bWVab25lRmlsZXNEaXJlY3RvcnkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVfc2V0VGltZVpv
bmVGaWxlc0RpcmVjdG9yeSkKICNkZWZpbmUgdV9zaGFwZUFyYWJpYyBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodV9zaGFwZUFyYWJpYykKICNkZWZpbmUgdV9zbnByaW50ZiBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodV9zbnByaW50ZikKICNkZWZpbmUgdV9zbnByaW50Zl91IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1X3NucHJpbnRmX3UpCkBAIC00MTMsOSArNDE3LDcgQEAKICNkZWZpbmUg
dV92c3ByaW50Zl91IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3ZzcHJpbnRmX3UpCiAjZGVm
aW5lIHVfdnNzY2FuZiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV92c3NjYW5mKQogI2RlZmlu
ZSB1X3Zzc2NhbmZfdSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodV92c3NjYW5mX3UpCi0jZGVm
aW5lIHVfd3JpdGVEaWZmIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3dyaXRlRGlmZikKICNk
ZWZpbmUgdV93cml0ZUlkZW50aWNhbExldmVsUnVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
X3dyaXRlSWRlbnRpY2FsTGV2ZWxSdW4pCi0jZGVmaW5lIHVfd3JpdGVJZGVudGljYWxMZXZlbFJ1
blR3b0NoYXJzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1X3dyaXRlSWRlbnRpY2FsTGV2ZWxS
dW5Ud29DaGFycykKICNkZWZpbmUgdWJpZGlfYWRkUHJvcGVydHlTdGFydHMgVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHViaWRpX2FkZFByb3BlcnR5U3RhcnRzKQogI2RlZmluZSB1YmlkaV9jbG9z
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWJpZGlfY2xvc2UpCiAjZGVmaW5lIHViaWRpX2Nv
dW50UGFyYWdyYXBocyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWJpZGlfY291bnRQYXJhZ3Jh
cGhzKQpAQCAtNDk0LDYgKzQ5Niw5IEBACiAjZGVmaW5lIHVicmtfc2V0VGV4dCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWJya19zZXRUZXh0KQogI2RlZmluZSB1YnJrX3NldFVUZXh0IFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1YnJrX3NldFVUZXh0KQogI2RlZmluZSB1YnJrX3N3YXAgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVicmtfc3dhcCkKKyNkZWZpbmUgdWNhY2hlX2NvbXBhcmVL
ZXlzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y2FjaGVfY29tcGFyZUtleXMpCisjZGVmaW5l
IHVjYWNoZV9kZWxldGVLZXkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjYWNoZV9kZWxldGVL
ZXkpCisjZGVmaW5lIHVjYWNoZV9oYXNoS2V5cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNh
Y2hlX2hhc2hLZXlzKQogI2RlZmluZSB1Y2FsX2FkZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNhbF9hZGQpCiAjZGVmaW5lIHVjYWxfY2xlYXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
YWxfY2xlYXIpCiAjZGVmaW5lIHVjYWxfY2xlYXJGaWVsZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNhbF9jbGVhckZpZWxkKQpAQCAtNjkwLDQ3ICs2OTUsMjkgQEAKICNkZWZpbmUgdWNudnNl
bF9zZWxlY3RGb3JTdHJpbmcgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjbnZzZWxfc2VsZWN0
Rm9yU3RyaW5nKQogI2RlZmluZSB1Y252c2VsX3NlbGVjdEZvclVURjggVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVjbnZzZWxfc2VsZWN0Rm9yVVRGOCkKICNkZWZpbmUgdWNudnNlbF9zZXJpYWxp
emUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjbnZzZWxfc2VyaWFsaXplKQotI2RlZmluZSB1
Y29sX2FsbG9jV2VpZ2h0cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9hbGxvY1dlaWdo
dHMpCi0jZGVmaW5lIHVjb2xfYXNzZW1ibGVUYWlsb3JpbmdUYWJsZSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9hc3NlbWJsZVRhaWxvcmluZ1RhYmxlKQotI2RlZmluZSB1Y29sX2J1aWxk
UGVybXV0YXRpb25UYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9idWlsZFBlcm11
dGF0aW9uVGFibGUpCi0jZGVmaW5lIHVjb2xfY2FsY1NvcnRLZXkgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfY2FsY1NvcnRLZXkpCi0jZGVmaW5lIHVjb2xfY2FsY1NvcnRLZXlTaW1wbGVU
ZXJ0aWFyeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jYWxjU29ydEtleVNpbXBsZVRl
cnRpYXJ5KQogI2RlZmluZSB1Y29sX2Nsb25lQmluYXJ5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2Nsb25lQmluYXJ5KQogI2RlZmluZSB1Y29sX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1Y29sX2Nsb3NlKQogI2RlZmluZSB1Y29sX2Nsb3NlRWxlbWVudHMgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfY2xvc2VFbGVtZW50cykKICNkZWZpbmUgdWNvbF9jb3VudEF2
YWlsYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9jb3VudEF2YWlsYWJsZSkKLSNk
ZWZpbmUgdWNvbF9jcmVhdGVFbGVtZW50cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9j
cmVhdGVFbGVtZW50cykKLSNkZWZpbmUgdWNvbF9kb0NFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2RvQ0UpCiAjZGVmaW5lIHVjb2xfZXF1YWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfZXF1YWwpCiAjZGVmaW5lIHVjb2xfZXF1YWxzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y29sX2VxdWFscykKLSNkZWZpbmUgdWNvbF9maW5kUmVvcmRlcmluZ0VudHJ5IFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX2ZpbmRSZW9yZGVyaW5nRW50cnkpCi0jZGVmaW5lIHVjb2xf
Zm9yY2VIYW5JbXBsaWNpdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9mb3JjZUhhbklt
cGxpY2l0KQotI2RlZmluZSB1Y29sX2ZvcmdldFVDQSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNvbF9mb3JnZXRVQ0EpCi0jZGVmaW5lIHVjb2xfZnJlZU9mZnNldEJ1ZmZlciBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9mcmVlT2Zmc2V0QnVmZmVyKQogI2RlZmluZSB1Y29sX2dldEF0
dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRBdHRyaWJ1dGUpCi0jZGVm
aW5lIHVjb2xfZ2V0QXR0cmlidXRlT3JEZWZhdWx0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX2dldEF0dHJpYnV0ZU9yRGVmYXVsdCkKICNkZWZpbmUgdWNvbF9nZXRBdmFpbGFibGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0QXZhaWxhYmxlKQogI2RlZmluZSB1Y29sX2dl
dEJvdW5kIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEJvdW5kKQotI2RlZmluZSB1
Y29sX2dldENFU3RyZW5ndGhEaWZmZXJlbmNlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2dldENFU3RyZW5ndGhEaWZmZXJlbmNlKQotI2RlZmluZSB1Y29sX2dldENvbGxhdGlvbktleSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRDb2xsYXRpb25LZXkpCiAjZGVmaW5lIHVj
b2xfZ2V0Q29udHJhY3Rpb25zIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldENvbnRy
YWN0aW9ucykKICNkZWZpbmUgdWNvbF9nZXRDb250cmFjdGlvbnNBbmRFeHBhbnNpb25zIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldENvbnRyYWN0aW9uc0FuZEV4cGFuc2lvbnMpCiAj
ZGVmaW5lIHVjb2xfZ2V0RGlzcGxheU5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
Z2V0RGlzcGxheU5hbWUpCiAjZGVmaW5lIHVjb2xfZ2V0RXF1aXZhbGVudFJlb3JkZXJDb2RlcyBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRFcXVpdmFsZW50UmVvcmRlckNvZGVzKQot
I2RlZmluZSB1Y29sX2dldEZpcnN0Q0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0
Rmlyc3RDRSkKICNkZWZpbmUgdWNvbF9nZXRGdW5jdGlvbmFsRXF1aXZhbGVudCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF9nZXRGdW5jdGlvbmFsRXF1aXZhbGVudCkKICNkZWZpbmUgdWNv
bF9nZXRLZXl3b3JkVmFsdWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEtleXdv
cmRWYWx1ZXMpCiAjZGVmaW5lIHVjb2xfZ2V0S2V5d29yZFZhbHVlc0ZvckxvY2FsZSBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRLZXl3b3JkVmFsdWVzRm9yTG9jYWxlKQogI2RlZmlu
ZSB1Y29sX2dldEtleXdvcmRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dldEtleXdv
cmRzKQotI2RlZmluZSB1Y29sX2dldExlYWRCeXRlc0ZvclJlb3JkZXJDb2RlIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y29sX2dldExlYWRCeXRlc0ZvclJlb3JkZXJDb2RlKQogI2RlZmluZSB1
Y29sX2dldExvY2FsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRMb2NhbGUpCiAj
ZGVmaW5lIHVjb2xfZ2V0TG9jYWxlQnlUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X2dldExvY2FsZUJ5VHlwZSkKICNkZWZpbmUgdWNvbF9nZXRNYXhFeHBhbnNpb24gVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TWF4RXhwYW5zaW9uKQotI2RlZmluZSB1Y29sX2dldE5l
eHRDRSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXROZXh0Q0UpCisjZGVmaW5lIHVj
b2xfZ2V0TWF4VmFyaWFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0TWF4VmFy
aWFibGUpCiAjZGVmaW5lIHVjb2xfZ2V0T2Zmc2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX2dldE9mZnNldCkKLSNkZWZpbmUgdWNvbF9nZXRQcmV2Q0UgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfZ2V0UHJldkNFKQogI2RlZmluZSB1Y29sX2dldFJlb3JkZXJDb2RlcyBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRSZW9yZGVyQ29kZXMpCi0jZGVmaW5lIHVjb2xf
Z2V0UmVvcmRlckNvZGVzRm9yTGVhZEJ5dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
Z2V0UmVvcmRlckNvZGVzRm9yTGVhZEJ5dGUpCiAjZGVmaW5lIHVjb2xfZ2V0UnVsZXMgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0UnVsZXMpCiAjZGVmaW5lIHVjb2xfZ2V0UnVsZXNF
eCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9nZXRSdWxlc0V4KQogI2RlZmluZSB1Y29s
X2dldFNob3J0RGVmaW5pdGlvblN0cmluZyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9n
ZXRTaG9ydERlZmluaXRpb25TdHJpbmcpCkBAIC03NDMsMjAgKzczMCwxMSBAQAogI2RlZmluZSB1
Y29sX2dldFZlcnNpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfZ2V0VmVyc2lvbikK
ICNkZWZpbmUgdWNvbF9ncmVhdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2dyZWF0
ZXIpCiAjZGVmaW5lIHVjb2xfZ3JlYXRlck9yRXF1YWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfZ3JlYXRlck9yRXF1YWwpCi0jZGVmaW5lIHVjb2xfaW5pdEJ1ZmZlcnMgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjb2xfaW5pdEJ1ZmZlcnMpCi0jZGVmaW5lIHVjb2xfaW5pdENvbGxh
dG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2luaXRDb2xsYXRvcikKLSNkZWZpbmUg
dWNvbF9pbml0SW52ZXJzZVVDQSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9pbml0SW52
ZXJzZVVDQSkKLSNkZWZpbmUgdWNvbF9pbml0VUNBIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
Y29sX2luaXRVQ0EpCi0jZGVmaW5lIHVjb2xfaW52X2dldE5leHRDRSBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF9pbnZfZ2V0TmV4dENFKQotI2RlZmluZSB1Y29sX2ludl9nZXRQcmV2Q0Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfaW52X2dldFByZXZDRSkKLSNkZWZpbmUgdWNv
bF9pc1RhaWxvcmVkIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX2lzVGFpbG9yZWQpCiAj
ZGVmaW5lIHVjb2xfa2V5SGFzaENvZGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfa2V5
SGFzaENvZGUpCiAjZGVmaW5lIHVjb2xfbG9va3NMaWtlQ29sbGF0aW9uQmluYXJ5IFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX2xvb2tzTGlrZUNvbGxhdGlvbkJpbmFyeSkKICNkZWZpbmUg
dWNvbF9tZXJnZVNvcnRrZXlzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX21lcmdlU29y
dGtleXMpCiAjZGVmaW5lIHVjb2xfbmV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9u
ZXh0KQotI2RlZmluZSB1Y29sX25leHRQcm9jZXNzZWQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVjb2xfbmV4dFByb2Nlc3NlZCkKICNkZWZpbmUgdWNvbF9uZXh0U29ydEtleVBhcnQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfbmV4dFNvcnRLZXlQYXJ0KQotI2RlZmluZSB1Y29sX25l
eHRXZWlnaHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfbmV4dFdlaWdodCkKICNkZWZp
bmUgdWNvbF9ub3JtYWxpemVTaG9ydERlZmluaXRpb25TdHJpbmcgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVjb2xfbm9ybWFsaXplU2hvcnREZWZpbml0aW9uU3RyaW5nKQogI2RlZmluZSB1Y29s
X29wZW4gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlbikKICNkZWZpbmUgdWNvbF9v
cGVuQXZhaWxhYmxlTG9jYWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9vcGVuQXZh
aWxhYmxlTG9jYWxlcykKQEAgLTc2NCwyMyArNzQyLDE3IEBACiAjZGVmaW5lIHVjb2xfb3BlbkVs
ZW1lbnRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX29wZW5FbGVtZW50cykKICNkZWZp
bmUgdWNvbF9vcGVuRnJvbVNob3J0U3RyaW5nIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29s
X29wZW5Gcm9tU2hvcnRTdHJpbmcpCiAjZGVmaW5lIHVjb2xfb3BlblJ1bGVzIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1Y29sX29wZW5SdWxlcykKLSNkZWZpbmUgdWNvbF9vcGVuUnVsZXNGb3JJ
bXBvcnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfb3BlblJ1bGVzRm9ySW1wb3J0KQot
I2RlZmluZSB1Y29sX29wZW5faW50ZXJuYWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xf
b3Blbl9pbnRlcm5hbCkKICNkZWZpbmUgdWNvbF9wcmVwYXJlU2hvcnRTdHJpbmdPcGVuIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3ByZXBhcmVTaG9ydFN0cmluZ09wZW4pCiAjZGVmaW5l
IHVjb2xfcHJldmlvdXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcHJldmlvdXMpCi0j
ZGVmaW5lIHVjb2xfcHJldmlvdXNQcm9jZXNzZWQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfcHJldmlvdXNQcm9jZXNzZWQpCiAjZGVmaW5lIHVjb2xfcHJpbWFyeU9yZGVyIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y29sX3ByaW1hcnlPcmRlcikKLSNkZWZpbmUgdWNvbF9wcnZfZ2V0
U3BlY2lhbENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Bydl9nZXRTcGVjaWFsQ0Up
Ci0jZGVmaW5lIHVjb2xfcHJ2X2dldFNwZWNpYWxQcmV2Q0UgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVjb2xfcHJ2X2dldFNwZWNpYWxQcmV2Q0UpCiAjZGVmaW5lIHVjb2xfcmVzZXQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfcmVzZXQpCiAjZGVmaW5lIHVjb2xfcmVzdG9yZVZhcmlh
YmxlVG9wIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Jlc3RvcmVWYXJpYWJsZVRvcCkK
ICNkZWZpbmUgdWNvbF9zYWZlQ2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2Fm
ZUNsb25lKQogI2RlZmluZSB1Y29sX3NlY29uZGFyeU9yZGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1Y29sX3NlY29uZGFyeU9yZGVyKQogI2RlZmluZSB1Y29sX3NldEF0dHJpYnV0ZSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRBdHRyaWJ1dGUpCisjZGVmaW5lIHVjb2xfc2V0
TWF4VmFyaWFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0TWF4VmFyaWFibGUp
CiAjZGVmaW5lIHVjb2xfc2V0T2Zmc2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Nl
dE9mZnNldCkKLSNkZWZpbmUgdWNvbF9zZXRPcHRpb25zRnJvbUhlYWRlciBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF9zZXRPcHRpb25zRnJvbUhlYWRlcikKICNkZWZpbmUgdWNvbF9zZXRS
ZW9yZGVyQ29kZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0UmVvcmRlckNvZGVz
KQotI2RlZmluZSB1Y29sX3NldFJlcVZhbGlkTG9jYWxlcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWNvbF9zZXRSZXFWYWxpZExvY2FsZXMpCiAjZGVmaW5lIHVjb2xfc2V0U3RyZW5ndGggVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc2V0U3RyZW5ndGgpCiAjZGVmaW5lIHVjb2xfc2V0
VGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF9zZXRUZXh0KQogI2RlZmluZSB1Y29s
X3NldFZhcmlhYmxlVG9wIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3NldFZhcmlhYmxl
VG9wKQpAQCAtNzg4LDE2ICs3NjAsOCBAQAogI2RlZmluZSB1Y29sX3N0cmNvbGxJdGVyIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N0cmNvbGxJdGVyKQogI2RlZmluZSB1Y29sX3N0cmNv
bGxVVEY4IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N0cmNvbGxVVEY4KQogI2RlZmlu
ZSB1Y29sX3N3YXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjb2xfc3dhcCkKLSNkZWZpbmUg
dWNvbF9zd2FwQmluYXJ5IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3N3YXBCaW5hcnkp
CiAjZGVmaW5lIHVjb2xfc3dhcEludmVyc2VVQ0EgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
b2xfc3dhcEludmVyc2VVQ0EpCiAjZGVmaW5lIHVjb2xfdGVydGlhcnlPcmRlciBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWNvbF90ZXJ0aWFyeU9yZGVyKQotI2RlZmluZSB1Y29sX3Rva19hc3Nl
bWJsZVRva2VuTGlzdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF90b2tfYXNzZW1ibGVU
b2tlbkxpc3QpCi0jZGVmaW5lIHVjb2xfdG9rX2Nsb3NlVG9rZW5MaXN0IFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1Y29sX3Rva19jbG9zZVRva2VuTGlzdCkKLSNkZWZpbmUgdWNvbF90b2tfZ2V0
TmV4dEFyZ3VtZW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Rva19nZXROZXh0QXJn
dW1lbnQpCi0jZGVmaW5lIHVjb2xfdG9rX2dldFJ1bGVzRnJvbUJ1bmRsZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWNvbF90b2tfZ2V0UnVsZXNGcm9tQnVuZGxlKQotI2RlZmluZSB1Y29sX3Rv
a19pbml0VG9rZW5MaXN0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y29sX3Rva19pbml0VG9r
ZW5MaXN0KQotI2RlZmluZSB1Y29sX3Rva19wYXJzZU5leHRUb2tlbiBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNvbF90b2tfcGFyc2VOZXh0VG9rZW4pCi0jZGVmaW5lIHVjb2xfdXBkYXRlSW50
ZXJuYWxTdGF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWNvbF91cGRhdGVJbnRlcm5hbFN0
YXRlKQogI2RlZmluZSB1Y3NkZXRfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjc2Rl
dF9jbG9zZSkKICNkZWZpbmUgdWNzZGV0X2RldGVjdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dWNzZGV0X2RldGVjdCkKICNkZWZpbmUgdWNzZGV0X2RldGVjdEFsbCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWNzZGV0X2RldGVjdEFsbCkKQEAgLTgxNywxNSArNzgxLDE5IEBACiAjZGVmaW5l
IHVjdXJyX2ZvckxvY2FsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZm9yTG9jYWxl
KQogI2RlZmluZSB1Y3Vycl9mb3JMb2NhbGVBbmREYXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1Y3Vycl9mb3JMb2NhbGVBbmREYXRlKQogI2RlZmluZSB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rp
b25EaWdpdHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldERlZmF1bHRGcmFjdGlv
bkRpZ2l0cykKKyNkZWZpbmUgdWN1cnJfZ2V0RGVmYXVsdEZyYWN0aW9uRGlnaXRzRm9yVXNhZ2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0c0Zv
clVzYWdlKQogI2RlZmluZSB1Y3Vycl9nZXRLZXl3b3JkVmFsdWVzRm9yTG9jYWxlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXRLZXl3b3JkVmFsdWVzRm9yTG9jYWxlKQogI2RlZmlu
ZSB1Y3Vycl9nZXROYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXROYW1lKQog
I2RlZmluZSB1Y3Vycl9nZXROdW1lcmljQ29kZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1
cnJfZ2V0TnVtZXJpY0NvZGUpCiAjZGVmaW5lIHVjdXJyX2dldFBsdXJhbE5hbWUgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVjdXJyX2dldFBsdXJhbE5hbWUpCiAjZGVmaW5lIHVjdXJyX2dldFJv
dW5kaW5nSW5jcmVtZW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9nZXRSb3VuZGlu
Z0luY3JlbWVudCkKKyNkZWZpbmUgdWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnRGb3JVc2FnZSBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfZ2V0Um91bmRpbmdJbmNyZW1lbnRGb3JVc2Fn
ZSkKICNkZWZpbmUgdWN1cnJfaXNBdmFpbGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVj
dXJyX2lzQXZhaWxhYmxlKQogI2RlZmluZSB1Y3Vycl9vcGVuSVNPQ3VycmVuY2llcyBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfb3BlbklTT0N1cnJlbmNpZXMpCiAjZGVmaW5lIHVjdXJy
X3JlZ2lzdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1Y3Vycl9yZWdpc3RlcikKICNkZWZp
bmUgdWN1cnJfdW5yZWdpc3RlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWN1cnJfdW5yZWdp
c3RlcikKKyNkZWZpbmUgdWRhdF9hZG9wdE51bWJlckZvcm1hdCBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWRhdF9hZG9wdE51bWJlckZvcm1hdCkKKyNkZWZpbmUgdWRhdF9hZG9wdE51bWJlckZv
cm1hdEZvckZpZWxkcyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9hZG9wdE51bWJlckZv
cm1hdEZvckZpZWxkcykKICNkZWZpbmUgdWRhdF9hcHBseVBhdHRlcm4gVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVkYXRfYXBwbHlQYXR0ZXJuKQogI2RlZmluZSB1ZGF0X2FwcGx5UGF0dGVyblJl
bGF0aXZlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2FwcGx5UGF0dGVyblJlbGF0aXZl
KQogI2RlZmluZSB1ZGF0X2Nsb25lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2Nsb25l
KQpAQCAtODMzLDEyICs4MDEsMTcgQEAKICNkZWZpbmUgdWRhdF9jb3VudEF2YWlsYWJsZSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9jb3VudEF2YWlsYWJsZSkKICNkZWZpbmUgdWRhdF9j
b3VudFN5bWJvbHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfY291bnRTeW1ib2xzKQog
I2RlZmluZSB1ZGF0X2Zvcm1hdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9mb3JtYXQp
CisjZGVmaW5lIHVkYXRfZm9ybWF0Q2FsZW5kYXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVk
YXRfZm9ybWF0Q2FsZW5kYXIpCisjZGVmaW5lIHVkYXRfZm9ybWF0Q2FsZW5kYXJGb3JGaWVsZHMg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZm9ybWF0Q2FsZW5kYXJGb3JGaWVsZHMpCisj
ZGVmaW5lIHVkYXRfZm9ybWF0Rm9yRmllbGRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0
X2Zvcm1hdEZvckZpZWxkcykKICNkZWZpbmUgdWRhdF9nZXQyRGlnaXRZZWFyU3RhcnQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0MkRpZ2l0WWVhclN0YXJ0KQogI2RlZmluZSB1ZGF0
X2dldEF2YWlsYWJsZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9nZXRBdmFpbGFibGUp
CisjZGVmaW5lIHVkYXRfZ2V0Qm9vbGVhbkF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodWRhdF9nZXRCb29sZWFuQXR0cmlidXRlKQogI2RlZmluZSB1ZGF0X2dldENhbGVuZGFyIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X2dldENhbGVuZGFyKQogI2RlZmluZSB1ZGF0X2dl
dENvbnRleHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0Q29udGV4dCkKICNkZWZp
bmUgdWRhdF9nZXRMb2NhbGVCeVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0
TG9jYWxlQnlUeXBlKQogI2RlZmluZSB1ZGF0X2dldE51bWJlckZvcm1hdCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWRhdF9nZXROdW1iZXJGb3JtYXQpCisjZGVmaW5lIHVkYXRfZ2V0TnVtYmVy
Rm9ybWF0Rm9yRmllbGQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfZ2V0TnVtYmVyRm9y
bWF0Rm9yRmllbGQpCiAjZGVmaW5lIHVkYXRfZ2V0U3ltYm9scyBVX0lDVV9FTlRSWV9QT0lOVF9S
RU5BTUUodWRhdF9nZXRTeW1ib2xzKQogI2RlZmluZSB1ZGF0X2lzTGVuaWVudCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodWRhdF9pc0xlbmllbnQpCiAjZGVmaW5lIHVkYXRfb3BlbiBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWRhdF9vcGVuKQpAQCAtODQ2LDYgKzgxOSw3IEBACiAjZGVmaW5l
IHVkYXRfcGFyc2VDYWxlbmRhciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9wYXJzZUNh
bGVuZGFyKQogI2RlZmluZSB1ZGF0X3JlZ2lzdGVyT3BlbmVyIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1ZGF0X3JlZ2lzdGVyT3BlbmVyKQogI2RlZmluZSB1ZGF0X3NldDJEaWdpdFllYXJTdGFy
dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRhdF9zZXQyRGlnaXRZZWFyU3RhcnQpCisjZGVm
aW5lIHVkYXRfc2V0Qm9vbGVhbkF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWRh
dF9zZXRCb29sZWFuQXR0cmlidXRlKQogI2RlZmluZSB1ZGF0X3NldENhbGVuZGFyIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1ZGF0X3NldENhbGVuZGFyKQogI2RlZmluZSB1ZGF0X3NldENvbnRl
eHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVkYXRfc2V0Q29udGV4dCkKICNkZWZpbmUgdWRh
dF9zZXRMZW5pZW50IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZGF0X3NldExlbmllbnQpCkBA
IC05MTMsNiArODg3LDkgQEAKICNkZWZpbmUgdWVudW1fcmVzZXQgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVlbnVtX3Jlc2V0KQogI2RlZmluZSB1ZW51bV91bmV4dCBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodWVudW1fdW5leHQpCiAjZGVmaW5lIHVlbnVtX3VuZXh0RGVmYXVsdCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWVudW1fdW5leHREZWZhdWx0KQorI2RlZmluZSB1ZmllbGRwb3Np
dGVyX2Nsb3NlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZmllbGRwb3NpdGVyX2Nsb3NlKQor
I2RlZmluZSB1ZmllbGRwb3NpdGVyX25leHQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWVs
ZHBvc2l0ZXJfbmV4dCkKKyNkZWZpbmUgdWZpZWxkcG9zaXRlcl9vcGVuIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1ZmllbGRwb3NpdGVyX29wZW4pCiAjZGVmaW5lIHVmaWxlX2Nsb3NlX3RyYW5z
bGl0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1ZmlsZV9jbG9zZV90cmFuc2xpdCkKICNkZWZp
bmUgdWZpbGVfZmlsbF91Y2hhcl9idWZmZXIgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVmaWxl
X2ZpbGxfdWNoYXJfYnVmZmVyKQogI2RlZmluZSB1ZmlsZV9mbHVzaF9pbyBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWZpbGVfZmx1c2hfaW8pCkBAIC0xMDM4LDYgKzEwMTUsOSBAQAogI2RlZmlu
ZSB1bGlzdF9uZXh0X2tleXdvcmRfdmFsdWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsaXN0
X25leHRfa2V5d29yZF92YWx1ZSkKICNkZWZpbmUgdWxpc3RfcmVzZXRMaXN0IFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bGlzdF9yZXNldExpc3QpCiAjZGVmaW5lIHVsaXN0X3Jlc2V0X2tleXdv
cmRfdmFsdWVzX2l0ZXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bGlzdF9yZXNldF9r
ZXl3b3JkX3ZhbHVlc19pdGVyYXRvcikKKyNkZWZpbmUgdWxpc3RmbXRfY2xvc2UgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVsaXN0Zm10X2Nsb3NlKQorI2RlZmluZSB1bGlzdGZtdF9mb3JtYXQg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsaXN0Zm10X2Zvcm1hdCkKKyNkZWZpbmUgdWxpc3Rm
bXRfb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxpc3RmbXRfb3BlbikKICNkZWZpbmUg
dWxvY19hY2NlcHRMYW5ndWFnZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19hY2NlcHRM
YW5ndWFnZSkKICNkZWZpbmUgdWxvY19hY2NlcHRMYW5ndWFnZUZyb21IVFRQIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bG9jX2FjY2VwdExhbmd1YWdlRnJvbUhUVFApCiAjZGVmaW5lIHVsb2Nf
YWRkTGlrZWx5U3VidGFncyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19hZGRMaWtlbHlT
dWJ0YWdzKQpAQCAtMTA3MywxMiArMTA1MywxNyBAQAogI2RlZmluZSB1bG9jX2dldFNjcmlwdCBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY19nZXRTY3JpcHQpCiAjZGVmaW5lIHVsb2NfZ2V0
VGFibGVTdHJpbmdXaXRoRmFsbGJhY2sgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfZ2V0
VGFibGVTdHJpbmdXaXRoRmFsbGJhY2spCiAjZGVmaW5lIHVsb2NfZ2V0VmFyaWFudCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodWxvY19nZXRWYXJpYW50KQorI2RlZmluZSB1bG9jX2lzUmlnaHRU
b0xlZnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfaXNSaWdodFRvTGVmdCkKICNkZWZp
bmUgdWxvY19taW5pbWl6ZVN1YnRhZ3MgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfbWlu
aW1pemVTdWJ0YWdzKQogI2RlZmluZSB1bG9jX29wZW5LZXl3b3JkTGlzdCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWxvY19vcGVuS2V5d29yZExpc3QpCiAjZGVmaW5lIHVsb2Nfb3BlbktleXdv
cmRzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX29wZW5LZXl3b3JkcykKICNkZWZpbmUg
dWxvY19zZXREZWZhdWx0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX3NldERlZmF1bHQp
CiAjZGVmaW5lIHVsb2Nfc2V0S2V5d29yZFZhbHVlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bG9jX3NldEtleXdvcmRWYWx1ZSkKICNkZWZpbmUgdWxvY190b0xhbmd1YWdlVGFnIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1bG9jX3RvTGFuZ3VhZ2VUYWcpCisjZGVmaW5lIHVsb2NfdG9MZWdh
Y3lLZXkgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfdG9MZWdhY3lLZXkpCisjZGVmaW5l
IHVsb2NfdG9MZWdhY3lUeXBlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jX3RvTGVnYWN5
VHlwZSkKKyNkZWZpbmUgdWxvY190b1VuaWNvZGVMb2NhbGVLZXkgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVsb2NfdG9Vbmljb2RlTG9jYWxlS2V5KQorI2RlZmluZSB1bG9jX3RvVW5pY29kZUxv
Y2FsZVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2NfdG9Vbmljb2RlTG9jYWxlVHlw
ZSkKICNkZWZpbmUgdWxvY2RhdGFfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsb2Nk
YXRhX2Nsb3NlKQogI2RlZmluZSB1bG9jZGF0YV9nZXRDTERSVmVyc2lvbiBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodWxvY2RhdGFfZ2V0Q0xEUlZlcnNpb24pCiAjZGVmaW5lIHVsb2NkYXRhX2dl
dERlbGltaXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2RhdGFfZ2V0RGVsaW1pdGVy
KQpAQCAtMTA5Myw2ICsxMDc4LDEyIEBACiAjZGVmaW5lIHVsb2NpbXBfZ2V0Q291bnRyeSBVX0lD
VV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF9nZXRDb3VudHJ5KQogI2RlZmluZSB1bG9jaW1w
X2dldExhbmd1YWdlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1wX2dldExhbmd1YWdl
KQogI2RlZmluZSB1bG9jaW1wX2dldFNjcmlwdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxv
Y2ltcF9nZXRTY3JpcHQpCisjZGVmaW5lIHVsb2NpbXBfdG9CY3BLZXkgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVsb2NpbXBfdG9CY3BLZXkpCisjZGVmaW5lIHVsb2NpbXBfdG9CY3BUeXBlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bG9jaW1wX3RvQmNwVHlwZSkKKyNkZWZpbmUgdWxvY2lt
cF90b0xlZ2FjeUtleSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWxvY2ltcF90b0xlZ2FjeUtl
eSkKKyNkZWZpbmUgdWxvY2ltcF90b0xlZ2FjeVR5cGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVsb2NpbXBfdG9MZWdhY3lUeXBlKQorI2RlZmluZSB1bHRhZ19pc1VuaWNvZGVMb2NhbGVLZXkg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVsdGFnX2lzVW5pY29kZUxvY2FsZUtleSkKKyNkZWZp
bmUgdWx0YWdfaXNVbmljb2RlTG9jYWxlVHlwZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodWx0
YWdfaXNVbmljb2RlTG9jYWxlVHlwZSkKICNkZWZpbmUgdW1zZ19hcHBseVBhdHRlcm4gVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfYXBwbHlQYXR0ZXJuKQogI2RlZmluZSB1bXNnX2F1dG9R
dW90ZUFwb3N0cm9waGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVtc2dfYXV0b1F1b3RlQXBv
c3Ryb3BoZSkKICNkZWZpbmUgdW1zZ19jbG9uZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW1z
Z19jbG9uZSkKQEAgLTExMDUsNiArMTA5Niw5IEBACiAjZGVmaW5lIHVtc2dfdG9QYXR0ZXJuIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX3RvUGF0dGVybikKICNkZWZpbmUgdW1zZ192Zm9y
bWF0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX3Zmb3JtYXQpCiAjZGVmaW5lIHVtc2df
dnBhcnNlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXNnX3ZwYXJzZSkKKyNkZWZpbmUgdW10
eF9jb25kQnJvYWRjYXN0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bXR4X2NvbmRCcm9hZGNh
c3QpCisjZGVmaW5lIHVtdHhfY29uZFNpZ25hbCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW10
eF9jb25kU2lnbmFsKQorI2RlZmluZSB1bXR4X2NvbmRXYWl0IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1bXR4X2NvbmRXYWl0KQogI2RlZmluZSB1bXR4X2xvY2sgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVtdHhfbG9jaykKICNkZWZpbmUgdW10eF91bmxvY2sgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVtdHhfdW5sb2NrKQogI2RlZmluZSB1bmlzZXRfZ2V0VW5pY29kZTMySW5zdGFuY2Ug
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVuaXNldF9nZXRVbmljb2RlMzJJbnN0YW5jZSkKQEAg
LTExMzAsNyArMTEyNCw2IEBACiAjZGVmaW5lIHVub3JtMl9xdWlja0NoZWNrIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bm9ybTJfcXVpY2tDaGVjaykKICNkZWZpbmUgdW5vcm0yX3NwYW5RdWlj
a0NoZWNrWWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybTJfc3BhblF1aWNrQ2hlY2tZ
ZXMpCiAjZGVmaW5lIHVub3JtMl9zd2FwIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybTJf
c3dhcCkKLSNkZWZpbmUgdW5vcm1fY2xvc2VJdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bm9ybV9jbG9zZUl0ZXIpCiAjZGVmaW5lIHVub3JtX2NvbXBhcmUgVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVub3JtX2NvbXBhcmUpCiAjZGVmaW5lIHVub3JtX2NvbmNhdGVuYXRlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9jb25jYXRlbmF0ZSkKICNkZWZpbmUgdW5vcm1fZ2V0RkNE
MTYgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX2dldEZDRDE2KQpAQCAtMTEzOSwxMSAr
MTEzMiw5IEBACiAjZGVmaW5lIHVub3JtX2lzTm9ybWFsaXplZFdpdGhPcHRpb25zIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9pc05vcm1hbGl6ZWRXaXRoT3B0aW9ucykKICNkZWZpbmUg
dW5vcm1fbmV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5vcm1fbmV4dCkKICNkZWZpbmUg
dW5vcm1fbm9ybWFsaXplIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9ub3JtYWxpemUp
Ci0jZGVmaW5lIHVub3JtX29wZW5JdGVyIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bm9ybV9v
cGVuSXRlcikKICNkZWZpbmUgdW5vcm1fcHJldmlvdXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVub3JtX3ByZXZpb3VzKQogI2RlZmluZSB1bm9ybV9xdWlja0NoZWNrIFVfSUNVX0VOVFJZX1BP
SU5UX1JFTkFNRSh1bm9ybV9xdWlja0NoZWNrKQogI2RlZmluZSB1bm9ybV9xdWlja0NoZWNrV2l0
aE9wdGlvbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVub3JtX3F1aWNrQ2hlY2tXaXRoT3B0
aW9ucykKLSNkZWZpbmUgdW5vcm1fc2V0SXRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW5v
cm1fc2V0SXRlcikKICNkZWZpbmUgdW51bV9hcHBseVBhdHRlcm4gVV9JQ1VfRU5UUllfUE9JTlRf
UkVOQU1FKHVudW1fYXBwbHlQYXR0ZXJuKQogI2RlZmluZSB1bnVtX2Nsb25lIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bnVtX2Nsb25lKQogI2RlZmluZSB1bnVtX2Nsb3NlIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1bnVtX2Nsb3NlKQpAQCAtMTE1Niw2ICsxMTQ3LDcgQEAKICNkZWZpbmUg
dW51bV9mb3JtYXRVRm9ybWF0dGFibGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZm9y
bWF0VUZvcm1hdHRhYmxlKQogI2RlZmluZSB1bnVtX2dldEF0dHJpYnV0ZSBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodW51bV9nZXRBdHRyaWJ1dGUpCiAjZGVmaW5lIHVudW1fZ2V0QXZhaWxhYmxl
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2dldEF2YWlsYWJsZSkKKyNkZWZpbmUgdW51
bV9nZXRDb250ZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX2dldENvbnRleHQpCiAj
ZGVmaW5lIHVudW1fZ2V0RG91YmxlQXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
bnVtX2dldERvdWJsZUF0dHJpYnV0ZSkKICNkZWZpbmUgdW51bV9nZXRMb2NhbGVCeVR5cGUgVV9J
Q1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fZ2V0TG9jYWxlQnlUeXBlKQogI2RlZmluZSB1bnVt
X2dldFN5bWJvbCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodW51bV9nZXRTeW1ib2wpCkBAIC0x
MTY4LDYgKzExNjAsNyBAQAogI2RlZmluZSB1bnVtX3BhcnNlSW50NjQgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHVudW1fcGFyc2VJbnQ2NCkKICNkZWZpbmUgdW51bV9wYXJzZVRvVUZvcm1hdHRh
YmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3BhcnNlVG9VRm9ybWF0dGFibGUpCiAj
ZGVmaW5lIHVudW1fc2V0QXR0cmlidXRlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3Nl
dEF0dHJpYnV0ZSkKKyNkZWZpbmUgdW51bV9zZXRDb250ZXh0IFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1bnVtX3NldENvbnRleHQpCiAjZGVmaW5lIHVudW1fc2V0RG91YmxlQXR0cmlidXRlIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1bnVtX3NldERvdWJsZUF0dHJpYnV0ZSkKICNkZWZpbmUg
dW51bV9zZXRTeW1ib2wgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVudW1fc2V0U3ltYm9sKQog
I2RlZmluZSB1bnVtX3NldFRleHRBdHRyaWJ1dGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVu
dW1fc2V0VGV4dEF0dHJpYnV0ZSkKQEAgLTEyMTQsMjAgKzEyMDcsNiBAQAogI2RlZmluZSB1cHJ2
X2FzY2lpdG9sb3dlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9hc2NpaXRvbG93ZXIp
CiAjZGVmaW5lIHVwcnZfY2FsbG9jIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NhbGxv
YykKICNkZWZpbmUgdXBydl9jZWlsIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NlaWwp
Ci0jZGVmaW5lIHVwcnZfY250dGFiX2FkZENvbnRyYWN0aW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X2NudHRhYl9hZGRDb250cmFjdGlvbikKLSNkZWZpbmUgdXBydl9jbnR0YWJfY2hh
bmdlQ29udHJhY3Rpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2NoYW5n
ZUNvbnRyYWN0aW9uKQotI2RlZmluZSB1cHJ2X2NudHRhYl9jaGFuZ2VMYXN0Q0UgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2NoYW5nZUxhc3RDRSkKLSNkZWZpbmUgdXBydl9j
bnR0YWJfY2xvbmUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY250dGFiX2Nsb25lKQot
I2RlZmluZSB1cHJ2X2NudHRhYl9jbG9zZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9j
bnR0YWJfY2xvc2UpCi0jZGVmaW5lIHVwcnZfY250dGFiX2NvbnN0cnVjdFRhYmxlIFVfSUNVX0VO
VFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9jb25zdHJ1Y3RUYWJsZSkKLSNkZWZpbmUgdXBy
dl9jbnR0YWJfZmluZENFIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9maW5k
Q0UpCi0jZGVmaW5lIHVwcnZfY250dGFiX2ZpbmRDUCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9jbnR0YWJfZmluZENQKQotI2RlZmluZSB1cHJ2X2NudHRhYl9nZXRDRSBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfZ2V0Q0UpCi0jZGVmaW5lIHVwcnZfY250dGFiX2lu
c2VydENvbnRyYWN0aW9uIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2NudHRhYl9pbnNl
cnRDb250cmFjdGlvbikKLSNkZWZpbmUgdXBydl9jbnR0YWJfaXNUYWlsb3JlZCBVX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfaXNUYWlsb3JlZCkKLSNkZWZpbmUgdXBydl9jbnR0
YWJfb3BlbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9jbnR0YWJfb3BlbikKLSNkZWZp
bmUgdXBydl9jbnR0YWJfc2V0Q29udHJhY3Rpb24gVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVw
cnZfY250dGFiX3NldENvbnRyYWN0aW9uKQotI2RlZmluZSB1cHJ2X2NvbGxJdGVyYXRlQXRFbmQg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY29sbEl0ZXJhdGVBdEVuZCkKICNkZWZpbmUg
dXBydl9jb21wYXJlQVNDSUlQcm9wZXJ0eU5hbWVzIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cHJ2X2NvbXBhcmVBU0NJSVByb3BlcnR5TmFtZXMpCiAjZGVmaW5lIHVwcnZfY29tcGFyZUVCQ0RJ
Q1Byb3BlcnR5TmFtZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfY29tcGFyZUVCQ0RJ
Q1Byb3BlcnR5TmFtZXMpCiAjZGVmaW5lIHVwcnZfY29tcGFyZUludkFzY2lpIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cHJ2X2NvbXBhcmVJbnZBc2NpaSkKQEAgLTEzMTQsOCArMTI5Myw4IEBA
CiAjZGVmaW5lIHVwcnZfZGVjTnVtYmVyVmVyc2lvbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9kZWNOdW1iZXJWZXJzaW9uKQogI2RlZmluZSB1cHJ2X2RlY051bWJlclhvciBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodXBydl9kZWNOdW1iZXJYb3IpCiAjZGVmaW5lIHVwcnZfZGVjTnVt
YmVyWmVybyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9kZWNOdW1iZXJaZXJvKQorI2Rl
ZmluZSB1cHJ2X2RlbGV0ZUNvbmRpdGlvbmFsQ0UzMiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9kZWxldGVDb25kaXRpb25hbENFMzIpCiAjZGVmaW5lIHVwcnZfZGVsZXRlVU9iamVjdCBV
X0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9kZWxldGVVT2JqZWN0KQotI2RlZmluZSB1cHJ2
X2RlbGV0ZV9jb2xsSXRlcmF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9kZWxldGVf
Y29sbEl0ZXJhdGUpCiAjZGVmaW5lIHVwcnZfZGxfY2xvc2UgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVwcnZfZGxfY2xvc2UpCiAjZGVmaW5lIHVwcnZfZGxfb3BlbiBVX0lDVV9FTlRSWV9QT0lO
VF9SRU5BTUUodXBydl9kbF9vcGVuKQogI2RlZmluZSB1cHJ2X2Rsc3ltX2Z1bmMgVV9JQ1VfRU5U
UllfUE9JTlRfUkVOQU1FKHVwcnZfZGxzeW1fZnVuYykKQEAgLTEzNDAsOCArMTMxOSw2IEBACiAj
ZGVmaW5lIHVwcnZfZ2V0U3RhdGljQ3VycmVuY3lOYW1lIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1cHJ2X2dldFN0YXRpY0N1cnJlbmN5TmFtZSkKICNkZWZpbmUgdXBydl9nZXRVVEN0aW1lIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X2dldFVUQ3RpbWUpCiAjZGVmaW5lIHVwcnZfaGF2
ZVByb3BlcnRpZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfaGF2ZVByb3BlcnRpZXMp
Ci0jZGVmaW5lIHVwcnZfaW5pdF9jb2xsSXRlcmF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXBydl9pbml0X2NvbGxJdGVyYXRlKQotI2RlZmluZSB1cHJ2X2luaXRfcGNlIFVfSUNVX0VOVFJZ
X1BPSU5UX1JFTkFNRSh1cHJ2X2luaXRfcGNlKQogI2RlZmluZSB1cHJ2X2ludDMyQ29tcGFyYXRv
ciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9pbnQzMkNvbXBhcmF0b3IpCiAjZGVmaW5l
IHVwcnZfaXNBU0NJSUxldHRlciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9pc0FTQ0lJ
TGV0dGVyKQogI2RlZmluZSB1cHJ2X2lzSW5maW5pdGUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1F
KHVwcnZfaXNJbmZpbml0ZSkKQEAgLTEzNTksNyArMTMzNiw2IEBACiAjZGVmaW5lIHVwcnZfbWF4
aW11bVB0ciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9tYXhpbXVtUHRyKQogI2RlZmlu
ZSB1cHJ2X21pbiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9taW4pCiAjZGVmaW5lIHVw
cnZfbW9kZiBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9tb2RmKQotI2RlZmluZSB1cHJ2
X25ld19jb2xsSXRlcmF0ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9uZXdfY29sbEl0
ZXJhdGUpCiAjZGVmaW5lIHVwcnZfcGFyc2VDdXJyZW5jeSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXBydl9wYXJzZUN1cnJlbmN5KQogI2RlZmluZSB1cHJ2X3BhdGhJc0Fic29sdXRlIFVfSUNV
X0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3BhdGhJc0Fic29sdXRlKQogI2RlZmluZSB1cHJ2X3Bv
dyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl9wb3cpCkBAIC0xMzc5LDE2ICsxMzU1LDYg
QEAKICNkZWZpbmUgdXBydl90cnVuYyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl90cnVu
YykKICNkZWZpbmUgdXBydl90em5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdHpu
YW1lKQogI2RlZmluZSB1cHJ2X3R6c2V0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3R6
c2V0KQotI2RlZmluZSB1cHJ2X3VjYV9hZGRBbkVsZW1lbnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVO
QU1FKHVwcnZfdWNhX2FkZEFuRWxlbWVudCkKLSNkZWZpbmUgdXBydl91Y2FfYXNzZW1ibGVUYWJs
ZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfYXNzZW1ibGVUYWJsZSkKLSNkZWZp
bmUgdXBydl91Y2FfY2Fub25pY2FsQ2xvc3VyZSBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBy
dl91Y2FfY2Fub25pY2FsQ2xvc3VyZSkKLSNkZWZpbmUgdXBydl91Y2FfY2xvc2VUZW1wVGFibGUg
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNhX2Nsb3NlVGVtcFRhYmxlKQotI2RlZmlu
ZSB1cHJ2X3VjYV9nZXRDb2RlUG9pbnRGcm9tUmF3IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1
cHJ2X3VjYV9nZXRDb2RlUG9pbnRGcm9tUmF3KQotI2RlZmluZSB1cHJ2X3VjYV9nZXRJbXBsaWNp
dEZyb21SYXcgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWNhX2dldEltcGxpY2l0RnJv
bVJhdykKLSNkZWZpbmUgdXBydl91Y2FfZ2V0UmF3RnJvbUNvZGVQb2ludCBVX0lDVV9FTlRSWV9Q
T0lOVF9SRU5BTUUodXBydl91Y2FfZ2V0UmF3RnJvbUNvZGVQb2ludCkKLSNkZWZpbmUgdXBydl91
Y2FfZ2V0UmF3RnJvbUltcGxpY2l0IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VjYV9n
ZXRSYXdGcm9tSW1wbGljaXQpCi0jZGVmaW5lIHVwcnZfdWNhX2luaXRJbXBsaWNpdENvbnN0YW50
cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXBydl91Y2FfaW5pdEltcGxpY2l0Q29uc3RhbnRz
KQotI2RlZmluZSB1cHJ2X3VjYV9pbml0VGVtcFRhYmxlIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFN
RSh1cHJ2X3VjYV9pbml0VGVtcFRhYmxlKQogI2RlZmluZSB1cHJ2X3VpbnQxNkNvbXBhcmF0b3Ig
VV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVwcnZfdWludDE2Q29tcGFyYXRvcikKICNkZWZpbmUg
dXBydl91aW50MzJDb21wYXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cHJ2X3VpbnQz
MkNvbXBhcmF0b3IpCiAjZGVmaW5lIHVwcnZfdW5tYXBGaWxlIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cHJ2X3VubWFwRmlsZSkKQEAgLTE0MjIsOCArMTM4OCw5IEBACiAjZGVmaW5lIHVyZWdl
eF9nZXRVVGV4dCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2dldFVUZXh0KQogI2Rl
ZmluZSB1cmVnZXhfZ3JvdXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9ncm91cCkK
ICNkZWZpbmUgdXJlZ2V4X2dyb3VwQ291bnQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdl
eF9ncm91cENvdW50KQorI2RlZmluZSB1cmVnZXhfZ3JvdXBOdW1iZXJGcm9tQ05hbWUgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9ncm91cE51bWJlckZyb21DTmFtZSkKKyNkZWZpbmUg
dXJlZ2V4X2dyb3VwTnVtYmVyRnJvbU5hbWUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdl
eF9ncm91cE51bWJlckZyb21OYW1lKQogI2RlZmluZSB1cmVnZXhfZ3JvdXBVVGV4dCBVX0lDVV9F
TlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2dyb3VwVVRleHQpCi0jZGVmaW5lIHVyZWdleF9ncm91
cFVUZXh0RGVlcCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlZ2V4X2dyb3VwVVRleHREZWVw
KQogI2RlZmluZSB1cmVnZXhfaGFzQW5jaG9yaW5nQm91bmRzIFVfSUNVX0VOVFJZX1BPSU5UX1JF
TkFNRSh1cmVnZXhfaGFzQW5jaG9yaW5nQm91bmRzKQogI2RlZmluZSB1cmVnZXhfaGFzVHJhbnNw
YXJlbnRCb3VuZHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZWdleF9oYXNUcmFuc3BhcmVu
dEJvdW5kcykKICNkZWZpbmUgdXJlZ2V4X2hpdEVuZCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUo
dXJlZ2V4X2hpdEVuZCkKQEAgLTE1MTgsNiArMTQ4NSw3IEBACiAjZGVmaW5lIHVyZXNfb3BlbkF2
YWlsYWJsZUxvY2FsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfb3BlbkF2YWlsYWJs
ZUxvY2FsZXMpCiAjZGVmaW5lIHVyZXNfb3BlbkRpcmVjdCBVX0lDVV9FTlRSWV9QT0lOVF9SRU5B
TUUodXJlc19vcGVuRGlyZWN0KQogI2RlZmluZSB1cmVzX29wZW5GaWxsSW4gVV9JQ1VfRU5UUllf
UE9JTlRfUkVOQU1FKHVyZXNfb3BlbkZpbGxJbikKKyNkZWZpbmUgdXJlc19vcGVuTm9EZWZhdWx0
IFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1cmVzX29wZW5Ob0RlZmF1bHQpCiAjZGVmaW5lIHVy
ZXNfb3BlblUgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfb3BlblUpCiAjZGVmaW5lIHVy
ZXNfcmVzZXRJdGVyYXRvciBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXJlc19yZXNldEl0ZXJh
dG9yKQogI2RlZmluZSB1cmVzX3N3YXAgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHVyZXNfc3dh
cCkKQEAgLTE3MjIsNiArMTY5MCw3IEBACiAjZGVmaW5lIHV0cmFuc19jb3VudEF2YWlsYWJsZUlE
cyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX2NvdW50QXZhaWxhYmxlSURzKQogI2Rl
ZmluZSB1dHJhbnNfZ2V0QXZhaWxhYmxlSUQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFu
c19nZXRBdmFpbGFibGVJRCkKICNkZWZpbmUgdXRyYW5zX2dldElEIFVfSUNVX0VOVFJZX1BPSU5U
X1JFTkFNRSh1dHJhbnNfZ2V0SUQpCisjZGVmaW5lIHV0cmFuc19nZXRTb3VyY2VTZXQgVV9JQ1Vf
RU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc19nZXRTb3VyY2VTZXQpCiAjZGVmaW5lIHV0cmFuc19n
ZXRVbmljb2RlSUQgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc19nZXRVbmljb2RlSUQp
CiAjZGVmaW5lIHV0cmFuc19vcGVuIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfb3Bl
bikKICNkZWZpbmUgdXRyYW5zX29wZW5JRHMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFu
c19vcGVuSURzKQpAQCAtMTczMSw2ICsxNzAwLDcgQEAKICNkZWZpbmUgdXRyYW5zX3JlcF9jYXNl
Q29udGV4dEl0ZXJhdG9yIFVfSUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfcmVwX2Nhc2VD
b250ZXh0SXRlcmF0b3IpCiAjZGVmaW5lIHV0cmFuc19zZXRGaWx0ZXIgVV9JQ1VfRU5UUllfUE9J
TlRfUkVOQU1FKHV0cmFuc19zZXRGaWx0ZXIpCiAjZGVmaW5lIHV0cmFuc19zdHJpcFJ1bGVzIFVf
SUNVX0VOVFJZX1BPSU5UX1JFTkFNRSh1dHJhbnNfc3RyaXBSdWxlcykKKyNkZWZpbmUgdXRyYW5z
X3RvUnVsZXMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc190b1J1bGVzKQogI2RlZmlu
ZSB1dHJhbnNfdHJhbnMgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0cmFuc190cmFucykKICNk
ZWZpbmUgdXRyYW5zX3RyYW5zSW5jcmVtZW50YWwgVV9JQ1VfRU5UUllfUE9JTlRfUkVOQU1FKHV0
cmFuc190cmFuc0luY3JlbWVudGFsKQogI2RlZmluZSB1dHJhbnNfdHJhbnNJbmNyZW1lbnRhbFVD
aGFycyBVX0lDVV9FTlRSWV9QT0lOVF9SRU5BTUUodXRyYW5zX3RyYW5zSW5jcmVtZW50YWxVQ2hh
cnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91c2NyaXB0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91c2NyaXB0LmgKaW5kZXggNTcyNTVjNGY5
ODQ0YWZhYjUzZmZjMThhMzFhZDc5ZThlMmUzNDIzMy4uYjIxN2M4MTQ3MjhhYzExMWQwYTRjZmE3
NTUwZDM5MjY4YTg3YTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNv
ZGUvdXNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3VzY3JpcHQu
aApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICBDb3B5cmlnaHQgKEMp
IDE5OTctMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworICogICBDb3B5cmln
aHQgKEMpIDE5OTctMjAxNSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwogICogICBD
b3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCiAgKgpAQCAtMjEsMjUgKzIxLDMxIEBACiAgKiBcZmlsZQogICogXGJyaWVmIEMgQVBJOiBV
bmljb2RlIFNjcmlwdCBJbmZvcm1hdGlvbgogICovCi0gCisKIC8qKgogICogQ29uc3RhbnRzIGZv
ciBJU08gMTU5MjQgc2NyaXB0IGNvZGVzLgogICoKLSAqIE1hbnkgb2YgdGhlc2Ugc2NyaXB0IGNv
ZGVzIC0gdGhvc2UgZnJvbSBVbmljb2RlJ3MgU2NyaXB0TmFtZXMudHh0IC0KLSAqIGFyZSBjaGFy
YWN0ZXIgcHJvcGVydHkgdmFsdWVzIGZvciBVbmljb2RlJ3MgU2NyaXB0IHByb3BlcnR5LgotICog
U2VlIFVBWCAjMjQgU2NyaXB0IE5hbWVzIChodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMv
dHIyNC8pLgorICogVGhlIGN1cnJlbnQgc2V0IG9mIHNjcmlwdCBjb2RlIGNvbnN0YW50cyBzdXBw
b3J0cyBhdCBsZWFzdCBhbGwgc2NyaXB0cworICogdGhhdCBhcmUgZW5jb2RlZCBpbiB0aGUgdmVy
c2lvbiBvZiBVbmljb2RlIHdoaWNoIElDVSBjdXJyZW50bHkgc3VwcG9ydHMuCisgKiBUaGUgbmFt
ZXMgb2YgdGhlIGNvbnN0YW50cyBhcmUgdXN1YWxseSBkZXJpdmVkIGZyb20gdGhlCisgKiBVbmlj
b2RlIHNjcmlwdCBwcm9wZXJ0eSB2YWx1ZSBhbGlhc2VzLgorICogU2VlIFVBWCAjMjQgVW5pY29k
ZSBTY3JpcHQgUHJvcGVydHkgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjI0LykK
KyAqIGFuZCBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy9VQ0QvbGF0ZXN0L3VjZC9Qcm9w
ZXJ0eVZhbHVlQWxpYXNlcy50eHQgLgogICoKICAqIFN0YXJ0aW5nIHdpdGggSUNVIDMuNiwgY29u
c3RhbnRzIGZvciBtb3N0IElTTyAxNTkyNCBzY3JpcHQgY29kZXMKLSAqIGFyZSBpbmNsdWRlZCAo
Y3VycmVudGx5IGV4Y2x1ZGluZyBwcml2YXRlLXVzZSBjb2RlcyBRYWFhLi5RYWJ4KS4KLSAqIEZv
ciBzY3JpcHRzIGZvciB3aGljaCB0aGVyZSBhcmUgY29kZXMgaW4gSVNPIDE1OTI0IGJ1dCB3aGlj
aCBhcmUgbm90Ci0gKiB1c2VkIGluIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZSAoVUNE
KSwgdGhlcmUgYXJlIG5vIFVuaWNvZGUgY2hhcmFjdGVycwotICogYXNzb2NpYXRlZCB3aXRoIHRo
b3NlIHNjcmlwdHMuCisgKiBhcmUgaW5jbHVkZWQsIGZvciB1c2Ugd2l0aCBsYW5ndWFnZSB0YWdz
LCBDTERSIGRhdGEsIGFuZCBzaW1pbGFyLgorICogU29tZSBvZiB0aG9zZSBjb2RlcyBhcmUgbm90
IHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLgorICogRm9yIGV4
YW1wbGUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhIFVDRCBzY3JpcHQgcHJv
cGVydHkgdmFsdWUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUg
dGhlIEhhbmkgc2NyaXB0IHByb3BlcnR5IHZhbHVlIGluIFVuaWNvZGUuCiAgKgotICogRm9yIGV4
YW1wbGUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhIFVDRCBzY3JpcHQgY29k
ZSBvZgotICogSGFucyBvciBIYW50LiBBbGwgSGFuIGlkZW9ncmFwaHMgaGF2ZSB0aGUgSGFuaSBz
Y3JpcHQgY29kZS4KLSAqIFRoZSBIYW5zIGFuZCBIYW50IHNjcmlwdCBjb2RlcyBhcmUgdXNlZCB3
aXRoIENMRFIgZGF0YS4KKyAqIFByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYnggYXJlIG5vdCBp
bmNsdWRlZC4KICAqCi0gKiBJU08gMTU5MjQgc2NyaXB0IGNvZGVzIGFyZSBpbmNsdWRlZCBmb3Ig
dXNlIHdpdGggQ0xEUiBhbmQgc2ltaWxhci4KKyAqIFN0YXJ0aW5nIHdpdGggSUNVIDU1LCBzY3Jp
cHQgY29kZXMgYXJlIG9ubHkgYWRkZWQgd2hlbiB0aGVpciBzY3JpcHRzCisgKiBoYXZlIGJlZW4g
b3Igd2lsbCBjZXJ0YWlubHkgYmUgZW5jb2RlZCBpbiBVbmljb2RlLAorICogYW5kIGhhdmUgYmVl
biBhc3NpZ25lZCBVbmljb2RlIHNjcmlwdCBwcm9wZXJ0eSB2YWx1ZSBhbGlhc2VzLAorICogdG8g
ZW5zdXJlIHRoYXQgdGhlaXIgc2NyaXB0IG5hbWVzIGFyZSBzdGFibGUgYW5kIG1hdGNoIHRoZSBu
YW1lcyBvZiB0aGUgY29uc3RhbnRzLgorICogU2NyaXB0IGNvZGVzIGxpa2UgTGF0ZiBhbmQgQXJh
biB0aGF0IGFyZSBub3Qgc3ViamVjdCB0byBzZXBhcmF0ZSBlbmNvZGluZworICogbWF5IGJlIGFk
ZGVkIGF0IGFueSB0aW1lLgogICoKICAqIEBzdGFibGUgSUNVIDIuMgogICovCkBAIC0xODYsNyAr
MTkyLDcgQEAgdHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKICAgICAgIC8qKiBAc3RhYmxlIElD
VSAzLjQgKi8KICAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICovCiAK
LSAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KKyAgICAgIC8qIE5l
dyBzY3JpcHQgY29kZXMgZnJvbSBVbmljb2RlIGFuZCBJU08gMTU5MjQgKi8KICAgICAgIC8qKiBA
c3RhYmxlIElDVSAzLjYgKi8KICAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAg
ICAgICAgPSA2MiwgLyogQmFsaSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLwpAQCAt
Mjc4LDcgKzI4NCw2IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0
YWJsZSBJQ1UgMy42ICovCiAgICAgICBVU0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAgICAg
ICAgID0gMTAzLC8qIFp6enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3JpcHQi
LCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBvaW50cyAqLwogCi0gICAgICAvKiBOZXcgc2NyaXB0IGNv
ZGVzIGZyb20gSVNPIDE1OTI0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgMy44ICovCiAgICAg
ICBVU0NSSVBUX0NBUklBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8K
ICAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjggKi8KQEAgLTMwNCw3ICszMDksNiBAQCB0eXBlZGVm
IGVudW0gVVNjcmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDMuOCAqLwogICAgICAg
VVNDUklQVF9NRUlURUlfTUFZRUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCiAK
LSAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KICAgICAgIC8qKiBA
c3RhYmxlIElDVSA0LjAgKi8KICAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAgICAg
ICAgICAgPSAxMTYsLyogQXJtaSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuMCAqLwpAQCAt
MzM0LDcgKzMzOCw2IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICAvKiogQHN0
YWJsZSBJQ1UgNC4wICovCiAgICAgICBVU0NSSVBUX1NZTUJPTFMgICAgICAgICAgICAgICAgICAg
ICAgID0gMTI5LC8qIFpzeW0gKi8KIAotICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElT
TyAxNTkyNCAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNCAqLwogICAgICAgVVNDUklQVF9C
QU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMCwvKiBCYW11ICovCiAgICAgICAvKiog
QHN0YWJsZSBJQ1UgNC40ICovCkBAIC0zNDQsMTEgKzM0NywxNCBAQCB0eXBlZGVmIGVudW0gVVNj
cmlwdENvZGUgewogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNCAqLwogICAgICAgVVNDUklQVF9P
TERfU09VVEhfQVJBQklBTiAgICAgICAgICAgICA9IDEzMywvKiBTYXJiICovCiAKLSAgICAgIC8q
IE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgKi8KICAgICAgIC8qKiBAc3RhYmxlIElD
VSA0LjYgKi8KICAgICAgIFVTQ1JJUFRfQkFTU0FfVkFIICAgICAgICAgICAgICAgICAgICAgPSAx
MzQsLyogQmFzcyAqLwotICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwotICAgICAgVVNDUklQ
VF9EVVBMT1lBTl9TSE9SVEFORCAgICAgICAgICAgICA9IDEzNSwvKiBEdXBsICovCisgICAgICAv
KiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVTQ1JJUFRfRFVQTE9ZQU4gICAgICAgICAgICAg
ICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworI2lmbmRlZiBVX0hJREVfREVQUkVDQVRFRF9BUEkK
KyAgICAgIC8qKiBAZGVwcmVjYXRlZCBJQ1UgNTQgVHlwbywgdXNlIFVTQ1JJUFRfRFVQTE9ZQU4g
Ki8KKyAgICAgIFVTQ1JJUFRfRFVQTE9ZQU5fU0hPUlRBTkQgICAgICAgICAgICAgPSBVU0NSSVBU
X0RVUExPWUFOLAorI2VuZGlmICAvKiBVX0hJREVfREVQUkVDQVRFRF9BUEkgKi8KICAgICAgIC8q
KiBAc3RhYmxlIElDVSA0LjYgKi8KICAgICAgIFVTQ1JJUFRfRUxCQVNBTiAgICAgICAgICAgICAg
ICAgICAgICAgPSAxMzYsLyogRWxiYSAqLwogICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLwpA
QCAtMzU3LDcgKzM2Myw3IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICBVU0NS
SVBUX0tQRUxMRSAgICAgICAgICAgICAgICAgICAgICAgID0gMTM4LC8qIEtwZWwgKi8KICAgICAg
IC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KICAgICAgIFVTQ1JJUFRfTE9NQSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMzksLyogTG9tYSAqLwotICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAq
LworICAgICAgLyoqIE1lbmRlIEtpa2FrdWkgQHN0YWJsZSBJQ1UgNC42ICovCiAgICAgICBVU0NS
SVBUX01FTkRFICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwLC8qIE1lbmQgKi8KICAgICAg
IC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KICAgICAgIFVTQ1JJUFRfTUVST0lUSUNfQ1VSU0lWRSAg
ICAgICAgICAgICAgPSAxNDEsLyogTWVyYyAqLwpAQCAtMzY3LDggKzM3MywxMCBAQCB0eXBlZGVm
IGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9OQUJBVEFFQU4gICAgICAgICAgICAg
ICAgICAgICA9IDE0MywvKiBOYmF0ICovCiAgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCiAg
ICAgICBVU0NSSVBUX1BBTE1ZUkVORSAgICAgICAgICAgICAgICAgICAgID0gMTQ0LC8qIFBhbG0g
Ki8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgICAgVVNDUklQVF9LSFVEQVdBREkg
ICAgICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCiAgICAgICAvKiogQHN0YWJsZSBJ
Q1UgNC42ICovCi0gICAgICBVU0NSSVBUX1NJTkRISSAgICAgICAgICAgICAgICAgICAgICAgID0g
MTQ1LC8qIFNpbmQgKi8KKyAgICAgIFVTQ1JJUFRfU0lOREhJICAgICAgICAgICAgICAgICAgICAg
ICAgPSBVU0NSSVBUX0tIVURBV0FESSwKICAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KICAg
ICAgIFVTQ1JJUFRfV0FSQU5HX0NJVEkgICAgICAgICAgICAgICAgICAgPSAxNDYsLyogV2FyYSAq
LwogCkBAIC00MDMsMjIgKzQxMSw0NCBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAg
ICAgLyoqIEBzdGFibGUgSUNVIDUyICovCiAgICAgICBVU0NSSVBUX01BSEFKQU5JICAgICAgICAg
ICAgICAgICAgICAgID0gMTYwLC8qIE1haGogKi8KIAotICAgICAgLyogUHJpdmF0ZSB1c2UgY29k
ZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCAqLwotCi0gICAgICAvKiogQHN0
YWJsZSBJQ1UgMi4yICovCi0gICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxNjEKKyAgICAg
IC8qKiBAc3RhYmxlIElDVSA1NCAqLworICAgICAgVVNDUklQVF9BSE9NICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDE2MSwvKiBBaG9tICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8K
KyAgICAgIFVTQ1JJUFRfSEFUUkFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjIsLyogSGF0
ciAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX01PREkgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTYzLC8qIE1vZGkgKi8KKyAgICAgIC8qKiBAc3RhYmxl
IElDVSA1NCAqLworICAgICAgVVNDUklQVF9NVUxUQU5JICAgICAgICAgICAgICAgICAgICAgICA9
IDE2NCwvKiBNdWx0ICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNTQgKi8KKyAgICAgIFVTQ1JJ
UFRfUEFVX0NJTl9IQVUgICAgICAgICAgICAgICAgICAgPSAxNjUsLyogUGF1YyAqLworICAgICAg
LyoqIEBzdGFibGUgSUNVIDU0ICovCisgICAgICBVU0NSSVBUX1NJRERIQU0gICAgICAgICAgICAg
ICAgICAgICAgID0gMTY2LC8qIFNpZGQgKi8KKworICAgICAgLyoqCisgICAgICAgKiBPbmUgaGln
aGVyIHRoYW4gdGhlIGxhc3Qgc2NyaXB0IGNvZGUgY29uc3RhbnQuCisgICAgICAgKiBUaGlzIHZh
bHVlIGluY3JlYXNlcyBhcyBjb25zdGFudHMgZm9yIHNjcmlwdCBjb2RlcyBhcmUgYWRkZWQuCisg
ICAgICAgKgorICAgICAgICogVGhlcmUgYXJlIGNvbnN0YW50cyBmb3IgVW5pY29kZSA3IHNjcmlw
dCBwcm9wZXJ0eSB2YWx1ZXMuCisgICAgICAgKiBUaGVyZSBhcmUgY29uc3RhbnRzIGZvciBJU08g
MTU5MjQgc2NyaXB0IGNvZGVzIGFzc2lnbmVkIG9uIG9yIGJlZm9yZSAyMDEzLTEwLTEyLgorICAg
ICAgICogVGhlcmUgYXJlIG5vIGNvbnN0YW50cyBmb3IgcHJpdmF0ZSB1c2UgY29kZXMgZnJvbSBR
YWFhIC0gUWFieAorICAgICAgICogZXhjZXB0IGFzIHVzZWQgaW4gdGhlIFVDRC4KKyAgICAgICAq
CisgICAgICAgKiBAc3RhYmxlIElDVSAyLjIKKyAgICAgICAqLworICAgICAgVVNDUklQVF9DT0RF
X0xJTUlUICAgID0gMTY3CiB9IFVTY3JpcHRDb2RlOwogCiAvKioKLSAqIEdldHMgc2NyaXB0IGNv
ZGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbG9jYWxlIG9yIElTTyAxNTkyNCBhYmJyZXZp
YXRpb24gb3IgbmFtZS4gCisgKiBHZXRzIHRoZSBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBsb2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKICAq
IEZpbGxzIGluIFVTQ1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCiAg
KiBGaWxscyBpbiBVU0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKLSAqIElmIHJl
cXVpcmVkIGNhcGFjaXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRp
b24gYnVmZmVyIHRoZW4gdGhlIGVycm9yIGNvZGUKLSAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVS
RkxPV19FUlJPUiBhbmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKiBJZiB0
aGUgcmVxdWlyZWQgY2FwYWNpdHkgaXMgZ3JlYXRlciB0aGFuIHRoZSBjYXBhY2l0eSBvZiB0aGUg
ZGVzdGluYXRpb24gYnVmZmVyLAorICogdGhlbiB0aGUgZXJyb3IgY29kZSBpcyBzZXQgdG8gVV9C
VUZGRVJfT1ZFUkZMT1dfRVJST1IgYW5kIHRoZSByZXF1aXJlZCBjYXBhY2l0eSBpcyByZXR1cm5l
ZC4KICAqCiAgKiA8cD5Ob3RlOiBUbyBzZWFyY2ggYnkgc2hvcnQgb3IgbG9uZyBzY3JpcHQgYWxp
YXMgb25seSwgdXNlCi0gKiB1X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgYWxp
YXMpIGluc3RlYWQuICBUaGlzIGRvZXMKKyAqIHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJf
U0NSSVBULCBhbGlhcykgaW5zdGVhZC4gIFRoYXQgZG9lcwogICogYSBmYXN0IGxvb2t1cCB3aXRo
IG5vIGFjY2VzcyBvZiB0aGUgbG9jYWxlIGRhdGEuCisgKgogICogQHBhcmFtIG5hbWVPckFiYnJP
ckxvY2FsZSBuYW1lIG9mIHRoZSBzY3JpcHQsIGFzIGdpdmVuIGluCiAgKiBQcm9wZXJ0eVZhbHVl
QWxpYXNlcy50eHQsIG9yIElTTyAxNTkyNCBjb2RlIG9yIGxvY2FsZQogICogQHBhcmFtIGZpbGxJ
biB0aGUgVVNjcmlwdENvZGUgYnVmZmVyIHRvIGZpbGwgaW4gdGhlIHNjcmlwdCBjb2RlCkBAIC00
MzEsMjIgKzQ2MSwyNSBAQCBVX1NUQUJMRSBpbnQzMl90ICBVX0VYUE9SVDIKIHVzY3JpcHRfZ2V0
Q29kZShjb25zdCBjaGFyKiBuYW1lT3JBYmJyT3JMb2NhbGUsVVNjcmlwdENvZGUqIGZpbGxJbixp
bnQzMl90IGNhcGFjaXR5LFVFcnJvckNvZGUgKmVycik7CiAKIC8qKgotICogR2V0cyBhIHNjcmlw
dCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAotICogUmV0dXJu
cyAgIk1hbGF5YW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBSZXR1cm5zIHRoZSBsb25n
IFVuaWNvZGUgc2NyaXB0IG5hbWUsIGlmIHRoZXJlIGlzIG9uZS4KKyAqIE90aGVyd2lzZSByZXR1
cm5zIHRoZSA0LWxldHRlciBJU08gMTU5MjQgc2NyaXB0IGNvZGUuCisgKiBSZXR1cm5zICJNYWxh
eWFtIiBnaXZlbiBVU0NSSVBUX01BTEFZQUxBTS4KKyAqCiAgKiBAcGFyYW0gc2NyaXB0Q29kZSBV
U2NyaXB0Q29kZSBlbnVtCi0gKiBAcmV0dXJuIHNjcmlwdCBsb25nIG5hbWUgYXMgZ2l2ZW4gaW4K
LSAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3JpcHRDb2RlIGlzIGlu
dmFsaWQKKyAqIEByZXR1cm4gbG9uZyBzY3JpcHQgbmFtZSBhcyBnaXZlbiBpbiBQcm9wZXJ0eVZh
bHVlQWxpYXNlcy50eHQsIG9yIHRoZSA0LWxldHRlciBjb2RlLAorICogb3IgTlVMTCBpZiBzY3Jp
cHRDb2RlIGlzIGludmFsaWQKICAqIEBzdGFibGUgSUNVIDIuNAogICovCiBVX1NUQUJMRSBjb25z
dCBjaGFyKiAgVV9FWFBPUlQyIAogdXNjcmlwdF9nZXROYW1lKFVTY3JpcHRDb2RlIHNjcmlwdENv
ZGUpOwogCiAvKioKLSAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdp
dmVuIHNjcmlwdCBjb2RlLiAKLSAqIFJldHVybnMgICJNbHltIiBnaXZlbiBVU0NSSVBUX01BTEFZ
QUxBTQorICogUmV0dXJucyB0aGUgNC1sZXR0ZXIgSVNPIDE1OTI0IHNjcmlwdCBjb2RlLAorICog
d2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIHNob3J0IFVuaWNvZGUgc2NyaXB0IG5hbWUgaWYgVW5p
Y29kZSBoYXMgbmFtZXMgZm9yIHRoZSBzY3JpcHQuCisgKiBSZXR1cm5zICJNbHltIiBnaXZlbiBV
U0NSSVBUX01BTEFZQUxBTS4KKyAqCiAgKiBAcGFyYW0gc2NyaXB0Q29kZSBVU2NyaXB0Q29kZSBl
bnVtCi0gKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBuYW1lIGFzIGdpdmVuIGluCi0gKiBQ
cm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlk
CisgKiBAcmV0dXJuIHNob3J0IHNjcmlwdCBuYW1lICg0LWxldHRlciBjb2RlKSwgb3IgTlVMTCBp
ZiBzY3JpcHRDb2RlIGlzIGludmFsaWQKICAqIEBzdGFibGUgSUNVIDIuNAogICovCiBVX1NUQUJM
RSBjb25zdCBjaGFyKiAgVV9FWFBPUlQyIApAQCAtNTE3LDI3ICs1NTAsMjUgQEAgdXNjcmlwdF9n
ZXRTY3JpcHRFeHRlbnNpb25zKFVDaGFyMzIgYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBVU2NyaXB0Q29kZSAqc2NyaXB0cywgaW50MzJfdCBjYXBhY2l0eSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBVRXJyb3JDb2RlICplcnJvckNvZGUpOwogCi0jaWZuZGVmIFVfSElERV9E
UkFGVF9BUEkKLQogLyoqCiAgKiBTY3JpcHQgdXNhZ2UgY29uc3RhbnRzLgogICogU2VlIFVBWCAj
MzEgVW5pY29kZSBJZGVudGlmaWVyIGFuZCBQYXR0ZXJuIFN5bnRheC4KICAqIGh0dHA6Ly93d3cu
dW5pY29kZS5vcmcvcmVwb3J0cy90cjMxLyNUYWJsZV9DYW5kaWRhdGVfQ2hhcmFjdGVyc19mb3Jf
RXhjbHVzaW9uX2Zyb21fSWRlbnRpZmllcnMKICAqCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3Rh
YmxlIElDVSA1MQogICovCiB0eXBlZGVmIGVudW0gVVNjcmlwdFVzYWdlIHsKLSAgICAvKiogTm90
IGVuY29kZWQgaW4gVW5pY29kZS4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBOb3QgZW5jb2Rl
ZCBpbiBVbmljb2RlLiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJUFRfVVNBR0VfTk9UX0VO
Q09ERUQsCi0gICAgLyoqIFVua25vd24gc2NyaXB0IHVzYWdlLiBAZHJhZnQgSUNVIDUxICovCisg
ICAgLyoqIFVua25vd24gc2NyaXB0IHVzYWdlLiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJ
UFRfVVNBR0VfVU5LTk9XTiwKLSAgICAvKiogQ2FuZGlkYXRlIGZvciBFeGNsdXNpb24gZnJvbSBJ
ZGVudGlmaWVycy4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBDYW5kaWRhdGUgZm9yIEV4Y2x1
c2lvbiBmcm9tIElkZW50aWZpZXJzLiBAc3RhYmxlIElDVSA1MSAqLwogICAgIFVTQ1JJUFRfVVNB
R0VfRVhDTFVERUQsCi0gICAgLyoqIExpbWl0ZWQgVXNlIHNjcmlwdC4gQGRyYWZ0IElDVSA1MSAq
LworICAgIC8qKiBMaW1pdGVkIFVzZSBzY3JpcHQuIEBzdGFibGUgSUNVIDUxICovCiAgICAgVVND
UklQVF9VU0FHRV9MSU1JVEVEX1VTRSwKLSAgICAvKiogQXNwaXJhdGlvbmFsIFVzZSBzY3JpcHQu
IEBkcmFmdCBJQ1UgNTEgKi8KKyAgICAvKiogQXNwaXJhdGlvbmFsIFVzZSBzY3JpcHQuIEBzdGFi
bGUgSUNVIDUxICovCiAgICAgVVNDUklQVF9VU0FHRV9BU1BJUkFUSU9OQUwsCi0gICAgLyoqIFJl
Y29tbWVuZGVkIHNjcmlwdC4gQGRyYWZ0IElDVSA1MSAqLworICAgIC8qKiBSZWNvbW1lbmRlZCBz
Y3JpcHQuIEBzdGFibGUgSUNVIDUxICovCiAgICAgVVNDUklQVF9VU0FHRV9SRUNPTU1FTkRFRAog
fSBVU2NyaXB0VXNhZ2U7CiAKQEAgLTU1MSw5ICs1ODIsOSBAQCB0eXBlZGVmIGVudW0gVVNjcmlw
dFVzYWdlIHsKICAqIEBwYXJhbSBjYXBhY2l0eSBudW1iZXIgb2YgVUNoYXJzIGluIHRoZSBkZXN0
IGFycmF5CiAgKiBAcGFyYW0gcEVycm9yQ29kZSBzdGFuZGFyZCBJQ1UgaW4vb3V0IGVycm9yIGNv
ZGUsIG11c3QgcGFzcyBVX1NVQ0NFU1MoKSBvbiBpbnB1dAogICogQHJldHVybiB0aGUgc3RyaW5n
IGxlbmd0aCwgZXZlbiBpZiBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUgotICogQGRyYWZ0IElDVSA1
MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwotVV9EUkFGVCBpbnQzMl90IFVfRVhQT1JUMgorVV9T
VEFCTEUgaW50MzJfdCBVX0VYUE9SVDIKIHVzY3JpcHRfZ2V0U2FtcGxlU3RyaW5nKFVTY3JpcHRD
b2RlIHNjcmlwdCwgVUNoYXIgKmRlc3QsIGludDMyX3QgY2FwYWNpdHksIFVFcnJvckNvZGUgKnBF
cnJvckNvZGUpOwogCiAjaWYgVV9TSE9XX0NQTFVTUExVU19BUEkKQEAgLTU2OSw3ICs2MDAsNyBA
QCBVX05BTUVTUEFDRV9FTkQKICAqCiAgKiBAcGFyYW0gc2NyaXB0IHNjcmlwdCBjb2RlCiAgKiBA
cmV0dXJuIHRoZSBzYW1wbGUgY2hhcmFjdGVyIHN0cmluZwotICogQGRyYWZ0IElDVSA1MQorICog
QHN0YWJsZSBJQ1UgNTEKICAqLwogVV9DT01NT05fQVBJIGljdTo6VW5pY29kZVN0cmluZyBVX0VY
UE9SVDIKIHVzY3JpcHRfZ2V0U2FtcGxlVW5pY29kZVN0cmluZyhVU2NyaXB0Q29kZSBzY3JpcHQp
OwpAQCAtNTgzLDkgKzYxNCw5IEBAIHVzY3JpcHRfZ2V0U2FtcGxlVW5pY29kZVN0cmluZyhVU2Ny
aXB0Q29kZSBzY3JpcHQpOwogICogQHBhcmFtIHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVy
biBzY3JpcHQgdXNhZ2UKICAqIEBzZWUgVVNjcmlwdFVzYWdlCi0gKiBAZHJhZnQgSUNVIDUxCisg
KiBAc3RhYmxlIElDVSA1MQogICovCi1VX0RSQUZUIFVTY3JpcHRVc2FnZSBVX0VYUE9SVDIKK1Vf
U1RBQkxFIFVTY3JpcHRVc2FnZSBVX0VYUE9SVDIKIHVzY3JpcHRfZ2V0VXNhZ2UoVVNjcmlwdENv
ZGUgc2NyaXB0KTsKIAogLyoqCkBAIC01OTQsOSArNjI1LDkgQEAgdXNjcmlwdF9nZXRVc2FnZShV
U2NyaXB0Q29kZSBzY3JpcHQpOwogICoKICAqIEBwYXJhbSBzY3JpcHQgc2NyaXB0IGNvZGUKICAq
IEByZXR1cm4gVFJVRSBpZiB0aGUgc2NyaXB0IGlzIHJpZ2h0LXRvLWxlZnQKLSAqIEBkcmFmdCBJ
Q1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8KLVVfRFJBRlQgVUJvb2wgVV9FWFBPUlQyCitV
X1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIKIHVzY3JpcHRfaXNSaWdodFRvTGVmdChVU2NyaXB0Q29k
ZSBzY3JpcHQpOwogCiAvKioKQEAgLTYwNiw5ICs2MzcsOSBAQCB1c2NyaXB0X2lzUmlnaHRUb0xl
ZnQoVVNjcmlwdENvZGUgc2NyaXB0KTsKICAqCiAgKiBAcGFyYW0gc2NyaXB0IHNjcmlwdCBjb2Rl
CiAgKiBAcmV0dXJuIFRSVUUgaWYgdGhlIHNjcmlwdCBhbGxvd3MgbGluZSBicmVha3MgYmV0d2Vl
biBsZXR0ZXJzCi0gKiBAZHJhZnQgSUNVIDUxCisgKiBAc3RhYmxlIElDVSA1MQogICovCi1VX0RS
QUZUIFVCb29sIFVfRVhQT1JUMgorVV9TVEFCTEUgVUJvb2wgVV9FWFBPUlQyCiB1c2NyaXB0X2Jy
ZWFrc0JldHdlZW5MZXR0ZXJzKFVTY3JpcHRDb2RlIHNjcmlwdCk7CiAKIC8qKgpAQCAtNjE3LDEx
ICs2NDgsOSBAQCB1c2NyaXB0X2JyZWFrc0JldHdlZW5MZXR0ZXJzKFVTY3JpcHRDb2RlIHNjcmlw
dCk7CiAgKgogICogQHBhcmFtIHNjcmlwdCBzY3JpcHQgY29kZQogICogQHJldHVybiBUUlVFIGlm
IHRoZSBzY3JpcHQgaXMgY2FzZWQKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUx
CiAgKi8KLVVfRFJBRlQgVUJvb2wgVV9FWFBPUlQyCitVX1NUQUJMRSBVQm9vbCBVX0VYUE9SVDIK
IHVzY3JpcHRfaXNDYXNlZChVU2NyaXB0Q29kZSBzY3JpcHQpOwogCi0jZW5kaWYgIC8qIFVfSElE
RV9EUkFGVF9BUEkgKi8KLQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9p
Y3UvdW5pY29kZS91c3RyaW5nLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91c3Ry
aW5nLmgKaW5kZXggZDJlYTMxYzY3NDdmOGYxYzFlYjAzNzBlMjg0M2MzZjY0NDk4YjBmMS4uNmQx
NDFlOGRmNjMzOGRjOGU0ZWQwYzlmNDRiNzZiYjNhYzUxYTA1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdXN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L2ljdS91bmljb2RlL3VzdHJpbmcuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0qICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMTIsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKKyogICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVz
cyBNYWNoaW5lcwogKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgogKgpAQCAtMTMxMSw3ICsxMzExLDYgQEAgdV9zdHJGcm9tVVRG
OChVQ2hhciAqZGVzdCwKIAogLyoqCiAgKiBDb252ZXJ0IGEgVVRGLTE2IHN0cmluZyB0byBVVEYt
OC4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkLCB0aGVuIHRoZSBV
X0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4KICAqCiAgKiBTYW1lIGFzIHVf
c3RyVG9VVEY4KCkgZXhjZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdoaWNoIGlzIG91
dHB1dCBmb3IKICAqIGlsbGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9mIHN0b3BwaW5n
IHdpdGggdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0xMzU2LDcgKzEz
NTUsNiBAQCB1X3N0clRvVVRGOFdpdGhTdWIoY2hhciAqZGVzdCwKIAogLyoqCiAgKiBDb252ZXJ0
IGEgVVRGLTggc3RyaW5nIHRvIFVURi0xNi4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90
IHdlbGwtZm9ybWVkLCB0aGVuIHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlz
IHNldC4KICAqCiAgKiBTYW1lIGFzIHVfc3RyRnJvbVVURjgoKSBleGNlcHQgZm9yIHRoZSBhZGRp
dGlvbmFsIHN1YmNoYXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1
ZW5jZXMsIGluc3RlYWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQg
ZXJyb3IgY29kZS4KQEAgLTE1MjEsNyArMTUxOSw2IEBAIHVfc3RyRnJvbVVURjMyKFVDaGFyICAg
KmRlc3QsCiAKIC8qKgogICogQ29udmVydCBhIFVURi0xNiBzdHJpbmcgdG8gVVRGLTMyLgotICog
SWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3Qgd2VsbC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJ
RF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUgaXMgc2V0LgogICoKICAqIFNhbWUgYXMgdV9zdHJUb1VU
RjMyKCkgZXhjZXB0IGZvciB0aGUgYWRkaXRpb25hbCBzdWJjaGFyIHdoaWNoIGlzIG91dHB1dCBm
b3IKICAqIGlsbGVnYWwgaW5wdXQgc2VxdWVuY2VzLCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHdpdGgg
dGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUuCkBAIC0xNTY2LDcgKzE1NjMsNiBA
QCB1X3N0clRvVVRGMzJXaXRoU3ViKFVDaGFyMzIgKmRlc3QsCiAKIC8qKgogICogQ29udmVydCBh
IFVURi0zMiBzdHJpbmcgdG8gVVRGLTE2LgotICogSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3Qg
d2VsbC1mb3JtZWQsIHRoZW4gdGhlIFVfSU5WQUxJRF9DSEFSX0ZPVU5EIGVycm9yIGNvZGUgaXMg
c2V0LgogICoKICAqIFNhbWUgYXMgdV9zdHJGcm9tVVRGMzIoKSBleGNlcHQgZm9yIHRoZSBhZGRp
dGlvbmFsIHN1YmNoYXIgd2hpY2ggaXMgb3V0cHV0IGZvcgogICogaWxsZWdhbCBpbnB1dCBzZXF1
ZW5jZXMsIGluc3RlYWQgb2Ygc3RvcHBpbmcgd2l0aCB0aGUgVV9JTlZBTElEX0NIQVJfRk9VTkQg
ZXJyb3IgY29kZS4KQEAgLTE2NTIsNyArMTY0OCw4IEBAIHVfc3RyVG9KYXZhTW9kaWZpZWRVVEY4
KAogCiAvKioKICAqIENvbnZlcnQgYSBKYXZhIE1vZGlmaWVkIFVURi04IHN0cmluZyB0byBhIDE2
LWJpdCBVbmljb2RlIHN0cmluZy4KLSAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwt
Zm9ybWVkLCB0aGVuIHRoZSBVX0lOVkFMSURfQ0hBUl9GT1VORCBlcnJvciBjb2RlIGlzIHNldC4K
KyAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHdlbGwtZm9ybWVkIGFuZCBubyBzdWJzdGl0
dXRpb24gY2hhciBpcyBzcGVjaWZpZWQsIAorICogdGhlbiB0aGUgVV9JTlZBTElEX0NIQVJfRk9V
TkQgZXJyb3IgY29kZSBpcyBzZXQuCiAgKgogICogVGhpcyBmdW5jdGlvbiBiZWhhdmVzIGFjY29y
ZGluZyB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgSmF2YSBEYXRhSW5wdXQucmVhZFVURigpCiAg
KiBleGNlcHQgdGhhdCBpdCB0YWtlcyBhIGxlbmd0aCBwYXJhbWV0ZXIgcmF0aGVyIHRoYW4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3V0ZjguaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL2ljdS91bmljb2RlL3V0ZjguaAppbmRleCAyMWU1ZjNkMDQ3OTA1MzE1NWYyOTRj
NDI4ODRmNDI3NGRhNTQ0ZWI4Li43YmQwYjBlODUyNjBmMDIwYTg4NWQ1OWFiYzI0YmYzMDUwOTdk
MjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9pY3UvdW5pY29kZS91dGY4LmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdXRmOC5oCkBAIC0xLDcgKzEsNyBAQAog
LyoKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKICoKLSogICBDb3B5cmlnaHQgKEMpIDE5OTktMjAx
MywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMTk5
OS0yMDE0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24g
YW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqCkBAIC03OCw5ICs3OCw5IEBAIHV0ZjhfY291bnRUcmFpbEJ5dGVzWzI1Nl07CiAgKiBAaW50
ZXJuYWwKICAqLwogI2RlZmluZSBVOF9DT1VOVF9UUkFJTF9CWVRFUyhsZWFkQnl0ZSkgXAotICAg
ICgobGVhZEJ5dGUpPDB4ZjAgPyBcCi0gICAgICAgICgobGVhZEJ5dGUpPj0weGMwKSsoKGxlYWRC
eXRlKT49MHhlMCkgOiBcCi0gICAgICAgIChsZWFkQnl0ZSk8MHhmZSA/IDMrKChsZWFkQnl0ZSk+
PTB4ZjgpKygobGVhZEJ5dGUpPj0weGZjKSA6IDApCisgICAgKCh1aW50OF90KShsZWFkQnl0ZSk8
MHhmMCA/IFwKKyAgICAgICAgKCh1aW50OF90KShsZWFkQnl0ZSk+PTB4YzApKygodWludDhfdCko
bGVhZEJ5dGUpPj0weGUwKSA6IFwKKyAgICAgICAgKHVpbnQ4X3QpKGxlYWRCeXRlKTwweGZlID8g
MysoKHVpbnQ4X3QpKGxlYWRCeXRlKT49MHhmOCkrKCh1aW50OF90KShsZWFkQnl0ZSk+PTB4ZmMp
IDogMCkKIAogLyoqCiAgKiBDb3VudHMgdGhlIHRyYWlsIGJ5dGVzIGZvciBhIFVURi04IGxlYWQg
Ynl0ZSBvZiBhIHZhbGlkIFVURi04IHNlcXVlbmNlLgpAQCAtMjUzLDcgKzI1Myw2IEBAIHV0Zjhf
YmFjazFTYWZlQm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkp
OwogICAgIFU4X05FWFQocywgX3U4X2dldF9pbmRleCwgbGVuZ3RoLCBjKTsgXAogfQogCi0jaWZu
ZGVmIFVfSElERV9EUkFGVF9BUEkKIC8qKgogICogR2V0IGEgY29kZSBwb2ludCBmcm9tIGEgc3Ry
aW5nIGF0IGEgcmFuZG9tLWFjY2VzcyBvZmZzZXQsCiAgKiB3aXRob3V0IGNoYW5naW5nIHRoZSBv
ZmZzZXQuCkBAIC0yNzcsMTQgKzI3NiwxMyBAQCB1dGY4X2JhY2sxU2FmZUJvZHkoY29uc3QgdWlu
dDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAqIEBwYXJhbSBsZW5ndGggaW50
MzJfdCBzdHJpbmcgbGVuZ3RoCiAgKiBAcGFyYW0gYyBvdXRwdXQgVUNoYXIzMiB2YXJpYWJsZSwg
c2V0IHRvIFUrRkZGRCBpbiBjYXNlIG9mIGFuIGVycm9yCiAgKiBAc2VlIFU4X0dFVAotICogQGRy
YWZ0IElDVSA1MQorICogQHN0YWJsZSBJQ1UgNTEKICAqLwogI2RlZmluZSBVOF9HRVRfT1JfRkZG
RChzLCBzdGFydCwgaSwgbGVuZ3RoLCBjKSB7IFwKICAgICBpbnQzMl90IF91OF9nZXRfaW5kZXg9
KGkpOyBcCiAgICAgVThfU0VUX0NQX1NUQVJUKHMsIHN0YXJ0LCBfdThfZ2V0X2luZGV4KTsgXAog
ICAgIFU4X05FWFRfT1JfRkZGRChzLCBfdThfZ2V0X2luZGV4LCBsZW5ndGgsIGMpOyBcCiB9Ci0j
ZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAvKiBkZWZpbml0aW9ucyB3aXRoIGZvcndh
cmQgaXRlcmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwog
CkBAIC0zNjgsNyArMzY2LDYgQEAgdXRmOF9iYWNrMVNhZmVCb2R5KGNvbnN0IHVpbnQ4X3QgKnMs
IGludDMyX3Qgc3RhcnQsIGludDMyX3QgaSk7CiAgICAgfSBcCiB9CiAKLSNpZm5kZWYgVV9ISURF
X0RSQUZUX0FQSQogLyoqCiAgKiBHZXQgYSBjb2RlIHBvaW50IGZyb20gYSBzdHJpbmcgYXQgYSBj
b2RlIHBvaW50IGJvdW5kYXJ5IG9mZnNldCwKICAqIGFuZCBhZHZhbmNlIHRoZSBvZmZzZXQgdG8g
dGhlIG5leHQgY29kZSBwb2ludCBib3VuZGFyeS4KQEAgLTM5MSw3ICszODgsNyBAQCB1dGY4X2Jh
Y2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsK
ICAqIEBwYXJhbSBsZW5ndGggaW50MzJfdCBzdHJpbmcgbGVuZ3RoCiAgKiBAcGFyYW0gYyBvdXRw
dXQgVUNoYXIzMiB2YXJpYWJsZSwgc2V0IHRvIFUrRkZGRCBpbiBjYXNlIG9mIGFuIGVycm9yCiAg
KiBAc2VlIFU4X05FWFQKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAgKi8K
ICNkZWZpbmUgVThfTkVYVF9PUl9GRkZEKHMsIGksIGxlbmd0aCwgYykgeyBcCiAgICAgKGMpPSh1
aW50OF90KShzKVsoaSkrK107IFwKQEAgLTQxOSw3ICs0MTYsNiBAQCB1dGY4X2JhY2sxU2FmZUJv
ZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAgICAgICAg
fSBcCiAgICAgfSBcCiB9Ci0jZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLwogCiAvKioKICAq
IEFwcGVuZCBhIGNvZGUgcG9pbnQgdG8gYSBzdHJpbmcsIG92ZXJ3cml0aW5nIDEgdG8gNCBieXRl
cy4KQEAgLTY3Niw3ICs2NzIsNiBAQCB1dGY4X2JhY2sxU2FmZUJvZHkoY29uc3QgdWludDhfdCAq
cywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAgICB9IFwKIH0KIAotI2lmbmRlZiBVX0hJ
REVfRFJBRlRfQVBJCiAvKioKICAqIE1vdmUgdGhlIHN0cmluZyBvZmZzZXQgZnJvbSBvbmUgY29k
ZSBwb2ludCBib3VuZGFyeSB0byB0aGUgcHJldmlvdXMgb25lCiAgKiBhbmQgZ2V0IHRoZSBjb2Rl
IHBvaW50IGJldHdlZW4gdGhlbS4KQEAgLTY5OSw3ICs2OTQsNyBAQCB1dGY4X2JhY2sxU2FmZUJv
ZHkoY29uc3QgdWludDhfdCAqcywgaW50MzJfdCBzdGFydCwgaW50MzJfdCBpKTsKICAqIEBwYXJh
bSBpIGludDMyX3Qgc3RyaW5nIG9mZnNldCwgbXVzdCBiZSBzdGFydDxpCiAgKiBAcGFyYW0gYyBv
dXRwdXQgVUNoYXIzMiB2YXJpYWJsZSwgc2V0IHRvIFUrRkZGRCBpbiBjYXNlIG9mIGFuIGVycm9y
CiAgKiBAc2VlIFU4X1BSRVYKLSAqIEBkcmFmdCBJQ1UgNTEKKyAqIEBzdGFibGUgSUNVIDUxCiAg
Ki8KICNkZWZpbmUgVThfUFJFVl9PUl9GRkZEKHMsIHN0YXJ0LCBpLCBjKSB7IFwKICAgICAoYyk9
KHVpbnQ4X3QpKHMpWy0tKGkpXTsgXApAQCAtNzA3LDcgKzcwMiw2IEBAIHV0ZjhfYmFjazFTYWZl
Qm9keShjb25zdCB1aW50OF90ICpzLCBpbnQzMl90IHN0YXJ0LCBpbnQzMl90IGkpOwogICAgICAg
ICAoYyk9dXRmOF9wcmV2Q2hhclNhZmVCb2R5KChjb25zdCB1aW50OF90ICopcywgc3RhcnQsICYo
aSksIGMsIC0zKTsgXAogICAgIH0gXAogfQotI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8K
IAogLyoqCiAgKiBNb3ZlIHRoZSBzdHJpbmcgb2Zmc2V0IGZyb20gb25lIGNvZGUgcG9pbnQgYm91
bmRhcnkgdG8gdGhlIHByZXZpb3VzIG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L2ljdS91bmljb2RlL3V0eXBlcy5oIGIvU291cmNlL1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdXR5
cGVzLmgKaW5kZXggOGY5MjRjOWQxNDI0MTc5Mjg0NjRiNzk0NDc5NjEyMTc2MDEwMjliNi4uNWI5
ODc4MzFjM2Q3ZGFkMzNmMWU4YWVmNDg2ZTVlMjAyNGM2ODAzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvaWN1L3VuaWNvZGUvdXR5cGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
aWN1L3VuaWNvZGUvdXR5cGVzLmgKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgot
KiAgIENvcHlyaWdodCAoQykgMTk5Ni0yMDEyLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hp
bmVzCisqICAgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTUsIEludGVybmF0aW9uYWwgQnVzaW5lc3Mg
TWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKICoKQEAgLTY0MSwxMyArNjQxLDE5IEBAIHR5cGVkZWYgZW51bSBV
RXJyb3JDb2RlIHsKICAgICBVX1JFR0VYX0lOVkFMSURfRkxBRywgICAgICAgICAgICAgICAgIC8q
KjwgSW52YWxpZCB2YWx1ZSBmb3IgbWF0Y2ggbW9kZSBmbGFncy4gICAgICAgICAgICAgICAgKi8K
ICAgICBVX1JFR0VYX0xPT0tfQkVISU5EX0xJTUlULCAgICAgICAgICAgIC8qKjwgTG9vay1CZWhp
bmQgcGF0dGVybiBtYXRjaGVzIG11c3QgaGF2ZSBhIGJvdW5kZWQgbWF4aW11bSBsZW5ndGguICAg
ICovCiAgICAgVV9SRUdFWF9TRVRfQ09OVEFJTlNfU1RSSU5HLCAgICAgICAgICAvKio8IFJlZ2V4
cHMgY2Fubm90IGhhdmUgVW5pY29kZVNldHMgY29udGFpbmluZyBzdHJpbmdzLiovCi0gICAgVV9S
RUdFWF9PQ1RBTF9UT09fQklHLCAgICAgICAgICAgICAgICAvKio8IE9jdGFsIGNoYXJhY3RlciBj
b25zdGFudHMgbXVzdCBiZSA8PSAwMzc3LiAgICAgICAgICovCi0gICAgVV9SRUdFWF9NSVNTSU5H
X0NMT1NFX0JSQUNLRVQsICAgICAgICAvKio8IE1pc3NpbmcgY2xvc2luZyBicmFja2V0IG9uIGEg
YnJhY2tldCBleHByZXNzaW9uLiAgICovCisjaWZuZGVmIFVfSElERV9ERVBSRUNBVEVEX0FQSQor
ICAgIFVfUkVHRVhfT0NUQUxfVE9PX0JJRywgICAgICAgICAgICAgICAgLyoqPCBPY3RhbCBjaGFy
YWN0ZXIgY29uc3RhbnRzIG11c3QgYmUgPD0gMDM3Ny4gQGRlcHJlY2F0ZWQgSUNVIDU0LiBUaGlz
IGVycm9yIGNhbm5vdCBvY2N1ci4gKi8KKyNlbmRpZiAgLyogVV9ISURFX0RFUFJFQ0FURURfQVBJ
ICovCisgICAgVV9SRUdFWF9NSVNTSU5HX0NMT1NFX0JSQUNLRVQ9VV9SRUdFWF9TRVRfQ09OVEFJ
TlNfU1RSSU5HKzIsIC8qKjwgTWlzc2luZyBjbG9zaW5nIGJyYWNrZXQgb24gYSBicmFja2V0IGV4
cHJlc3Npb24uICovCiAgICAgVV9SRUdFWF9JTlZBTElEX1JBTkdFLCAgICAgICAgICAgICAgICAv
Kio8IEluIGEgY2hhcmFjdGVyIHJhbmdlIFt4LXldLCB4IGlzIGdyZWF0ZXIgdGhhbiB5LiAgICov
CiAgICAgVV9SRUdFWF9TVEFDS19PVkVSRkxPVywgICAgICAgICAgICAgICAvKio8IFJlZ3VsYXIg
ZXhwcmVzc2lvbiBiYWNrdHJhY2sgc3RhY2sgb3ZlcmZsb3cuICAgICAgICovCiAgICAgVV9SRUdF
WF9USU1FX09VVCwgICAgICAgICAgICAgICAgICAgICAvKio8IE1heGltdW0gYWxsb3dlZCBtYXRj
aCB0aW1lIGV4Y2VlZGVkICAgICAgICAgICAgICAgICovCiAgICAgVV9SRUdFWF9TVE9QUEVEX0JZ
X0NBTExFUiwgICAgICAgICAgICAvKio8IE1hdGNoaW5nIG9wZXJhdGlvbiBhYm9ydGVkIGJ5IHVz
ZXIgY2FsbGJhY2sgZm4uICAgICovCi0gICAgVV9SRUdFWF9FUlJPUl9MSU1JVCwgICAgICAgICAg
ICAgICAgICAvKio8IFRoaXMgbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgdmFsdWUgdG8gaW5kaWNh
dGUgdGhlIGxpbWl0IGZvciByZWdleHAgZXJyb3JzICovCisjaWZuZGVmIFVfSElERV9EUkFGVF9B
UEkKKyAgICBVX1JFR0VYX1BBVFRFUk5fVE9PX0JJRywgICAgICAgICAgICAgIC8qKjwgUGF0dGVy
biBleGNlZWRzIGxpbWl0cyBvbiBzaXplIG9yIGNvbXBsZXhpdHkuIEBkcmFmdCBJQ1UgNTUgKi8K
KyAgICBVX1JFR0VYX0lOVkFMSURfQ0FQVFVSRV9HUk9VUF9OQU1FLCAgIC8qKjwgSW52YWxpZCBj
YXB0dXJlIGdyb3VwIG5hbWUuIEBkcmFmdCBJQ1UgNTUgKi8KKyNlbmRpZiAgLyogVV9ISURFX0RS
QUZUX0FQSSAqLworICAgIFVfUkVHRVhfRVJST1JfTElNSVQ9VV9SRUdFWF9TVE9QUEVEX0JZX0NB
TExFUiszLCAvKio8IFRoaXMgbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgdmFsdWUgdG8gaW5kaWNh
dGUgdGhlIGxpbWl0IGZvciByZWdleHAgZXJyb3JzICovCiAKICAgICAvKgogICAgICAqIFRoZSBl
cnJvciBjb2RlIGluIHRoZSByYW5nZSAweDEwNDAwLTB4MTA0ZmYgYXJlIHJlc2VydmVkIGZvciBJ
RE5BIHJlbGF0ZWQgZXJyb3IgY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL2lj
dS91bmljb2RlL3V2ZXJudW0uaCBiL1NvdXJjZS9XZWJLaXQvbWFjL2ljdS91bmljb2RlL3V2ZXJu
dW0uaAppbmRleCBiZDBiMGM5ODk4YTIzNTc5ZThmYjgxMTlmNmNkMTYzOWFjMmE4ZjQ5Li4zZTJl
ZmY2MzFjMTA1ODU5NDAwYzJkNzAyYzUzODc2ODk0YmNiMDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9pY3UvdW5pY29kZS91dmVybnVtLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
aWN1L3VuaWNvZGUvdXZlcm51bS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKLSogICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAxMywgSW50ZXJuYXRpb25hbCBCdXNp
bmVzcyBNYWNoaW5lcworKiAgIENvcHlyaWdodCAoQykgMjAwMC0yMDE1LCBJbnRlcm5hdGlvbmFs
IEJ1c2luZXNzIE1hY2hpbmVzCiAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCkBAIC01MSwxMyArNTEsMTMg
QEAKICAqICBAc3RhYmxlIElDVSAyLjQKICAqLwogI2RlZmluZSBVX0NPUFlSSUdIVF9TVFJJTkcg
XAotICAiIENvcHlyaWdodCAoQykgMjAxMywgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAiCisgICIgQ29w
eXJpZ2h0IChDKSAyMDE1LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0
aW9uIGFuZCBvdGhlcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICIKIAogLyoqIFRoZSBjdXJyZW50
IElDVSBtYWpvciB2ZXJzaW9uIGFzIGFuIGludGVnZXIuCiAgKiAgVGhpcyB2YWx1ZSB3aWxsIGNo
YW5nZSBpbiB0aGUgc3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UKICAqICBAc3RhYmxlIElDVSAy
LjQKICAqLwotI2RlZmluZSBVX0lDVV9WRVJTSU9OX01BSk9SX05VTSA1MgorI2RlZmluZSBVX0lD
VV9WRVJTSU9OX01BSk9SX05VTSA1NQogCiAvKiogVGhlIGN1cnJlbnQgSUNVIG1pbm9yIHZlcnNp
b24gYXMgYW4gaW50ZWdlci4KICAqICBUaGlzIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBzdWJz
ZXF1ZW50IHJlbGVhc2VzIG9mIElDVQpAQCAtODMsNyArODMsNyBAQAogICogIFRoaXMgdmFsdWUg
d2lsbCBjaGFuZ2UgaW4gdGhlIHN1YnNlcXVlbnQgcmVsZWFzZXMgb2YgSUNVCiAgKiAgQHN0YWJs
ZSBJQ1UgMi42CiAgKi8KLSNkZWZpbmUgVV9JQ1VfVkVSU0lPTl9TVUZGSVggXzUyCisjZGVmaW5l
IFVfSUNVX1ZFUlNJT05fU1VGRklYIF81NQogCiAvKioKICAqIFxkZWYgVV9ERUYyX0lDVV9FTlRS
WV9QT0lOVF9SRU5BTUUKQEAgLTExOCwxOSArMTE4LDE5IEBACiAgKiAgVGhpcyB2YWx1ZSB3aWxs
IGNoYW5nZSBpbiB0aGUgc3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UKICAqICBAc3RhYmxlIElD
VSAyLjQKICAqLwotI2RlZmluZSBVX0lDVV9WRVJTSU9OICI1Mi4xIgorI2RlZmluZSBVX0lDVV9W
RVJTSU9OICI1NS4xIgogCiAvKiogVGhlIGN1cnJlbnQgSUNVIGxpYnJhcnkgbWFqb3IvbWlub3Ig
dmVyc2lvbiBhcyBhIHN0cmluZyB3aXRob3V0IGRvdHMsIGZvciBsaWJyYXJ5IG5hbWUgc3VmZml4
ZXMuCiAgKiAgVGhpcyB2YWx1ZSB3aWxsIGNoYW5nZSBpbiB0aGUgc3Vic2VxdWVudCByZWxlYXNl
cyBvZiBJQ1UKICAqICBAc3RhYmxlIElDVSAyLjYKICAqLwotI2RlZmluZSBVX0lDVV9WRVJTSU9O
X1NIT1JUICI1MiIKKyNkZWZpbmUgVV9JQ1VfVkVSU0lPTl9TSE9SVCAiNTUiCiAKICNpZm5kZWYg
VV9ISURFX0lOVEVSTkFMX0FQSQogLyoqIERhdGEgdmVyc2lvbiBpbiBJQ1U0Qy4KICAqIEBpbnRl
cm5hbCBJQ1UgNC40IEludGVybmFsIFVzZSBPbmx5CiAgKiovCi0jZGVmaW5lIFVfSUNVX0RBVEFf
VkVSU0lPTiAiNTIuMSIKKyNkZWZpbmUgVV9JQ1VfREFUQV9WRVJTSU9OICI1NS4xIgogI2VuZGlm
ICAvKiBVX0hJREVfSU5URVJOQUxfQVBJICovCiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0x
NDYsNyArMTQ2LDcgQEAKICAqIFRoaXMgdmFsdWUgbWF5IGNoYW5nZSBpbiBzdWJzZXF1ZW50IHJl
bGVhc2VzIG9mIElDVS4KICAqIEBzdGFibGUgSUNVIDIuNAogICovCi0jZGVmaW5lIFVDT0xfUlVO
VElNRV9WRVJTSU9OIDcKKyNkZWZpbmUgVUNPTF9SVU5USU1FX1ZFUlNJT04gOQogCiAvKioKICAq
IENvbGxhdGlvbiBidWlsZGVyIGNvZGUgdmVyc2lvbi4KQEAgLTE1NSwxMyArMTU1LDE2IEBACiAg
KiBUaGlzIHZhbHVlIG1heSBjaGFuZ2UgaW4gc3Vic2VxdWVudCByZWxlYXNlcyBvZiBJQ1UuCiAg
KiBAc3RhYmxlIElDVSAyLjQKICAqLwotI2RlZmluZSBVQ09MX0JVSUxERVJfVkVSU0lPTiA4Cisj
ZGVmaW5lIFVDT0xfQlVJTERFUl9WRVJTSU9OIDkKIAorI2lmbmRlZiBVX0hJREVfREVQUkVDQVRF
RF9BUEkKIC8qKgotICogVGhpcyBpcyB0aGUgdmVyc2lvbiBvZiBjb2xsYXRpb24gdGFpbG9yaW5n
cy4KLSAqIFRoaXMgdmFsdWUgbWF5IGNoYW5nZSBpbiBzdWJzZXF1ZW50IHJlbGVhc2VzIG9mIElD
VS4KLSAqIEBzdGFibGUgSUNVIDIuNAorICogQ29uc3RhbnQgMS4KKyAqIFRoaXMgd2FzIGludGVu
ZGVkIHRvIGJlIHRoZSB2ZXJzaW9uIG9mIGNvbGxhdGlvbiB0YWlsb3JpbmdzLAorICogYnV0IGlu
c3RlYWQgdGhlIHRhaWxvcmluZyBkYXRhIGNhcnJpZXMgYSB2ZXJzaW9uIG51bWJlci4KKyAqIEBk
ZXByZWNhdGVkIElDVSA1NAogICovCiAjZGVmaW5lIFVDT0xfVEFJTE9SSU5HU19WRVJTSU9OIDEK
KyNlbmRpZiAgLyogVV9ISURFX0RFUFJFQ0FURURfQVBJICovCiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>