<?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>152462</bug_id>
          
          <creation_ts>2015-12-19 18:16:34 -0800</creation_ts>
          <short_desc>[Mac] WebKit contains dead source code for OS X Mavericks and earlier</short_desc>
          <delta_ts>2015-12-20 09:21:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1150591</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-12-19 18:16:34 -0800</bug_when>
    <thetext>Remove code used only when targeting OS X 10.9 and earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150592</commentid>
    <comment_count>1</comment_count>
      <attachid>267706</attachid>
    <who name="">mitz</who>
    <bug_when>2015-12-19 18:45:27 -0800</bug_when>
    <thetext>Created attachment 267706
Remove and simplify</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150600</commentid>
    <comment_count>2</comment_count>
      <attachid>267706</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-12-19 20:51:32 -0800</bug_when>
    <thetext>Comment on attachment 267706
Remove and simplify

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

Very nice.

&gt; Source/WebKit2/Configurations/BaseXPCService.xcconfig:59
&gt;  WK_XPC_SERVICE_INFOPLIST_SUFFIX_101000 = -10.9-10.10;

Should the plist be renamed in a follow-up?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:5013
&gt;  bool WebPage::synchronousMessagesShouldSpinRunLoop()
&gt;  {
&gt; -#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101000
&gt; -    return WebCore::AXObjectCache::accessibilityEnabled();
&gt; -#endif
&gt;      return false;
&gt;  }

This function can (and should) be deleted now, there is quite a bit of confusing code guarded by it.

&gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:277
&gt;  void WebInspectorFrontendClient::setToolbarHeight(unsigned height)
&gt;  {
&gt; -#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1090
&gt; -    [[m_frontendWindowController window] setContentBorderThickness:height forEdge:NSMaxYEdge];
&gt; -#endif
&gt;  }

Can setToolbarHeight be deleted now?

&gt; WebKitLibraries/ChangeLog:8
&gt; +        * libWebKitSystemInterfaceMavericks.a: Removed.

This should be (roughly) synchronized with removing script code that touches this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150601</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-12-19 20:56:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 267706 [details]
&gt; Remove and simplify
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=267706&amp;action=review
&gt; 
&gt; Very nice.

Thank you, and thanks for the review!

&gt; 
&gt; &gt; Source/WebKit2/Configurations/BaseXPCService.xcconfig:59
&gt; &gt;  WK_XPC_SERVICE_INFOPLIST_SUFFIX_101000 = -10.9-10.10;
&gt; 
&gt; Should the plist be renamed in a follow-up?

Didn’t seem important.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:5013
&gt; &gt;  bool WebPage::synchronousMessagesShouldSpinRunLoop()
&gt; &gt;  {
&gt; &gt; -#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101000
&gt; &gt; -    return WebCore::AXObjectCache::accessibilityEnabled();
&gt; &gt; -#endif
&gt; &gt;      return false;
&gt; &gt;  }
&gt; 
&gt; This function can (and should) be deleted now, there is quite a bit of
&gt; confusing code guarded by it.

Good to know! I might do that next.

&gt; 
&gt; &gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:277
&gt; &gt;  void WebInspectorFrontendClient::setToolbarHeight(unsigned height)
&gt; &gt;  {
&gt; &gt; -#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1090
&gt; &gt; -    [[m_frontendWindowController window] setContentBorderThickness:height forEdge:NSMaxYEdge];
&gt; &gt; -#endif
&gt; &gt;  }
&gt; 
&gt; Can setToolbarHeight be deleted now?

Will look into that too.

&gt; 
&gt; &gt; WebKitLibraries/ChangeLog:8
&gt; &gt; +        * libWebKitSystemInterfaceMavericks.a: Removed.
&gt; 
&gt; This should be (roughly) synchronized with removing script code that touches
&gt; this file.

I didn’t see anything in Tools/Scripts that referred to this file. Did I miss something, or are you referring to something internal to Apple?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150609</commentid>
    <comment_count>4</comment_count>
      <attachid>267706</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-19 22:27:33 -0800</bug_when>
    <thetext>Comment on attachment 267706
Remove and simplify

Clearing flags on attachment: 267706

Committed r194318: &lt;http://trac.webkit.org/changeset/194318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150610</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-19 22:27:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150616</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-12-20 00:13:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 267706 [details]
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:5013
&gt; &gt; &gt;  bool WebPage::synchronousMessagesShouldSpinRunLoop()
&gt; &gt; &gt;  {
&gt; &gt; &gt; -#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101000
&gt; &gt; &gt; -    return WebCore::AXObjectCache::accessibilityEnabled();
&gt; &gt; &gt; -#endif
&gt; &gt; &gt;      return false;
&gt; &gt; &gt;  }
&gt; &gt; 
&gt; &gt; This function can (and should) be deleted now, there is quite a bit of
&gt; &gt; confusing code guarded by it.
&gt; 
&gt; Good to know! I might do that next.

Taking over bug 126021.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150648</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-12-20 09:21:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; &gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:277
&gt; &gt; &gt;  void WebInspectorFrontendClient::setToolbarHeight(unsigned height)
&gt; &gt; &gt;  {
&gt; &gt; &gt; -#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1090
&gt; &gt; &gt; -    [[m_frontendWindowController window] setContentBorderThickness:height forEdge:NSMaxYEdge];
&gt; &gt; &gt; -#endif
&gt; &gt; &gt;  }
&gt; &gt; 
&gt; &gt; Can setToolbarHeight be deleted now?
&gt; 
&gt; Will look into that too.

Filed bug 152466.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267706</attachid>
            <date>2015-12-19 18:45:27 -0800</date>
            <delta_ts>2015-12-19 22:27:33 -0800</delta_ts>
            <desc>Remove and simplify</desc>
            <filename>bug-152462-20151219184449.patch</filename>
            <type>text/plain</type>
            <size>181164</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE1LTEyLTE5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAg
W01hY10gV2ViS2l0IGNvbnRhaW5zIGRlYWQgc291cmNlIGNvZGUgZm9yIE9TIFggTWF2ZXJpY2tz
IGFuZCBlYXJsaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTI0NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAtIFJlbW92ZWQgYnVpbGQgc2V0dGluZyBkZWZpbml0aW9ucyBmb3IgT1MgWCAxMC45IGFu
ZCBlYXJsaWVyLCBhbmQgc2ltcGxpZmllZCBkZWZpbnRpb25zCisgICAgICAgICAgdGhhdCBiZWNh
bWUgdW5pZm9ybSBhY3Jvc3MgYWxsIE9TIFggdmVyc2lvbnMgYXMgYSByZXN1bHQ6CisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWc6CisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvVmVyc2lvbi54Y2NvbmZpZzoKKworICAgICAgICAqIEFQSS9KU0Jhc2UuaDogUmVtb3Zl
ZCBjaGVjayBhZ2FpbnN0IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgdGhhdCB3YXMg
YWx3YXlzIHRydWUuCisKIDIwMTUtMTItMTkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gU3RyZWFtbGluZSBUbXAgaW5kZXhpbmcgaW5zaWRl
IHRoZSByZWdpc3RlciBhbGxvY2F0b3IKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2Uu
aAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw3IEBAIEpTX0VYUE9SVCB2b2lkIEpTR2Fy
YmFnZUNvbGxlY3QoSlNDb250ZXgKIAogLyogRW5hYmxlIHRoZSBPYmplY3RpdmUtQyBBUEkgZm9y
IHBsYXRmb3JtcyB3aXRoIGEgbW9kZXJuIHJ1bnRpbWUuICovCiAjaWYgIWRlZmluZWQoSlNDX09C
SkNfQVBJX0VOQUJMRUQpCi0jZGVmaW5lIEpTQ19PQkpDX0FQSV9FTkFCTEVEIChkZWZpbmVkKF9f
Y2xhbmdfXykgJiYgZGVmaW5lZChfX0FQUExFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX0dUS19f
KSAmJiAoKGRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwICYmICFkZWZpbmVkKF9faTM4Nl9fKSkg
fHwgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkpKQorI2Rl
ZmluZSBKU0NfT0JKQ19BUElfRU5BQkxFRCAoZGVmaW5lZChfX2NsYW5nX18pICYmIGRlZmluZWQo
X19BUFBMRV9fKSAmJiAhZGVmaW5lZChCVUlMRElOR19HVEtfXykgJiYgKChkZWZpbmVkKF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmICFkZWZpbmVkKF9faTM4Nl9fKSkgfHwgKGRl
ZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgVEFSR0VUX09TX0lQSE9ORSkpKQogI2VuZGlmCiAK
ICNlbmRpZiAvKiBKU0Jhc2VfaCAqLwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCShyZXZpc2lv
biAxOTQzMTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRGVidWdS
ZWxlYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBAIEFSQ0hTID0g
JChBUkNIU19TVEFOREFSRF8zMl82NF9CSVQpOwogT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAog
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUID0gJChNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfJChQ
TEFURk9STV9OQU1FKV8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1NQUNPU1hf
REVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwOTAgPSAxMC45OwogTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4xMDsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9t
YWNvc3hfMTAxMTAwID0gMTAuMTE7CiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEw
MTIwMCA9IDEwLjEyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMTk0
MzE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMiArMzUsNyBAQCBFTkFCTEVfM0Rf
VFJBTlNGT1JNUyA9IEVOQUJMRV8zRF9UUkFOU0ZPCiBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTID0gOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR1tzZGs9aXBob25l
Kl0gPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCA9IEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQ7Ci1FTkFCTEVfQVZGX0NB
UFRJT05TW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9BVkZfQ0FQVElPTlM7Ci1FTkFCTEVfQVZGX0NB
UFRJT05TW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hf
MTA5MCA9IDsKLUVOQUJMRV9BVkZfQ0FQVElPTlNfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9BVkZf
Q0FQVElPTlM7Ci1FTkFCTEVfQVZGX0NBUFRJT05TX21hY29zeF8xMDExMDAgPSBFTkFCTEVfQVZG
X0NBUFRJT05TOwotRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfMTAxMjAwID0gRU5BQkxFX0FW
Rl9DQVBUSU9OUzsKK0VOQUJMRV9BVkZfQ0FQVElPTlMgPSBFTkFCTEVfQVZGX0NBUFRJT05TOwog
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwpAQCAtNzYsMTIgKzcxLDcgQEAgRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9S
ID0gRU5BQkxFXwogRU5BQkxFX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVf
RU5DUllQVEVEX01FRElBOwogRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMltzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyOwogRU5BQkxFX0ZFVENIX0FQSSA9IEVOQUJMRV9G
RVRDSF9BUEk7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9G
SUxURVJTX0xFVkVMXzI7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yW3Nkaz1tYWNvc3gqXSA9ICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9G
SUxURVJTX0xFVkVMXzJfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9GSUxURVJTX0xFVkVMXzI7Ci1F
TkFCTEVfRklMVEVSU19MRVZFTF8yX21hY29zeF8xMDExMDAgPSBFTkFCTEVfRklMVEVSU19MRVZF
TF8yOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfMTAxMjAwID0gRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMjsKK0VOQUJMRV9GSUxURVJTX0xFVkVMXzIgPSBFTkFCTEVfRklMVEVSU19MRVZF
TF8yOwogRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMgPSA7CiBFTkFCTEVfRlVMTFNDUkVFTl9BUElb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dBTUVQQURbc2Rr
PW1hY29zeCpdID0gRU5BQkxFX0dBTUVQQUQ7CkBAIC04OSwxMSArNzksNyBAQCBFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORzsKIEVOQUJMRV9JQ09O
REFUQUJBU0Vbc2RrPW1hY29zeCpdID0gRU5BQkxFX0lDT05EQVRBQkFTRTsKLUVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFj
b3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTX21hY29zeF8xMDkwID0gOwotRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XzEw
MTAwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOwotRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNf
bWFjb3N4XzEwMTEwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOwotRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFNfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOworRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFNbc2RrPW1hY29zeCpdID0gRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFM7
CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyA9IDsKIEVOQUJMRV9JTkRJRV9VSSA9IEVO
QUJMRV9JTkRJRV9VSTsKQEAgLTEwNiwxNiArOTIsMTAgQEAgRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEhbc2RrPWlwaG9uZSpdID0gRQogRU5BQkxFX0lOUFVUX1RZUEVfVElNRVtzZGs9aXBob25lKl0g
PSBFTkFCTEVfSU5QVVRfVFlQRV9USU1FOwogRU5BQkxFX0lOUFVUX1RZUEVfV0VFS1tzZGs9aXBo
b25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9XRUVLOwogCi1FTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUzsKLUVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nk
az1tYWNvc3gqXSA9ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFj
b3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQotRU5BQkxFX0lOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hfMTAxMDAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRF
Uk5BVEVfRElTUEFUQ0hFUlM7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
U19tYWNvc3hfMTAxMTAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7
Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hfMTAxMjAwID0g
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7CitFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUyA9IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BB
VENIRVJTOwogCiBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUW3Nkaz1pcGhvbmUqXSA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VF9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpCi1FTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUX21hY29zeF8xMDkwID0gOwogRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVF9tYWNvc3hfMTAxMDAwID0gOwogRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVF9tYWNvc3hfMTAxMTAwID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVRfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQ7CkBAIC0xMjgsNyArMTA4LDYgQEAgRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UU19pb3NfV0lUSF9JTlRFUgogCiBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTID0g
OwogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU1tzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpX1dJ
VEhfSU5URVJOQUxfU0RLXyQoVVNFX0lOVEVSTkFMX1NESykpOwotRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UU19tYWNvc3hfMTA5MF9XSVRIX0lOVEVSTkFMX1NES19ZRVMgPSA7CiBFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTX21hY29zeF8xMDEwMDBfV0lUSF9JTlRFUk5BTF9TREtfWUVTID0gOwog
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU19tYWNvc3hfMTAxMTAwX1dJVEhfSU5URVJOQUxfU0RL
X1lFUyA9IEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFM7CiBFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTX21hY29zeF8xMDEyMDBfV0lUSF9JTlRFUk5BTF9TREtfWUVTID0gRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUzsKQEAgLTE0OCwxMSArMTI3LDcgQEAgRU5BQkxFX01BVEhNTCA9IEVOQUJMRV9N
QVRITUw7CiBFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUID0gRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVDsKIEVOQUJMRV9NRURJQV9TRVNTSU9OID0gOwogCi1FTkFCTEVfTUVESUFfU09V
UkNFW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfJChUQVJHRVRf
TUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfMTA5
MCA9IDsKLUVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9NRURJQV9T
T1VSQ0U7Ci1FTkFCTEVfTUVESUFfU09VUkNFX21hY29zeF8xMDExMDAgPSBFTkFCTEVfTUVESUFf
U09VUkNFOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfMTAxMjAwID0gRU5BQkxFX01FRElB
X1NPVVJDRTsKK0VOQUJMRV9NRURJQV9TT1VSQ0Vbc2RrPW1hY29zeCpdID0gRU5BQkxFX01FRElB
X1NPVVJDRTsKIAogRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MgPSA7CiBFTkFCTEVfTUVESUFfU1RS
RUFNID0gRU5BQkxFX01FRElBX1NUUkVBTTsKQEAgLTE3MCwxMiArMTQ1LDcgQEAgRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCA9IEVOQUJMRV9QVUJMSQogRU5BQkxFX1FVT1RBID0gOwogRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
OwogRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFID0gOwotRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1Jbc2RrPWlwaG9uZSpdID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7Ci1FTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUltzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29z
eF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29zeF8xMDEw
MDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21h
Y29zeF8xMDExMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKLUVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SX21hY29zeF8xMDEyMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKK0VOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiBFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSA9IDsKIEVOQUJMRV9SVUJCRVJfQkFORElOR1tzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfUlVCQkVSX0JBTkRJTkc7CiBFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQID0gRU5BQkxF
X0NTU19TQ1JPTExfU05BUDsKQEAgLTE4NSwxMiArMTU1LDcgQEAgRU5BQkxFX1NVQlRMRV9DUllQ
VE8gPSBFTkFCTEVfU1VCVExFX0NSWQogRU5BQkxFX1NWR19GT05UUyA9IEVOQUJMRV9TVkdfRk9O
VFM7CiBFTkFCTEVfU1ZHX09URl9DT05WRVJURVIgPSBFTkFCTEVfU1ZHX09URl9DT05WRVJURVI7
CiAKLUVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTltzZGs9aXBob25lKl0gPSBFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT047Ci1FTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT05bc2RrPW1hY29zeCpdID0gJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T05fbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTl9tYWNvc3hfMTAxMDAwID0gRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OOwotRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OX21hY29zeF8xMDEx
MDAgPSBFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT047Ci1FTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT05fbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTjsKK0VOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiA9IEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTjsKIAogRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQgPSBF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVDsKIEVOQUJMRV9URVhUX0FVVE9TSVpJTkcgPSA7CkBAIC0y
MTksMTIgKzE4NCw3IEBAIEVOQUJMRV9XRUJfUkVQTEFZX21hY29zeF9EZWJ1ZyA9IEVOQUJMRV8K
IEVOQUJMRV9XRUJfUkVQTEFZX21hY29zeF9SZWxlYXNlID0gRU5BQkxFX1dFQl9SRVBMQVk7CiBF
TkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CiAKLUVOQUJMRV9XRUJfVElN
SU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9XRUJfVElNSU5HOwotRU5BQkxFX1dFQl9USU1JTkdb
c2RrPW1hY29zeCpdID0gJChFTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfJChUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX1dFQl9USU1JTkdfbWFjb3N4XzEwOTAgPSA7Ci1F
TkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMDAwID0gRU5BQkxFX1dFQl9USU1JTkc7Ci1FTkFC
TEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMTAwID0gRU5BQkxFX1dFQl9USU1JTkc7Ci1FTkFCTEVf
V0VCX1RJTUlOR19tYWNvc3hfMTAxMjAwID0gRU5BQkxFX1dFQl9USU1JTkc7CitFTkFCTEVfV0VC
X1RJTUlORyA9IEVOQUJMRV9XRUJfVElNSU5HOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xU
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvVmVyc2lvbi54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDcgKzM1LDYgQEAgU0hPUlRfVkVSU0lPTl9TVFJJTkcgPSAkKFNIT1JUX1ZFUlNJT05fUwog
Ly8gVGhlIHN5c3RlbSB2ZXJzaW9uIHByZWZpeCBpcyBiYXNlZCBvbiB0aGUgY3VycmVudCBzeXN0
ZW0gdmVyc2lvbi4KIFNZU1RFTV9WRVJTSU9OX1BSRUZJWFtzZGs9aXBob25lKl0gPSA4OwogU1lT
VEVNX1ZFUlNJT05fUFJFRklYID0gJChTWVNURU1fVkVSU0lPTl9QUkVGSVhfJChQTEFURk9STV9O
QU1FKV8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1TWVNURU1fVkVSU0lPTl9Q
UkVGSVhfbWFjb3N4XzEwOTAgPSA5OwogU1lTVEVNX1ZFUlNJT05fUFJFRklYX21hY29zeF8xMDEw
MDAgPSAxMDsKIFNZU1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNvc3hfMTAxMTAwID0gMTE7CiBTWVNU
RU1fVkVSU0lPTl9QUkVGSVhfbWFjb3N4XzEwMTIwMCA9IDEyOwpJbmRleDogU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTItMTkg
IERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJLaXQg
Y29udGFpbnMgZGVhZCBzb3VyY2UgY29kZSBmb3IgT1MgWCBNYXZlcmlja3MgYW5kIGVhcmxpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjQ2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnOiBSZW1vdmVkIGRlZmluaXRpb25zIG9mIE1B
Q09TWF9ERVBMT1lNRU5UX1RBUkdFVCBmb3IKKyAgICAgICAgICBPUyBYIDEwLjggYW5kIDEwLjku
CisKIDIwMTUtMTItMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgT2JqZWN0aXZlLUMgR0Mgc3VwcG9ydApJbmRleDogU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFz
ZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
Q29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01
LDggKzUsNiBAQCBBUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNU
SVZFX0FSQ0ggPSBZRVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VUXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lP
Tl9NQUpPUikpOwotTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDgwID0gMTAuODsK
LU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTA5MCA9IDEwLjk7CiBNQUNPU1hfREVQ
TE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwMTAwMCA9IDEwLjEwOwogTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUX21hY29zeF8xMDExMDAgPSAxMC4xMTsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9t
YWNvc3hfMTAxMjAwID0gMTAuMTI7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNl
L1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAxNS0xMi0x
OSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFdlYktp
dCBjb250YWlucyBkZWFkIHNvdXJjZSBjb2RlIGZvciBPUyBYIE1hdmVyaWNrcyBhbmQgZWFybGll
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNDYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWc6IFJlbW92ZWQgZGVmaW5pdGlvbiBvZiBN
QUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgZm9yCisgICAgICAgICAgT1MgWCAxMC45LgorCisgICAg
ICAgIC0gU2ltcGxpZmllZCBleHByZXNzaW9ucyBpbnZvbHZpbmcgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCBhbmQgcmVtb3ZlZCBjb2RlIHRoYXQgd2FzCisgICAgICAgICAgbmV2ZXIg
Z2V0dGluZyBjb21waWxlZDoKKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAg
ICAgICAqIHd0Zi9NYWluVGhyZWFkLmg6CisgICAgICAgICogd3RmL09TT2JqZWN0UHRyLmg6Cisg
ICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAgICogd3RmL21hYy9EZXByZWNhdGVkU3lt
Ym9sc1VzZWRCeVNhZmFyaS5tbToKKyAgICAgICAgKiB3dGYvc3BpL2Rhcndpbi9YUENTUEkuaDoK
KwogMjAxNS0xMi0xNyAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdtYWlsLmNvbT4K
IAogICAgICAgICBbSU5UTF0gSW1wbGVtZW50IENvbGxhdG9yIENvbXBhcmUgRnVuY3Rpb25zCklu
ZGV4OiBTb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZp
ZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9EZWJ1Z1Jl
bGVhc2UueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAgQVJDSFMgPSAk
KEFSQ0hTX1NUQU5EQVJEXzMyXzY0X0JJVCk7CiBPTkxZX0FDVElWRV9BUkNIID0gWUVTOwogCiBN
QUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAkKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8kKFBM
QVRGT1JNX05BTUUpXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLU1BQ09TWF9E
RVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTA5MCA9IDEwLjk7CiBNQUNPU1hfREVQTE9ZTUVOVF9U
QVJHRVRfbWFjb3N4XzEwMTAwMCA9IDEwLjEwOwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21h
Y29zeF8xMDExMDAgPSAxMC4xMTsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAx
MjAwID0gMTAuMTI7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIwMCw3ICsyMDAsNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVkIHRv
CiAjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCiAjZW5kaWYKIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAjaWYgIWRlZmluZWQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpCiAjZGVmaW5lIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SIDEKICNlbmRp
ZgpAQCAtMjA4LDcgKzIwNyw2IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ugd2lsbCBhbHNvIG5l
ZWQgdG8KICNpZiAhZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykKICNkZWZpbmUgRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMgMQogI2Vu
ZGlmCi0jZW5kaWYKIAogI2lmICFkZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQogI2Rl
ZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9NYWlu
VGhyZWFkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oCShyZXZp
c2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDE3ICs4NCw4IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGluaXRpYWxpemVN
YWluVGgKIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkUGxhdGZv
cm0oKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID09IDEwOTAKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5U
aHJlYWQodm9pZCAoKmZ1bmN0aW9uKSh2b2lkKiksIHZvaWQqIGNvbnRleHQpOwotV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgY2FuY2VsQ2FsbE9uTWFpblRocmVhZCh2b2lkICgqZnVuY3Rpb24pKHZv
aWQqKSwgdm9pZCogY29udGV4dCk7Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLSNp
ZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPT0gMTA5
MAotdXNpbmcgV1RGOjpjYW5jZWxDYWxsT25NYWluVGhyZWFkOwotI2VuZGlmCi0KIHVzaW5nIFdU
Rjo6Y2FsbE9uTWFpblRocmVhZDsKICNpZiBQTEFURk9STShDT0NPQSkKIHVzaW5nIFdURjo6Y2Fs
bE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkOwpJbmRleDogU291cmNlL1dU
Ri93dGYvT1NPYmplY3RQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9PU09iamVj
dFB0ci5oCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV1RGL3d0Zi9PU09iamVjdFB0ci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCwyNSArMzAsNiBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMDAwCi0KLSNpZiBfX2hh
c19pbmNsdWRlKDxvcy9vYmplY3RfcHJpdmF0ZS5oPikKLSNpbmNsdWRlIDxvcy9vYmplY3RfcHJp
dmF0ZS5oPgotI2VuZGlmCi0KLSNpZiBPU19PQkpFQ1RfVVNFX09CSkMKLUBjbGFzcyBPU19vYmpl
Y3Q7Ci10eXBlZGVmIE9TX29iamVjdCAqX29zX29iamVjdF90OwotI2Vsc2UKLXR5cGVkZWYgc3Ry
dWN0IF9vc19vYmplY3RfcyAqX29zX29iamVjdF90OwotI2VuZGlmCi0KLWV4dGVybiAiQyIgX29z
X29iamVjdF90IF9vc19vYmplY3RfcmV0YWluKF9vc19vYmplY3RfdCBvYmplY3QpOwotZXh0ZXJu
ICJDIiB2b2lkIF9vc19vYmplY3RfcmVsZWFzZShfb3Nfb2JqZWN0X3Qgb2JqZWN0KTsKLQotI2Vu
ZGlmCi0KLQogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE9T
T2JqZWN0UHRyOwpAQCAtNTcsMjkgKzM4LDEzIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IE9TT2Jq
ZWN0UHRyPFQ+IGFkb3AKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdGF0aWMgaW5saW5lIHZvaWQg
cmV0YWluT1NPYmplY3QoVCBwdHIpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMCB8fCBQTEFURk9STShJT1MpCiAgICAgb3Nf
cmV0YWluKHB0cik7Ci0jZWxzZQotI2lmIE9TX09CSkVDVF9VU0VfT0JKQ19SRVRBSU5fUkVMRUFT
RQotICAgIFtwdHIgcmV0YWluXTsKLSNlbHNlCi0gICAgX29zX29iamVjdF9yZXRhaW4oKF9vc19v
YmplY3RfdClwdHIpOwotI2VuZGlmCi0jZW5kaWYKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4K
IHN0YXRpYyBpbmxpbmUgdm9pZCByZWxlYXNlT1NPYmplY3QoVCBwdHIpCiB7Ci0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMCB8fCBQ
TEFURk9STShJT1MpCiAgICAgb3NfcmVsZWFzZShwdHIpOwotI2Vsc2UKLSNpZiBPU19PQkpFQ1Rf
VVNFX09CSkNfUkVUQUlOX1JFTEVBU0UKLSAgICBbcHRyIHJlbGVhc2VdOwotI2Vsc2UKLSAgICBf
b3Nfb2JqZWN0X3JlbGVhc2UoKF9vc19vYmplY3RfdClwdHIpOwotI2VuZGlmCi0jZW5kaWYKIH0K
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT1NPYmplY3RQdHIgewpJbmRleDogU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDAwLDExICsxMDAwLDExIEBACiAjZGVmaW5lIEhBVkVfQVZGT1VOREFU
SU9OX1ZJREVPX09VVFBVVCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgfHwgKE9TKFdJTkRPV1MpICYmIFVTRShDRykpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTA4MCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1B
QykgfHwgKE9TKFdJTkRPV1MpICYmIFVTRShDRykpCiAjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9O
X01FRElBX1NFTEVDVElPTl9HUk9VUCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwg
KChQTEFURk9STShNQUMpIHx8IChPUyhXSU5ET1dTKSAmJiBVU0UoQ0cpKSkgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDKSB8fCAoT1MoV0lORE9XUykgJiYgVVNFKENHKSkKICNkZWZpbmUgSEFWRV9BVkZP
VU5EQVRJT05fTEVHSUJMRV9PVVRQVVRfU1VQUE9SVCAxCiAjZGVmaW5lIEhBVkVfTUVESUFfQUND
RVNTSUJJTElUWV9GUkFNRVdPUksgMQogI2VuZGlmCkBAIC0xMDM0LDEzICsxMDM0LDEzIEBACiAj
ZW5kaWYKIAogI2lmbmRlZiBIQVZFX1FPU19DTEFTU0VTCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAw
MCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9RT1NfQ0xBU1NFUyAxCiAjZW5k
aWYKICNlbmRpZgogCiAjaWZuZGVmIEhBVkVfVk9VQ0hFUlMKLSNpZiBQTEFURk9STShJT1MpIHx8
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
MDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX1ZPVUNIRVJTIDEKICNlbmRp
ZgogI2VuZGlmCkBAIC0xMDY0LDcgKzEwNjQsNyBAQAogI2RlZmluZSBVU0VfTUFSS0VSX1JFTU9W
QUxfVVBPTl9FRElUSU5HIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIFBMQVRGT1JNKE1BQykKICNk
ZWZpbmUgVVNFX0lOU0VSVElPTl9VTkRPX0dST1VQSU5HIDEKICNlbmRpZgogCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9tYWMvRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmkubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvbWFjL0RlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5U2FmYXJpLm1t
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV1RGL3d0Zi9tYWMvRGVwcmVjYXRlZFN5bWJv
bHNVc2VkQnlTYWZhcmkubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDI5ICszOSw2IEBACiAKIG5h
bWVzcGFjZSBXVEYgewogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID09IDEwOTAKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5U
aHJlYWQoY29uc3QgRnVuY3Rpb248dm9pZCAoKT4mKTsKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IGxvY2tBdG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWNNdXRleCgpOwotV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgdW5sb2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXgoKTsKLQotdm9p
ZCBjYWxsT25NYWluVGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQgKCk+JiBmdW5jdGlvbikKLXsK
LSAgICBjYWxsT25NYWluVGhyZWFkKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4oZnVuY3Rpb24pKTsK
LX0KLQotc3RhdGljIFN0YXRpY0xvY2sgYXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXg7
Ci0KLXZvaWQgbG9ja0F0b21pY2FsbHlJbml0aWFsaXplZFN0YXRpY011dGV4KCkKLXsKLSAgICBh
dG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWNNdXRleC5sb2NrKCk7Ci19Ci0KLXZvaWQgdW5sb2Nr
QXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXgoKQotewotICAgIGF0b21pY2FsbHlJbml0
aWFsaXplZFN0YXRpY011dGV4LnVubG9jaygpOwotfQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKSB8fCAoUExB
VEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMDAwMCkK
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmN0aW9u
KSh2b2lkKiksIHZvaWQqIGNvbnRleHQpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgY2FuY2Vs
Q2FsbE9uTWFpblRocmVhZCh2b2lkICgqZnVuY3Rpb24pKHZvaWQqKSwgdm9pZCogY29udGV4dCk7
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmgJKHJldmlzaW9uIDE5NDMxNikKKysr
IFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5
LDE2ICs3OSw4IEBAIHR5cGVkZWYgdm9pZCAoKnhwY19jb25uZWN0aW9uX2hhbmRsZXJfdCkKICNp
bmNsdWRlIDx4cGMvcHJpdmF0ZS5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDkwCi0jZGVmaW5lIENPTlNUX09OX0lP
U19BTkRfT05fT1JfQUZURVJfTUFDX09TX1hfVkVSU0lPTl8xMDkwIGNvbnN0Ci0jZWxzZQotI2Rl
ZmluZSBDT05TVF9PTl9JT1NfQU5EX09OX09SX0FGVEVSX01BQ19PU19YX1ZFUlNJT05fMTA5MAot
I2VuZGlmCi0KLUVYVEVSTl9DIENPTlNUX09OX0lPU19BTkRfT05fT1JfQUZURVJfTUFDX09TX1hf
VkVSU0lPTl8xMDkwIHN0cnVjdCBfeHBjX2RpY3Rpb25hcnlfcyBfeHBjX2Vycm9yX2Nvbm5lY3Rp
b25faW52YWxpZDsKLUVYVEVSTl9DIENPTlNUX09OX0lPU19BTkRfT05fT1JfQUZURVJfTUFDX09T
X1hfVkVSU0lPTl8xMDkwIHN0cnVjdCBfeHBjX2RpY3Rpb25hcnlfcyBfeHBjX2Vycm9yX3Rlcm1p
bmF0aW9uX2ltbWluZW50OwotCi0jdW5kZWYgQ09OU1RfT05fSU9TX0FORF9PTl9PUl9BRlRFUl9N
QUNfT1NfWF9WRVJTSU9OXzEwOTAKK0VYVEVSTl9DIGNvbnN0IHN0cnVjdCBfeHBjX2RpY3Rpb25h
cnlfcyBfeHBjX2Vycm9yX2Nvbm5lY3Rpb25faW52YWxpZDsKK0VYVEVSTl9DIGNvbnN0IHN0cnVj
dCBfeHBjX2RpY3Rpb25hcnlfcyBfeHBjX2Vycm9yX3Rlcm1pbmF0aW9uX2ltbWluZW50OwogCiBF
WFRFUk5fQyBjb25zdCBzdHJ1Y3QgX3hwY190eXBlX3MgX3hwY190eXBlX2FycmF5OwogRVhURVJO
X0MgY29uc3Qgc3RydWN0IF94cGNfdHlwZV9zIF94cGNfdHlwZV9ib29sOwpAQCAtMTQwLDExICsx
MzIsOSBAQCBFWFRFUk5fQyB2b2lkIHhwY19jb25uZWN0aW9uX3NldF9pbnN0YW5jCiBFWFRFUk5f
QyBtYWNoX3BvcnRfdCB4cGNfZGljdGlvbmFyeV9jb3B5X21hY2hfc2VuZCh4cGNfb2JqZWN0X3Qs
IGNvbnN0IGNoYXIqKTsKIEVYVEVSTl9DIHZvaWQgeHBjX2RpY3Rpb25hcnlfc2V0X21hY2hfc2Vu
ZCh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqLCBtYWNoX3BvcnRfdCk7CiAKLSNpZiBQTEFURk9S
TShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiBFWFRF
Uk5fQyB2b2lkIHhwY19jb25uZWN0aW9uX3NldF9ib290c3RyYXAoeHBjX2Nvbm5lY3Rpb25fdCwg
eHBjX29iamVjdF90IGJvb3RzdHJhcCk7CiBFWFRFUk5fQyB4cGNfb2JqZWN0X3QgeHBjX2NvcHlf
Ym9vdHN0cmFwKHZvaWQpOwogRVhURVJOX0Mgdm9pZCB4cGNfY29ubmVjdGlvbl9zZXRfb25lc2hv
dF9pbnN0YW5jZSh4cGNfY29ubmVjdGlvbl90LCB1dWlkX3QgaW5zdGFuY2UpOwotI2VuZGlmCiAK
ICNpZiBPU19PQkpFQ1RfVVNFX09CSkNfUkVUQUlOX1JFTEVBU0UKICNpZiAhZGVmaW5lZCh4cGNf
cmV0YWluKQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTUtMTItMTkg
IERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJLaXQg
Y29udGFpbnMgZGVhZCBzb3VyY2UgY29kZSBmb3IgT1MgWCBNYXZlcmlja3MgYW5kIGVhcmxpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjQ2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVtb3Zl
ZCBidWlsZCBzZXR0aW5nIGRlZmluaXRpb25zIGZvciBPUyBYIDEwLjkgYW5kIGVhcmxpZXIsIGFu
ZCBzaW1wbGlmaWVkIGRlZmludGlvbnMKKyAgICAgICAgICB0aGF0IGJlY2FtZSB1bmlmb3JtIGFj
cm9zcyBhbGwgT1MgWCB2ZXJzaW9ucyBhcyBhIHJlc3VsdDoKKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9WZXJzaW9u
LnhjY29uZmlnOgorCisgICAgICAgIC0gUmVtb3ZlZCBzdXBwb3J0IGZvciBhbmltYXRpbmcgZGVm
YXVsdCBidXR0b25zOgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OlJlbmRlckJ1dHRvbik6IFJlbW92ZWQgbV9k
ZWZhdWx0IGluaXRpYWxpemF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9uOjpz
dHlsZURpZENoYW5nZSk6IFJlbW92ZWQgY2hlY2tpbmcgZm9yIGFuaW1hdGluZyBkZWZhdWx0IGJ1
dHRvbiBhbmQKKyAgICAgICAgICBzdGFydGluZyB0aGUgYW5pbWF0aW9uIHRpbWVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9uOjp0aW1lckZpcmVkKTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmg6IFJlbW92ZWQgbV90aW1lciBhbmQgbV9kZWZhdWx0
IG1lbWJlciB2YXJpYWJsZXMKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpkZWZhdWx0QnV0dG9uSGFzQW5pbWF0aW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDogRGVsZXRlZCBv
dmVycmlkZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZGVmYXVsdEJ1dHRvbkhhc0FuaW1hdGlvbik6IERl
bGV0ZWQuCisKKyAgICAgICAgLSBTaW1wbGlmaWVkIGV4cHJlc3Npb25zIGludm9sdmluZyBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIGFuZCByZW1vdmVkIGNvZGUgdGhhdCB3YXMKKyAg
ICAgICAgICBuZXZlciBnZXR0aW5nIGNvbXBpbGVkOgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICogZWRp
dGluZy9tYWMvRGljdGlvbmFyeUxvb2t1cC5oOgorICAgICAgICAqIGVkaXRpbmcvbWFjL0RpY3Rp
b25hcnlMb29rdXAubW06CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5j
cHA6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgICogbG9hZGVyL2NvY29hL0Rpc2tDYWNo
ZU1vbml0b3JDb2NvYS5oOgorICAgICAgICAqIHBhZ2UvY29jb2EvU2V0dGluZ3NDb2NvYS5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhc2NhZGVDb2NvYS5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMu
bW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmg6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGhlbWVNYWMubW06CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3Lm1t
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvQ29va2llSmFyQ0ZOZXQuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICog
cGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
b2NvYS9Db3JlVGV4dFNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU0J1dHRv
bkNlbGxTUEkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvTlNDb2xvclNQSS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg6CisgICAgICAgICog
cGxhdGZvcm0vc3BpL21hYy9Mb29rdXBTUEkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWFj
L05TRm9udFNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTlNJbW1lZGlhdGVBY3Rp
b25HZXN0dXJlUmVjb2duaXplclNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTlNQ
b3BvdmVyU1BJLmg6CisgICAgICAgICogcGxhdGZvcm0vc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNl
UGlja2VyU1BJLmg6CisgICAgICAgICogcGxhdGZvcm0vc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNl
U1BJLmg6CisgICAgICAgICogcGxhdGZvcm0vc3BpL21hYy9UVUNhbGxTUEkuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwOgorCiAyMDE1LTEyLTE4ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBDYWNoZSByZWRpcmVjdHMgYXMg
c2VwYXJhdGUgZW50cmllcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRGVi
dWdSZWxlYXNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw2IEBAIEFSQ0hTID0gJChBUkNIU19TVEFOREFSRF8zMl82NF9CSVQp
OwogT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUID0g
JChNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfJChQTEFURk9STV9OQU1FKV8kKFRBUkdFVF9NQUNf
T1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEw
OTAgPSAxMC45OwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4x
MDsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMTAwID0gMTAuMTE7CiBNQUNP
U1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwMTIwMCA9IDEwLjEyOwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMiArMzUsNyBAQCBF
TkFCTEVfM0RfVFJBTlNGT1JNUyA9IEVOQUJMRV8zRF9UUkFOU0ZPCiBFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTID0gOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR1tz
ZGs9aXBob25lKl0gPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCA9IEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQ7Ci1FTkFC
TEVfQVZGX0NBUFRJT05TW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9BVkZfQ0FQVElPTlM7Ci1FTkFC
TEVfQVZGX0NBUFRJT05TW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNv
c3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX0FWRl9DQVBUSU9O
U19tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9BVkZfQ0FQVElPTlNfbWFjb3N4XzEwMTAwMCA9IEVO
QUJMRV9BVkZfQ0FQVElPTlM7Ci1FTkFCTEVfQVZGX0NBUFRJT05TX21hY29zeF8xMDExMDAgPSBF
TkFCTEVfQVZGX0NBUFRJT05TOwotRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfMTAxMjAwID0g
RU5BQkxFX0FWRl9DQVBUSU9OUzsKK0VOQUJMRV9BVkZfQ0FQVElPTlMgPSBFTkFCTEVfQVZGX0NB
UFRJT05TOwogRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVf
Q0FOVkFTX1BST1hZID0gOwpAQCAtNzYsMTIgKzcxLDcgQEAgRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SID0gRU5BQkxFXwogRU5BQkxFX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfRU5DUllQVEVEX01FRElBOwogRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMltzZGs9
bWFjb3N4Kl0gPSBFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyOwogRU5BQkxFX0ZFVENIX0FQSSA9
IEVOQUJMRV9GRVRDSF9BUEk7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yW3Nkaz1pcGhvbmUqXSA9
IEVOQUJMRV9GSUxURVJTX0xFVkVMXzI7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yW3Nkaz1tYWNv
c3gqXSA9ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfMTA5MCA9IDsK
LUVOQUJMRV9GSUxURVJTX0xFVkVMXzJfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9GSUxURVJTX0xF
VkVMXzI7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yX21hY29zeF8xMDExMDAgPSBFTkFCTEVfRklM
VEVSU19MRVZFTF8yOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfMTAxMjAwID0gRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMjsKK0VOQUJMRV9GSUxURVJTX0xFVkVMXzIgPSBFTkFCTEVfRklM
VEVSU19MRVZFTF8yOwogRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMgPSA7CiBFTkFCTEVfRlVMTFND
UkVFTl9BUElbc2RrPW1hY29zeCpdID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dB
TUVQQURbc2RrPW1hY29zeCpdID0gRU5BQkxFX0dBTUVQQUQ7CkBAIC04OSwxMSArNzksNyBAQCBF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxF
X0dFT0xPQ0FUSU9OOwogRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORzsKIEVO
QUJMRV9JQ09OREFUQUJBU0Vbc2RrPW1hY29zeCpdID0gRU5BQkxFX0lDT05EQVRBQkFTRTsKLUVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTX21hY29zeF8xMDkwID0gOwotRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNf
bWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOwotRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFNfbWFjb3N4XzEwMTEwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOwotRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
OworRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNbc2RrPW1hY29zeCpdID0gRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFM7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyA9IDsKIEVOQUJMRV9JTkRJ
RV9VSSA9IEVOQUJMRV9JTkRJRV9VSTsKQEAgLTEwNiwxNiArOTIsMTAgQEAgRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEhbc2RrPWlwaG9uZSpdID0gRQogRU5BQkxFX0lOUFVUX1RZUEVfVElNRVtzZGs9
aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9USU1FOwogRU5BQkxFX0lOUFVUX1RZUEVfV0VF
S1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9XRUVLOwogCi1FTkFCTEVfSU5TUEVD
VE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUzsKLUVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BB
VENIRVJTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFU
Q0hFUlNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQotRU5BQkxFX0lO
U1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hfMTAxMDAwID0gRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9E
SVNQQVRDSEVSU19tYWNvc3hfMTAxMTAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlM7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hf
MTAxMjAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7CitFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUyA9IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTOwogCiBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUW3Nkaz1p
cGhvbmUqXSA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiBFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVF9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpCi1FTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUX21hY29zeF8xMDkwID0gOwogRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVF9tYWNvc3hfMTAxMDAwID0gOwogRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVF9tYWNvc3hfMTAxMTAwID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVDsKIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVRfbWFjb3N4XzEwMTIwMCA9IEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CkBAIC0xMjgsNyArMTA4LDYgQEAgRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UU19pb3NfV0lUSF9JTlRFUgogCiBFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTID0gOwogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU1tzZGs9bWFjb3N4Kl0gPSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05f
TUFKT1IpX1dJVEhfSU5URVJOQUxfU0RLXyQoVVNFX0lOVEVSTkFMX1NESykpOwotRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UU19tYWNvc3hfMTA5MF9XSVRIX0lOVEVSTkFMX1NES19ZRVMgPSA7CiBF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTX21hY29zeF8xMDEwMDBfV0lUSF9JTlRFUk5BTF9TREtf
WUVTID0gOwogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU19tYWNvc3hfMTAxMTAwX1dJVEhfSU5U
RVJOQUxfU0RLX1lFUyA9IEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFM7CiBFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTX21hY29zeF8xMDEyMDBfV0lUSF9JTlRFUk5BTF9TREtfWUVTID0gRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUzsKQEAgLTE0OCwxMSArMTI3LDcgQEAgRU5BQkxFX01BVEhNTCA9
IEVOQUJMRV9NQVRITUw7CiBFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUID0gRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVDsKIEVOQUJMRV9NRURJQV9TRVNTSU9OID0gOwogCi1FTkFCTEVf
TUVESUFfU09VUkNFW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hf
JChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX01FRElBX1NPVVJDRV9t
YWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4XzEwMTAwMCA9IEVOQUJM
RV9NRURJQV9TT1VSQ0U7Ci1FTkFCTEVfTUVESUFfU09VUkNFX21hY29zeF8xMDExMDAgPSBFTkFC
TEVfTUVESUFfU09VUkNFOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfMTAxMjAwID0gRU5B
QkxFX01FRElBX1NPVVJDRTsKK0VOQUJMRV9NRURJQV9TT1VSQ0Vbc2RrPW1hY29zeCpdID0gRU5B
QkxFX01FRElBX1NPVVJDRTsKIAogRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MgPSA7CiBFTkFCTEVf
TUVESUFfU1RSRUFNID0gRU5BQkxFX01FRElBX1NUUkVBTTsKQEAgLTE3MCwxMiArMTQ1LDcgQEAg
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCA9IEVOQUJMRV9QVUJMSQogRU5BQkxFX1FVT1RBID0g
OwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FOwogRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFID0gOwotRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1Jbc2RrPWlwaG9uZSpdID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7Ci1FTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUltzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21h
Y29zeF8xMDEwMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKLUVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SX21hY29zeF8xMDExMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKLUVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SX21hY29zeF8xMDEyMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsK
K0VOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiBFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIEVOQUJMRV9SVUJCRVJfQkFORElOR1tzZGs9
bWFjb3N4Kl0gPSBFTkFCTEVfUlVCQkVSX0JBTkRJTkc7CiBFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
ID0gRU5BQkxFX0NTU19TQ1JPTExfU05BUDsKQEAgLTE4NSwxMiArMTU1LDcgQEAgRU5BQkxFX1NV
QlRMRV9DUllQVE8gPSBFTkFCTEVfU1VCVExFX0NSWQogRU5BQkxFX1NWR19GT05UUyA9IEVOQUJM
RV9TVkdfRk9OVFM7CiBFTkFCTEVfU1ZHX09URl9DT05WRVJURVIgPSBFTkFCTEVfU1ZHX09URl9D
T05WRVJURVI7CiAKLUVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTltzZGs9aXBob25l
Kl0gPSBFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT047Ci1FTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT05bc2RrPW1hY29zeCpdID0gJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT05fbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTl9tYWNvc3hfMTAxMDAwID0gRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OOwotRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OX21h
Y29zeF8xMDExMDAgPSBFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT047Ci1FTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT05fbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTjsKK0VOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiA9
IEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTjsKIAogRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQgPSBFTkFCTEVfVEVNUExBVEVfRUxFTUVOVDsKIEVOQUJMRV9URVhUX0FVVE9TSVpJTkcg
PSA7CkBAIC0yMTksMTIgKzE4NCw3IEBAIEVOQUJMRV9XRUJfUkVQTEFZX21hY29zeF9EZWJ1ZyA9
IEVOQUJMRV8KIEVOQUJMRV9XRUJfUkVQTEFZX21hY29zeF9SZWxlYXNlID0gRU5BQkxFX1dFQl9S
RVBMQVk7CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CiAKLUVOQUJM
RV9XRUJfVElNSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9XRUJfVElNSU5HOwotRU5BQkxFX1dF
Ql9USU1JTkdbc2RrPW1hY29zeCpdID0gJChFTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX1dFQl9USU1JTkdfbWFjb3N4XzEw
OTAgPSA7Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMDAwID0gRU5BQkxFX1dFQl9USU1J
Tkc7Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMTAwID0gRU5BQkxFX1dFQl9USU1JTkc7
Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMjAwID0gRU5BQkxFX1dFQl9USU1JTkc7CitF
TkFCTEVfV0VCX1RJTUlORyA9IEVOQUJMRV9XRUJfVElNSU5HOwogCiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9WZXJzaW9u
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1Zl
cnNpb24ueGNjb25maWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYg
QEAgU0hPUlRfVkVSU0lPTl9TVFJJTkcgPSAkKFNIT1JUX1ZFUlNJT05fUwogLy8gVGhlIHN5c3Rl
bSB2ZXJzaW9uIHByZWZpeCBpcyBiYXNlZCBvbiB0aGUgY3VycmVudCBzeXN0ZW0gdmVyc2lvbi4K
IFNZU1RFTV9WRVJTSU9OX1BSRUZJWFtzZGs9aXBob25lKl0gPSA4OwogU1lTVEVNX1ZFUlNJT05f
UFJFRklYID0gJChTWVNURU1fVkVSU0lPTl9QUkVGSVhfJChQTEFURk9STV9OQU1FKV8kKFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1TWVNURU1fVkVSU0lPTl9QUkVGSVhfbWFjb3N4
XzEwOTAgPSA5OwogU1lTVEVNX1ZFUlNJT05fUFJFRklYX21hY29zeF8xMDEwMDAgPSAxMDsKIFNZ
U1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNvc3hfMTAxMTAwID0gMTE7CiBTWVNURU1fVkVSU0lPTl9Q
UkVGSVhfbWFjb3N4XzEwMTIwMCA9IDEyOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJNYWMubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDY3LDcgKzM0NjcsNyBAQCAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJmb3Jt
QWN0aW9uOihOU1N0CiAKIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVNldFZhbHVlOihpZCl2YWx1ZSBm
b3JBdHRyaWJ1dGU6KE5TU3RyaW5nKilhdHRyaWJ1dGVOYW1lCiB7Ci0jaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIFBMQVRG
T1JNKE1BQykKICAgICAvLyBJbiBjYXNlIGFueXRoaW5nIHdlIGRvIGJ5IGNoYW5naW5nIHZhbHVl
cyBjYXVzZXMgYW4gYWxlcnQgb3Igb3RoZXIgbW9kYWwKICAgICAvLyBiZWhhdmlvcnMsIHdlIG5l
ZWQgdG8gcmV0dXJuIG5vdywgc28gdGhhdCBWb2ljZU92ZXIgZG9lc24ndCBoYW5nIGluZGVmaW5p
dGVseS4KICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRGljdGlvbmFyeUxvb2t1cC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0RpY3Rpb25hcnlMb29rdXAuaAko
cmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRGljdGlvbmFy
eUxvb2t1cC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIE9CSkNfQ0xBU1MgTlNW
aWV3OwogT0JKQ19DTEFTUyBQREZTZWxlY3Rpb247CiAKIC8vIFRoaXMgZmlsZSBpcyBpbmNsdWRl
ZCBpbiBJbnRlcm5hbHMuY3BwLCBzbyB3ZSBjYW4ndCB1c2UgT2JqQyBvdXRyaWdodC4KLSNpZiBk
ZWZpbmVkKF9fT0JKQ19fKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTAwMAorI2lmIGRlZmluZWQoX19PQkpDX18pCiAjaW5jbHVkZSAiTlNJbW1lZGlhdGVBY3Rpb25H
ZXN0dXJlUmVjb2duaXplclNQSS5oIgogI2RlZmluZSBQbGF0Zm9ybUFuaW1hdGlvbkNvbnRyb2xs
ZXIgaWQ8TlNJbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9sbGVyPgogI2Vsc2UKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0RpY3Rpb25hcnlMb29rdXAubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRGljdGlvbmFyeUxvb2t1cC5tbQkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRGljdGlvbmFyeUxv
b2t1cC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIzLDEzICsyMjMsOSBAQCBzdGF0aWMgUGxhdGZv
cm1BbmltYXRpb25Db250cm9sbGVyIHNob3dQCiAgICAgICAgIGlmIChbZ2V0TFVMb29rdXBEZWZp
bml0aW9uTW9kdWxlQ2xhc3MoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNob3dEZWZp
bml0aW9uRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9uczopXSkgewogICAgICAg
ICAgICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyA9IHRleHRJbmRp
Y2F0b3IuZ2V0KCkudGV4dFJlY3RzSW5Cb3VuZGluZ1JlY3RDb29yZGluYXRlcygpWzBdOwogICAg
ICAgICAgICAgZmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzLm1vdmVCeSh0ZXh0SW5kaWNh
dG9yLmdldCgpLnRleHRCb3VuZGluZ1JlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKS5sb2NhdGlv
bigpKTsKLSAgICAgICAgICAgIGlmIChjcmVhdGVBbmltYXRpb25Db250cm9sbGVyKSB7Ci0jaWYg
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCisgICAgICAgICAgICBp
ZiAoY3JlYXRlQW5pbWF0aW9uQ29udHJvbGxlcikKICAgICAgICAgICAgICAgICByZXR1cm4gW2dl
dExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9uQ29udHJvbGxl
ckZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIHJlbGF0
aXZlVG9SZWN0OmZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyBvZlZpZXc6dmlldyBvcHRp
b25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKLSNlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG5pbDsKLSNlbmRpZgotICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBbZ2V0TFVMb29rdXBE
ZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBv
cHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIHJlbGF0aXZlVG9SZWN0OmZpcnN0VGV4dFJl
Y3RJblZpZXdDb29yZGluYXRlcyBvZlZpZXc6dmlldyBvcHRpb25zOm11dGFibGVPcHRpb25zLmdl
dCgpXTsKICAgICAgICAgICAgIHJldHVybiBuaWw7CiAgICAgICAgIH0KQEAgLTI0MSwxMyArMjM3
LDggQEAgc3RhdGljIFBsYXRmb3JtQW5pbWF0aW9uQ29udHJvbGxlciBzaG93UAogICAgIHRleHRC
YXNlbGluZU9yaWdpbiA9IFt2aWV3IGNvbnZlcnRQb2ludDp0ZXh0QmFzZWxpbmVPcmlnaW4gdG9W
aWV3Om5pbF07CiAgICAgdGV4dEJhc2VsaW5lT3JpZ2luID0gW3ZpZXcud2luZG93IGNvbnZlcnRS
ZWN0VG9TY3JlZW46TlNNYWtlUmVjdCh0ZXh0QmFzZWxpbmVPcmlnaW4ueCwgdGV4dEJhc2VsaW5l
T3JpZ2luLnksIDAsIDApXS5vcmlnaW47CiAKLSAgICBpZiAoY3JlYXRlQW5pbWF0aW9uQ29udHJv
bGxlcikgewotI2lmICBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAor
ICAgIGlmIChjcmVhdGVBbmltYXRpb25Db250cm9sbGVyKQogICAgICAgICByZXR1cm4gW2dldExV
TG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZv
clRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRp
b246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOwotI2Vs
c2UKLSAgICAgICAgcmV0dXJuIG5pbDsKLSNlbmRpZgotICAgIH0KIAogICAgIFtnZXRMVUxvb2t1
cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZpbml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5
UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVP
cmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CiAgICAgcmV0dXJuIG5pbDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuY3Bw
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERy
YXdCdWZmZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTUgKzQ2LDYgQEAgV2ViR0xFeHRl
bnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xEcmF3QgogICAgIHJldHVybiBXZWJHTEV4dGVuc2lv
bjo6V2ViR0xEcmF3QnVmZmVyc05hbWU7CiB9CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMDAwKQotCi1ib29sIFdlYkdMRHJhd0J1
ZmZlcnM6OnN1cHBvcnRlZChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKikKLXsKLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KLSNlbHNlCi0KIGJvb2wgV2ViR0xEcmF3QnVmZmVyczo6c3VwcG9ydGVk
KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqIGNvbnRleHQpCiB7CiAgICAgRXh0ZW5zaW9uczNE
KiBleHRlbnNpb25zID0gY29udGV4dC0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Z2V0RXh0ZW5zaW9u
cygpOwpAQCAtNjIsOCArNTMsNiBAQCBib29sIFdlYkdMRHJhd0J1ZmZlcnM6OnN1cHBvcnRlZChX
ZWJHTFJlCiAgICAgICAgICYmIHNhdGlzZmllc1dlYkdMUmVxdWlyZW1lbnRzKGNvbnRleHQpOwog
fQogCi0jZW5kaWYKLQogdm9pZCBXZWJHTERyYXdCdWZmZXJzOjpkcmF3QnVmZmVyc1dFQkdMKGNv
bnN0IFZlY3RvcjxHQzNEZW51bT4mIGJ1ZmZlcnMpCiB7CiAgICAgaWYgKG1fY29udGV4dC0+aXND
b250ZXh0TG9zdCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw2IEBAIHN0YXRpYyB2b2lkIHNl
dEFsbERlZmVyc0xvYWRpbmcoY29uc3QgUmUKICAgICAgICAgbG9hZGVyLT5zZXREZWZlcnNMb2Fk
aW5nKGRlZmVycyk7CiB9CiAKLSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogc3RhdGljIGJvb2wgYXJlQWxsTG9hZGVyc1BhZ2VD
YWNoZUFjY2VwdGFibGUoY29uc3QgUmVzb3VyY2VMb2FkZXJNYXAmIGxvYWRlcnMpCiB7CiAgICAg
VmVjdG9yPFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4+IGxvYWRlcnNDb3B5OwpAQCAtMTE3LDcgKzEx
Niw2IEBAIHN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2FjaGVBY2NlcHQKICAgICB9CiAg
ICAgcmV0dXJuIHRydWU7CiB9Ci0jZW5kaWYKIAogRG9jdW1lbnRMb2FkZXI6OkRvY3VtZW50TG9h
ZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vi
c3RpdHV0ZURhdGEpCiAgICAgOiBtX2RlZmVyTWFpblJlc291cmNlRGF0YUxvYWQodHJ1ZSkKQEAg
LTI4NywxMSArMjg1LDggQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcoKQogICAg
IC8vIGxvYWRpbmcgYnV0IHRoZXJlIGFyZSBzdWJyZXNvdXJjZSBsb2FkcyBkdXJpbmcgY2FuY2Vs
bGF0aW9uLiBUaGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgdGhlCiAgICAgLy8gZnJhbWUtPnN0b3BM
b2FkaW5nKCkgY2FsbCwgd2hpY2ggbWF5IGV2aWN0IHRoZSBDYWNoZWRSZXNvdXJjZXMsIHdoaWNo
IHdlIHJlbHkgb24gdG8gY2hlY2sKICAgICAvLyB0aGUgdHlwZSBvZiB0aGUgcmVzb3VyY2UgbG9h
ZHMuCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEwMDAKLSAgICAvLyBEaXNhYmxlZCBvbiBNYXZlcmlja3MgYmVjYXVzZSBpdCBzZWVt
cyB0byBjYXVzZSBpc3N1ZXMgKHJkYXI6Ly9wcm9ibGVtLzIyNTIxNTE0KS4KICAgICBpZiAobG9h
ZGluZyAmJiBtX2NvbW1pdHRlZCAmJiAhbWFpblJlc291cmNlTG9hZGVyKCkgJiYgIW1fc3VicmVz
b3VyY2VMb2FkZXJzLmlzRW1wdHkoKSkKICAgICAgICAgbV9zdWJyZXNvdXJjZUxvYWRlcnNBcmVQ
YWdlQ2FjaGVBY2NlcHRhYmxlID0gYXJlQWxsTG9hZGVyc1BhZ2VDYWNoZUFjY2VwdGFibGUobV9z
dWJyZXNvdXJjZUxvYWRlcnMpOwotI2VuZGlmCiAKICAgICBpZiAobV9jb21taXR0ZWQpIHsKICAg
ICAgICAgLy8gQXR0ZW1wdCB0byBzdG9wIHRoZSBmcmFtZSBpZiB0aGUgZG9jdW1lbnQgbG9hZGVy
IGlzIGxvYWRpbmcsIG9yIGlmIGl0IGlzIGRvbmUgbG9hZGluZyBidXQKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAJKHJldmlzaW9uIDE5NDMxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTAyLDcgKzEwMiw3IEBAIGJvb2wgQ2FjaGVkRm9udDo6ZW5zdXJlQ3VzdG9tRm9udERh
dGEoU2gKICAgICBpZiAoIW1fZm9udEN1c3RvbVBsYXRmb3JtRGF0YSAmJiAhZXJyb3JPY2N1cnJl
ZCgpICYmICFpc0xvYWRpbmcoKSAmJiBkYXRhKSB7CiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZm
ZXI+IGJ1ZmZlcihkYXRhKTsKIAotI2lmICghUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwOTApICYmICFQTEFURk9STShJT1MpCisjaWYgIVBMQVRG
T1JNKENPQ09BKQogICAgICAgICBpZiAoaXNXT0ZGKGJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAg
ICAgIFZlY3RvcjxjaGFyPiBjb252ZXJ0ZWRGb250OwogICAgICAgICAgICAgaWYgKCFjb252ZXJ0
V09GRlRvU2ZudChidWZmZXIuZ2V0KCksIGNvbnZlcnRlZEZvbnQpKQpJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NvY29hL0Rpc2tDYWNoZU1vbml0b3JDb2NvYS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jb2NvYS9EaXNrQ2FjaGVNb25pdG9yQ29jb2EuaAkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NvY29hL0Rpc2tDYWNoZU1v
bml0b3JDb2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxOSArNTUsNiBAQCBwcml2YXRlOgog
ICAgIFNlc3Npb25JRCBtX3Nlc3Npb25JRDsKIH07CiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDkwCi0KLWlubGluZSB2b2lkIERpc2tD
YWNoZU1vbml0b3I6Om1vbml0b3JGaWxlQmFja2luZ1N0b3JlQ3JlYXRpb24oY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgU2Vzc2lvbklELCBDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKQotewotfQotCi1p
bmxpbmUgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IERpc2tDYWNoZU1vbml0b3I6OnRyeUdldEZp
bGVCYWNrZWRTaGFyZWRCdWZmZXJGcm9tQ0ZVUkxDYWNoZWRSZXNwb25zZShDRkNhY2hlZFVSTFJl
c3BvbnNlUmVmKQotewotICAgIHJldHVybiBudWxscHRyOwotfQotCi0jZW5kaWYKLQogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBEaXNrQ2FjaGVNb25pdG9yQ29jb2FfaApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9TZXR0aW5nc0NvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvU2V0dGluZ3NDb2NvYS5tbQkocmV2aXNpb24g
MTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9TZXR0aW5nc0NvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC00MSwyMCArNDEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHNhbnNTZXJpZlRyYWRpdGlvbmFsSGFuRm9udEZhbWls
eSgpCiB7Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEwMDApIHx8IFBMQVRGT1JNKElPUykKICAgICByZXR1cm4gIlBpbmdGYW5nIFRD
IjsKLSNlbHNlCi0gICAgcmV0dXJuICJIZWl0aSBUQyI7Ci0jZW5kaWYKIH0KIAogc3RhdGljIGlu
bGluZSBjb25zdCBjaGFyKiBzYW5zU2VyaWZTaW1wbGlmaWVkSGFuRm9udEZhbWlseSgpCiB7Ci0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEwMDApIHx8IFBMQVRGT1JNKElPUykKICAgICByZXR1cm4gIlBpbmdGYW5nIFNDIjsKLSNlbHNl
Ci0gICAgcmV0dXJuICJIZWl0aSBTQyI7Ci0jZW5kaWYKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAkocmV2aXNpb24gMTk0MzE2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDc4LDcgKzQ3OCw3IEBAIGJvb2wgU2Nyb2xsYmFyOjpzdXBwb3J0c1VwZGF0ZU9uU2Vj
b25kYXIKIHsKICAgICAvLyBJdCdzIHVuZm9ydHVuYXRlIHRoYXQgdGhpcyBuZWVkcyB0byBiZSBk
b25lIHdpdGggYW4gaWZkZWYuIElkZWFsbHkgdGhlcmUgd291bGQgYmUgYSB3YXkgdG8gZmVhdHVy
ZS1kZXRlY3QKICAgICAvLyB0aGUgbmVjZXNzYXJ5IHN1cHBvcnQgd2l0aGluIEFwcEtpdC4KLSNp
ZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSAmJiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElO
RykgJiYgUExBVEZPUk0oTUFDKQogICAgIHJldHVybiAhbV9zY3JvbGxhYmxlQXJlYS5mb3JjZVVw
ZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3RpbmcoKQogICAgICAg
ICAmJiAobV9zY3JvbGxhYmxlQXJlYS5oYXNMYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyKCkgfHwg
bV9zY3JvbGxhYmxlQXJlYS5oYXNMYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSkKICAgICAg
ICAgJiYgbV9zY3JvbGxhYmxlQXJlYS51c2VzQXN5bmNTY3JvbGxpbmcoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lbW9yeVByZXNzdXJl
SGFuZGxlckNvY29hLm1tCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNjgsMTYgKzY4LDEyIEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpwbGF0Zm9ybVJl
bGUKICAgICB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBpZiAoY3JpdGljYWwgPT0gQ3JpdGljYWw6
OlllcyAmJiAhaXNVbmRlck1lbW9yeVByZXNzdXJlKCkpIHsKICAgICAgICAgLy8gbGliY2FjaGUg
bGlzdGVucyB0byBPUyBtZW1vcnkgbm90aWZpY2F0aW9ucywgYnV0IGZvciBwcm9jZXNzIHN1c3Bl
bnNpb24KICAgICAgICAgLy8gb3IgbWVtb3J5IHByZXNzdXJlIHNpbXVsYXRpb24sIHdlIG5lZWQg
dG8gcHJvZCBpdCBtYW51YWxseToKICAgICAgICAgUmVsaWVmTG9nZ2VyIGxvZygiUHVyZ2luZyBs
aWJjYWNoZSBjYWNoZXMiKTsKICAgICAgICAgY2FjaGVfc2ltdWxhdGVfbWVtb3J5X3dhcm5pbmdf
ZXZlbnQoRElTUEFUQ0hfTUVNT1JZUFJFU1NVUkVfQ1JJVElDQUwpOwogICAgIH0KLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGNyaXRpY2FsKTsKLSNlbmRpZgogfQogCiBzdGF0aWMgZGlzcGF0Y2hf
c291cmNlX3QgX2NhY2hlX2V2ZW50X3NvdXJjZSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50
RmlsdGVyLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDcgKzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvT1NPYmplY3RQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0VYVEVOU0lPTiBQTEFURk9STShJ
T1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMDAwICYmIENQVShYODZfNjQpKQorI2RlZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9O
IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgQ1BVKFg4Nl82NCkpCiAKIGVudW0g
TkVGaWx0ZXJTb3VyY2VTdGF0dXMgOiBOU0ludGVnZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgyLDcgKzY4Miw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzoKICAgICAgICAgaWYgKCFtX3ZpZGVvTGF5ZXIpCiAgICAg
ICAgICAgICBjcmVhdGVBVlBsYXllckxheWVyKCk7CiAKLSNpZiBVU0UoVklERU9UT09MQk9YKSAm
JiAoIWRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgfHwgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDApCisjaWYgVVNFKFZJREVPVE9PTEJPWCkK
ICAgICAgICAgaWYgKCFtX3ZpZGVvT3V0cHV0KQogICAgICAgICAgICAgY3JlYXRlVmlkZW9PdXRw
dXQoKTsKICNlbmRpZgpAQCAtMjIxNiw3ICsyMjE2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOgogICAgIGlmICghbV9hdlBsYXllckl0ZW0gfHwgbV92aWRlb091
dHB1dCkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgVVNFKFZJREVPVE9PTEJPWCkgJiYgKCFkZWZp
bmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpIHx8IF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwKQorI2lmIFVTRShWSURFT1RPT0xCT1gpCiAgICAgTlNE
aWN0aW9uYXJ5KiBhdHRyaWJ1dGVzID0gbmlsOwogI2Vsc2UKICAgICBOU0RpY3Rpb25hcnkqIGF0
dHJpYnV0ZXMgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6W05T
TnVtYmVyIG51bWJlcldpdGhVbnNpZ25lZEludDprQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBXSwg
a0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXksCkBAIC0yMjI5LDEwICsyMjI5LDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOgogCiAgICAgW21fYXZQbGF5
ZXJJdGVtLmdldCgpIGFkZE91dHB1dDptX3ZpZGVvT3V0cHV0LmdldCgpXTsKIAotI2lmIGRlZmlu
ZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTAwMAotICAgIHdhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdp
bGxDaGFuZ2UoKTsKLSNlbmRpZgotCiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlVmlkZW9PdXRwdXQoJXApIC0gcmV0dXJuaW5nICVwIiwg
dGhpcywgbV92aWRlb091dHB1dC5nZXQoKSk7CiB9CiAKQEAgLTIzNTMsMTAgKzIzNDksOCBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6CiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIG91dHB1dFJlY3QpCiB7Ci0jaWYgKCFk
ZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpIHx8IF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwKQogICAgIGlmIChtX3ZpZGVvT3V0cHV0ICYmICFt
X2xhc3RJbWFnZSAmJiAhdmlkZW9PdXRwdXRIYXNBdmFpbGFibGVGcmFtZSgpKQogICAgICAgICB3
YWl0Rm9yVmlkZW9PdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlKCk7Ci0jZW5kaWYKIAogICAgIHVw
ZGF0ZUxhc3RJbWFnZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbWFnZVNvdXJjZUNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcAkocmV2aXNpb24gMTk0MzE2KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM2OCw3ICszNjgsNyBAQCBDR0ltYWdlUmVmIEltYWdlU291cmNlOjpj
cmVhdGVGcmFtZUF0SW5kCiAgICAgaWYgKCFpbWFnZVVUSSkKICAgICAgICAgcmV0dXJuIGltYWdl
LmxlYWtSZWYoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKENGRXF1YWwo
aW1hZ2VVVEksIGtVVFR5cGVHSUYpKSB7CiAgICAgICAgIENHSW1hZ2VTZXRDYWNoaW5nRmxhZ3Mo
aW1hZ2UuZ2V0KCksIGtDR0ltYWdlQ2FjaGluZ1RyYW5zaWVudCk7CiAgICAgICAgIHJldHVybiBp
bWFnZS5sZWFrUmVmKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCShyZXZpc2lvbiAx
OTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMsNiBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgYXBwZW5kVHJ1ZVR5cGVGZWF0dXJlCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBh
cHBlbmRPcGVuVHlwZUZlYXR1cmUoQ0ZNdXRhYmxlQXJyYXlSZWYgZmVhdHVyZXMsIGNvbnN0IEZv
bnRGZWF0dXJlJiBmZWF0dXJlKQogewotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwKSB8fCBQTEFURk9STShJT1MpCiAgICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBmZWF0dXJlS2V5ID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdp
dGhCeXRlcyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByZWludGVycHJldF9jYXN0PGNvbnN0IFVJbnQ4
Kj4oZmVhdHVyZS50YWcoKS5kYXRhKCkpLCBmZWF0dXJlLnRhZygpLnNpemUoKSAqIHNpemVvZihG
b250RmVhdHVyZVRhZzo6dmFsdWVfdHlwZSksIGtDRlN0cmluZ0VuY29kaW5nQVNDSUksIGZhbHNl
KSk7CiAgICAgaW50IHJhd0ZlYXR1cmVWYWx1ZSA9IGZlYXR1cmUudmFsdWUoKTsKICAgICBSZXRh
aW5QdHI8Q0ZOdW1iZXJSZWY+IGZlYXR1cmVWYWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVySW50VHlwZSwgJnJhd0ZlYXR1cmVWYWx1ZSkp
OwpAQCAtMTQxLDEwICsxNDAsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwZW5kT3BlblR5cGVG
ZWF0dXJlCiAgICAgQ0ZUeXBlUmVmIGZlYXR1cmVEaWN0aW9uYXJ5VmFsdWVzW10gPSB7IGZlYXR1
cmVLZXkuZ2V0KCksIGZlYXR1cmVWYWx1ZS5nZXQoKSB9OwogICAgIFJldGFpblB0cjxDRkRpY3Rp
b25hcnlSZWY+IGZlYXR1cmVEaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgZmVhdHVyZURpY3Rpb25hcnlLZXlzLCBmZWF0dXJlRGljdGlv
bmFyeVZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSChmZWF0dXJlRGljdGlvbmFyeVZhbHVlcyksICZr
Q0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxs
QmFja3MpKTsKICAgICBDRkFycmF5QXBwZW5kVmFsdWUoZmVhdHVyZXMsIGZlYXR1cmVEaWN0aW9u
YXJ5LmdldCgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZlYXR1cmVzKTsKLSAgICBVTlVT
RURfUEFSQU0oZmVhdHVyZSk7Ci0jZW5kaWYKIH0KIAogdHlwZWRlZiBIYXNoTWFwPEZvbnRGZWF0
dXJlVGFnLCBpbnQsIEZvbnRGZWF0dXJlVGFnSGFzaCwgRm9udEZlYXR1cmVUYWdIYXNoVHJhaXRz
PiBGZWF0dXJlc01hcDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYXNjYWRlQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhc2NhZGVDb2NvYS5tbQkocmV2aXNpb24gMTk0MzE2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhc2NhZGVD
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTkxLDE3ICs1OTEsOCBAQCBEYXNoQXJyYXkgRm9u
dENhc2NhZGU6OmRhc2hlc0ZvckludGVyc2VjCiAKIGJvb2wgRm9udENhc2NhZGU6OnByaW1hcnlG
b250SXNTeXN0ZW1Gb250KCkgY29uc3QKIHsKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDkwCiAgICAgY29uc3QgYXV0byYgZm9udERhdGEg
PSBwcmltYXJ5Rm9udCgpOwogICAgIHJldHVybiAhZm9udERhdGEuaXNTVkdGb250KCkgJiYgQ1RG
b250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KGFkb3B0Q0YoQ1RGb250Q29weUZvbnREZXNjcmlw
dG9yKGZvbnREYXRhLnBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpKSkuZ2V0KCkpOwotI2Vsc2UKLSAg
ICBjb25zdCBTdHJpbmcmIGZpcnN0RmFtaWx5ID0gdGhpcy0+Zmlyc3RGYW1pbHkoKTsKLSAgICBy
ZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShmaXJzdEZhbWlseSwgIi13ZWJraXQtc3lzdGVt
LWZvbnQiKQotICAgICAgICB8fCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGZpcnN0RmFtaWx5LCAi
LWFwcGxlLXN5c3RlbS1mb250IikKLSAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShm
aXJzdEZhbWlseSwgIi1hcHBsZS1zeXN0ZW0iKQotICAgICAgICB8fCBlcXVhbElnbm9yaW5nQVND
SUlDYXNlKGZpcnN0RmFtaWx5LCAiLWFwcGxlLW1lbnUiKQotICAgICAgICB8fCBlcXVhbElnbm9y
aW5nQVNDSUlDYXNlKGZpcnN0RmFtaWx5LCAiLWFwcGxlLXN0YXR1cy1iYXIiKTsKLSNlbmRpZgog
fQogCiB2b2lkIEZvbnRDYXNjYWRlOjphZGp1c3RTZWxlY3Rpb25SZWN0Rm9yQ29tcGxleFRleHQo
Y29uc3QgVGV4dFJ1biYgcnVuLCBMYXlvdXRSZWN0JiBzZWxlY3Rpb25SZWN0LCBpbnQgZnJvbSwg
aW50IHRvKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQkocmV2aXNpb24gMTk0
MzE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29u
dGV4dDNETWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MywxNSArNjMsMTEgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0jZGVmaW5lIFVTRV9HUFVfU1RBVFVTX0NIRUNLICgoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMCkgfHwgUExB
VEZPUk0oSU9TKSkKLQogY29uc3QgaW50IG1heEFjdGl2ZUNvbnRleHRzID0gNjQ7CiBpbnQgR3Jh
cGhpY3NDb250ZXh0M0Q6Om51bUFjdGl2ZUNvbnRleHRzID0gMDsKLSNpZiBVU0VfR1BVX1NUQVRV
U19DSEVDSwogY29uc3QgaW50IEdQVVN0YXR1c0NoZWNrVGhyZXNob2xkID0gNTsKIGludCBHcmFw
aGljc0NvbnRleHQzRDo6R1BVQ2hlY2tDb3VudGVyID0gMDsKLSNlbmRpZgotICAgIAorCiAvLyBG
SVhNRTogVGhpcyBjbGFzcyBpcyBjdXJyZW50bHkgZW1wdHkgb24gTWFjLCBidXQgd2lsbCBnZXQg
cG9wdWxhdGVkIGFzIAogLy8gdGhlIHJlc3RydWN0dXJpbmcgaW4gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTAzIGlzIGRvbmUKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZSB7CkBAIC0yMDUsMTQgKzIwMSwxMiBAQCBHcmFwaGljc0NvbnRleHQzRDo6R3Jh
cGhpY3NDb250ZXh0M0QoR3JhCiAgICAgICAgIHJldHVybjsKIAogICAgIENHTEVycm9yIGVyciA9
IENHTENyZWF0ZUNvbnRleHQocGl4ZWxGb3JtYXRPYmosIDAsICZtX2NvbnRleHRPYmopOwotI2lm
IFVTRV9HUFVfU1RBVFVTX0NIRUNLCiAgICAgR0xpbnQgYWJvcnRPbkJsYWNrbGlzdCA9IDA7CiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIENHTFNldFBhcmFtZXRlcihtX2NvbnRleHRPYmosIGtDR0xD
UEFib3J0T25HUFVSZXN0YXJ0U3RhdHVzQmxhY2tsaXN0ZWQsICZhYm9ydE9uQmxhY2tsaXN0KTsK
ICNlbGlmIFBMQVRGT1JNKElPUykKICAgICBDR0xTZXRQYXJhbWV0ZXIobV9jb250ZXh0T2JqLCBr
RUFHTENQQWJvcnRPbkdQVVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25CbGFja2xp
c3QpOwogI2VuZGlmCi0jZW5kaWYKIAogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChwaXhlbEZv
cm1hdE9iaik7CiAgICAgCkBAIC0zNzMsNyArMzY3LDYgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQz
RDo6bWFrZUNvbnRleHRDdXJyZQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjaGVja0dQVVN0
YXR1c0lmTmVjZXNzYXJ5KCkKIHsKLSNpZiBVU0VfR1BVX1NUQVRVU19DSEVDSwogICAgIGJvb2wg
bmVlZHNDaGVjayA9ICFHUFVDaGVja0NvdW50ZXI7CiAgICAgR1BVQ2hlY2tDb3VudGVyID0gKEdQ
VUNoZWNrQ291bnRlciArIDEpICUgR1BVU3RhdHVzQ2hlY2tUaHJlc2hvbGQ7CiAKQEAgLTM5Nyw3
ICszOTAsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjaGVja0dQVVN0YXR1c0lmCiAgICAg
ICAgIFtFQUdMQ29udGV4dCBzZXRDdXJyZW50Q29udGV4dDowXTsKICAgICB9CiAjZW5kaWYKLSNl
bmRpZgogfQogCiAjaWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgJKHJldmlzaW9uIDE5NDMxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw5ICs2Myw3IEBAIEBpbnRlcmZhY2UgTlNPYmplY3QgKFNjcm9s
bGJhclBhaW50ZXIpCiAtICh2b2lkKW1vdXNlRW50ZXJlZFNjcm9sbGVyOwogLSAodm9pZCltb3Vz
ZUV4aXRlZFNjcm9sbGVyOwogLSAodm9pZClzZXRUcmFja2luZzooQk9PTCl0cmFja2luZzsKLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogLSAodm9pZClzZXRO
ZWVkc0Rpc3BsYXk6KEJPT0wpZmxhZzsKLSNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TT2Jq
ZWN0IChTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHJldmlzaW9uIDE5NDMxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTAyNSwxNyArMTAyNSwxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFj
Ojp3aWxsUmVtb3ZlSG9yaXpvCiAgICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIgc2V0
SG9yaXpvbnRhbFNjcm9sbGVySW1wOm5pbF07CiB9CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTAwMAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6aW52YWxpZGF0
ZVNjcm9sbGJhclBhcnRMYXllcnMoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB7CiAgICAgU2Nyb2xs
YmFyUGFpbnRlciBwYWludGVyID0gc2Nyb2xsYmFyUGFpbnRlckZvclNjcm9sbGJhcigqc2Nyb2xs
YmFyKTsKICAgICBbcGFpbnRlciBzZXROZWVkc0Rpc3BsYXk6WUVTXTsKIH0KLSNlbHNlCi12b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjppbnZhbGlkYXRlU2Nyb2xsYmFyUGFydExheWVycyhTY3JvbGxi
YXIqKQotewotfQotI2VuZGlmCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXJEaWRDaGFuZ2UoKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbFZpZXdNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbFZpZXdNYWMubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwx
MiArMzgsNiBAQCBAaW50ZXJmYWNlIE5TU2Nyb2xsVmlldyAoKQogLSAoTlNFZGdlSW5zZXRzKWNv
bnRlbnRJbnNldHM7CiBAZW5kCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgMTAxMDAwCi1AaW50ZXJmYWNlIE5TU2Nyb2xsVmlldyAoV2ViRGV0YWlscykKLUBwcm9wZXJ0
eSBCT09MIGF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czsKLUBlbmQKLSNlbmRpZgot
CiBAaW50ZXJmYWNlIE5TV2luZG93IChXZWJXaW5kb3dEZXRhaWxzKQogLSAoQk9PTClfbmVlZHNU
b1Jlc2V0RHJhZ01hcmdpbnM7CiAtICh2b2lkKV9zZXROZWVkc1RvUmVzZXREcmFnTWFyZ2luczoo
Qk9PTCluZWVkczsKQEAgLTExNyw5ICsxMTEsNyBAQCBib29sIFNjcm9sbFZpZXc6OnBsYXRmb3Jt
Q2FuQmxpdE9uU2Nyb2xsCiBmbG9hdCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVRvcENvbnRlbnRJbnNl
dCgpIGNvbnN0CiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgcmV0dXJuIHNjcm9sbFZp
ZXcoKS5jb250ZW50SW5zZXRzLnRvcDsKLSNlbmRpZgogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQ
VElPTlM7CiAKICAgICByZXR1cm4gMDsKQEAgLTEyOCw3ICsxMjAsNiBAQCBmbG9hdCBTY3JvbGxW
aWV3OjpwbGF0Zm9ybVRvcENvbnRlbnRJbnNlCiB2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0
VG9wQ29udGVudEluc2V0KGZsb2F0IHRvcENvbnRlbnRJbnNldCkKIHsKICAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEwMDAKICAgICBpZiAodG9wQ29udGVudEluc2V0KQogICAgICAgICBzY3JvbGxWaWV3KCku
YXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5zZXRzID0gTk87CiAgICAgZWxzZQpAQCAtMTM3
LDkgKzEyOCw2IEBAIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRUb3BDb250ZW50SW4KICAg
ICBOU0VkZ2VJbnNldHMgY29udGVudEluc2V0cyA9IHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRz
OwogICAgIGNvbnRlbnRJbnNldHMudG9wID0gdG9wQ29udGVudEluc2V0OwogICAgIHNjcm9sbFZp
ZXcoKS5jb250ZW50SW5zZXRzID0gY29udGVudEluc2V0czsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKHRvcENvbnRlbnRJbnNldCk7Ci0jZW5kaWYKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwogfQogCkBAIC0xNDgsMTAgKzEzNiw4IEBAIEludFJlY3QgU2Nyb2xsVmlldzo6cGxhdGZv
cm1WaXNpYmxlQ29udGUKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgSW50
UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSBwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1
ZGluZ09ic2N1cmVkQXJlYShpbmNsdWRlU2Nyb2xsYmFycyk7CiAKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIHZpc2libGVDb250ZW50UmVjdC5tb3Zl
KHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLmxlZnQsIHNjcm9sbFZpZXcoKS5jb250ZW50SW5z
ZXRzLnRvcCk7CiAgICAgdmlzaWJsZUNvbnRlbnRSZWN0LmNvbnRyYWN0KHNjcm9sbFZpZXcoKS5j
b250ZW50SW5zZXRzLmxlZnQgKyBzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy5yaWdodCwgc2Ny
b2xsVmlldygpLmNvbnRlbnRJbnNldHMudG9wICsgc2Nyb2xsVmlldygpLmNvbnRlbnRJbnNldHMu
Ym90dG9tKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIHZpc2libGVDb250ZW50UmVjdDsKICAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwpAQCAtMjA5LDEyICsxOTUsMTAgQEAgdm9pZCBTY3Jv
bGxWaWV3OjpwbGF0Zm9ybVNldFNjcm9sbFBvc2l0aQogICAgIE5TUG9pbnQgZmxvYXRQb2ludCA9
IHNjcm9sbFBvaW50OwogICAgIE5TUG9pbnQgdGVtcFBvaW50ID0geyBzdGQ6Om1heCgtW3Njcm9s
bFZpZXcoKSBzY3JvbGxPcmlnaW5dLngsIGZsb2F0UG9pbnQueCksIHN0ZDo6bWF4KC1bc2Nyb2xs
VmlldygpIHNjcm9sbE9yaWdpbl0ueSwgZmxvYXRQb2ludC55KSB9OyAgLy8gRG9uJ3QgdXNlIE5T
TWFrZVBvaW50IHRvIHdvcmsgYXJvdW5kIDQyMTMzMTQuCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIC8vIEFwcEtpdCBoYXMgdGhlIGluc2V0IGZh
Y3RvcmVkIGludG8gYWxsIG9mIGl0cyBzY3JvbGwgcG9zaXRpb25zLiBJbiBXZWJDb3JlLCB3ZSB1
c2UgcG9zaXRpb25zIHRoYXQgaWdub3JlCiAgICAgLy8gdGhlIGluc2V0cyBzbyB0aGF0IHRoZXkg
YXJlIGVxdWl2YWxlbnQgd2hldGhlciBvciBub3QgdGhlcmUgaXMgYW4gaW5zZXQuCiAgICAgdGVt
cFBvaW50LnggPSB0ZW1wUG9pbnQueCAtIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLmxlZnQ7
CiAgICAgdGVtcFBvaW50LnkgPSB0ZW1wUG9pbnQueSAtIHNjcm9sbFZpZXcoKS5jb250ZW50SW5z
ZXRzLnRvcDsKLSNlbmRpZgogCiAgICAgW2RvY3VtZW50VmlldygpIHNjcm9sbFBvaW50OnRlbXBQ
b2ludF07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0JKHJldmlzaW9uIDE5
NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVN
YWM6OnNldFBhaW50Q2hhcmFjdGUKICAgICBbcGFpbnRlciBzZXRFbmFibGVkOnNjcm9sbGJhci5l
bmFibGVkKCldOwogICAgIFtwYWludGVyIHNldEJvdW5kc1NpemU6c2Nyb2xsYmFyLmZyYW1lUmVj
dCgpLnNpemUoKV07CiAgICAgW3BhaW50ZXIgc2V0RG91YmxlVmFsdWU6dmFsdWVdOwotI2lmIEVO
QUJMRShBU1lOQ19TQ1JPTExJTkcpICYmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSAm
JiBQTEFURk9STShNQUMpCiAgICAgW3BhaW50ZXIgc2V0UHJlc2VudGF0aW9uVmFsdWU6dmFsdWVd
OwogI2VuZGlmCiAgICAgW3BhaW50ZXIgc2V0S25vYlByb3BvcnRpb246cHJvcG9ydGlvbl07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLm1tCShyZXZpc2lvbiAxOTQz
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTE4NiwxMCArMTg2LDYgQEAgc3RhdGljIHZvaWQgc2V0Q29udHJvbFNpemUoTlND
ZWxsKiBjZWxsLAogCiBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0ZXMoTlNDZWxsKiBjZWxsLCBjb25z
dCBDb250cm9sU3RhdGVzJiBjb250cm9sU3RhdGVzLCBib29sIHVzZUFuaW1hdGlvbiA9IGZhbHNl
KQogewotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEwMDAKLSAgICBV
TlVTRURfUEFSQU0odXNlQW5pbWF0aW9uKTsKLSNlbmRpZgotCiAgICAgLy8gVGhlIGFuaW1hdGVk
IHN0YXRlIGNhdXNlIHRoaXMgdGhyZWFkIHRvIHN0YXJ0IGFuZCBzdG9wIHJlcGVhdGVkbHkgb24g
Q29yZUFuaW1hdGlvbiBzeW5jaHJvbml6ZSBjYWxscy4KICAgICAvLyBUaGlzIHNob3J0IGJ1cnRz
IG9mIGFjdGl2aXR5IGluIGJldHdlZW4gYXJlIG5vdCBsb25nIGVub3VnaCBmb3IgVm9pY2VPdmVy
IHRvIHJldHJpZXZlIGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlcyBhbmQgbWFrZXMgdGhlIHByb2Nl
c3MgYXBwZWFyIHVucmVzcG9uc2l2ZS4KICAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJp
bGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQoKSkKQEAgLTIwMywxMSArMTk5LDcgQEAg
c3RhdGljIHZvaWQgdXBkYXRlU3RhdGVzKE5TQ2VsbCogY2VsbCwgYwogICAgIGJvb2wgb2xkUHJl
c3NlZCA9IFtjZWxsIGlzSGlnaGxpZ2h0ZWRdOwogICAgIGJvb2wgcHJlc3NlZCA9IHN0YXRlcyAm
IENvbnRyb2xTdGF0ZXM6OlByZXNzZWRTdGF0ZTsKICAgICBpZiAocHJlc3NlZCAhPSBvbGRQcmVz
c2VkKSB7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAg
ICAgICAgWyhOU0J1dHRvbkNlbGwqKWNlbGwgX3NldEhpZ2hsaWdodGVkOnByZXNzZWQgYW5pbWF0
ZWQ6dXNlQW5pbWF0aW9uXTsKLSNlbHNlCi0gICAgICAgIFtjZWxsIHNldEhpZ2hsaWdodGVkOnBy
ZXNzZWRdOwotI2VuZGlmCiAgICAgfQogICAgIAogICAgIC8vIEVuYWJsZWQgc3RhdGUKQEAgLTIy
MywxMSArMjE1LDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlU3RhdGVzKE5TQ2VsbCogY2VsbCwgYwog
ICAgIGJvb2wgb2xkQ2hlY2tlZCA9IFtjZWxsIHN0YXRlXSA9PSBOU09uU3RhdGU7CiAgICAgaWYg
KG9sZEluZGV0ZXJtaW5hdGUgIT0gaW5kZXRlcm1pbmF0ZSB8fCBjaGVja2VkICE9IG9sZENoZWNr
ZWQpIHsKICAgICAgICAgTlNDZWxsU3RhdGVWYWx1ZSBuZXdTdGF0ZSA9IGluZGV0ZXJtaW5hdGUg
PyBOU01peGVkU3RhdGUgOiAoY2hlY2tlZCA/IE5TT25TdGF0ZSA6IE5TT2ZmU3RhdGUpOwotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgICAgIFsoTlNC
dXR0b25DZWxsKiljZWxsIF9zZXRTdGF0ZTpuZXdTdGF0ZSBhbmltYXRlZDp1c2VBbmltYXRpb25d
OwotI2Vsc2UKLSAgICAgICAgW2NlbGwgc2V0U3RhdGU6bmV3U3RhdGVdOwotI2VuZGlmCiAgICAg
fQogCiAgICAgLy8gV2luZG93IGluYWN0aXZlIHN0YXRlIGRvZXMgbm90IG5lZWQgdG8gYmUgY2hl
Y2tlZCBleHBsaWNpdGx5LCBzaW5jZSB3ZSBwYWludCBwYXJlbnRlZCB0byAKQEAgLTQxOSwxNyAr
NDA3LDEyIEBAIHN0YXRpYyB2b2lkIHBhaW50VG9nZ2xlQnV0dG9uKENvbnRyb2xQYXIKIAogICAg
IExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQoY29udGV4dCk7CiAKLSAg
ICBib29sIHVzZVVucGFyZW50ZWRWaWV3ID0gZmFsc2U7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKLSAgICB1c2VVbnBhcmVudGVkVmlldyA9IHRydWU7Ci0j
ZW5kaWYKLSAgICBOU1ZpZXcgKnZpZXcgPSBUaGVtZU1hYzo6ZW5zdXJlZFZpZXcoc2Nyb2xsVmll
dywgY29udHJvbFN0YXRlcywgdXNlVW5wYXJlbnRlZFZpZXcpOworICAgIE5TVmlldyAqdmlldyA9
IFRoZW1lTWFjOjplbnN1cmVkVmlldyhzY3JvbGxWaWV3LCBjb250cm9sU3RhdGVzLCB0cnVlIC8q
IHVzZVVucGFyZW50ZWRWaWV3ICovKTsKIAogICAgIGJvb2wgbmVlZHNSZXBhaW50ID0gZmFsc2U7
CiAgICAgYm9vbCB1c2VJbWFnZUJ1ZmZlciA9IHBhZ2VTY2FsZUZhY3RvciAhPSAxLjBmIHx8IHpv
b21GYWN0b3IgIT0gMS4wZjsKICAgICBib29sIGlzQ2VsbEZvY3VzZWQgPSBjb250cm9sU3RhdGVz
LnN0YXRlcygpICYgQ29udHJvbFN0YXRlczo6Rm9jdXNTdGF0ZTsKIAotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgaWYgKFt0b2dnbGVCdXR0b25DZWxs
IF9zdGF0ZUFuaW1hdGlvblJ1bm5pbmddKSB7CiAgICAgICAgIGNvbnRleHQudHJhbnNsYXRlKGlu
ZmxhdGVkUmVjdC54KCksIGluZmxhdGVkUmVjdC55KCkpOwogICAgICAgICBjb250ZXh0LnNjYWxl
KEZsb2F0U2l6ZSgxLCAtMSkpOwpAQCAtNDQwLDE1ICs0MjMsMTAgQEAgc3RhdGljIHZvaWQgcGFp
bnRUb2dnbGVCdXR0b24oQ29udHJvbFBhcgogICAgICAgICAgICAgbmVlZHNSZXBhaW50ID0gVGhl
bWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9Db250ZXh0KHRvZ2dsZUJ1dHRv
bkNlbGwuZ2V0KCksIGNvbnRleHQsIGluZmxhdGVkUmVjdCwgdmlldywgZmFsc2UsIHRydWUsIHVz
ZUltYWdlQnVmZmVyLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgfSBlbHNlCiAgICAgICAgIG5l
ZWRzUmVwYWludCA9IFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdJbnRvQ29u
dGV4dCh0b2dnbGVCdXR0b25DZWxsLmdldCgpLCBjb250ZXh0LCBpbmZsYXRlZFJlY3QsIHZpZXcs
IHRydWUsIGlzQ2VsbEZvY3VzZWQsIHVzZUltYWdlQnVmZmVyLCBkZXZpY2VTY2FsZUZhY3Rvcik7
Ci0jZWxzZQotICAgIG5lZWRzUmVwYWludCA9IFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5n
V2l0aFZpZXdJbnRvQ29udGV4dCh0b2dnbGVCdXR0b25DZWxsLmdldCgpLCBjb250ZXh0LCBpbmZs
YXRlZFJlY3QsIHZpZXcsIHRydWUsIGlzQ2VsbEZvY3VzZWQsIHVzZUltYWdlQnVmZmVyLCBkZXZp
Y2VTY2FsZUZhY3Rvcik7Ci0jZW5kaWYKIAogICAgIFt0b2dnbGVCdXR0b25DZWxsIHNldENvbnRy
b2xWaWV3Om5pbF07CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTAwMAogICAgIG5lZWRzUmVwYWludCB8PSBbdG9nZ2xlQnV0dG9uQ2VsbCBfc3RhdGVBbmltYXRp
b25SdW5uaW5nXTsKLSNlbmRpZgogICAgIGNvbnRyb2xTdGF0ZXMuc2V0TmVlZHNSZXBhaW50KG5l
ZWRzUmVwYWludCk7CiAgICAgaWYgKG5lZWRzUmVwYWludCkKICAgICAgICAgY29udHJvbFN0YXRl
cy5zZXRQbGF0Zm9ybUNvbnRyb2wodG9nZ2xlQnV0dG9uQ2VsbC5nZXQoKSk7CkBAIC01NjEsMTIg
KzUzOSw5IEBAIHN0YXRpYyB2b2lkIHBhaW50QnV0dG9uKENvbnRyb2xQYXJ0IHBhcnQKIAogICAg
IGJvb2wgdXNlSW1hZ2VCdWZmZXIgPSBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZiB8fCB6b29tRmFj
dG9yICE9IDEuMGY7CiAgICAgYm9vbCBuZWVkc1JlcGFpbnQgPSBUaGVtZU1hYzo6ZHJhd0NlbGxP
ckZvY3VzUmluZ1dpdGhWaWV3SW50b0NvbnRleHQoYnV0dG9uQ2VsbCwgY29udGV4dCwgaW5mbGF0
ZWRSZWN0LCB2aWV3LCB0cnVlLCBzdGF0ZXMgJiBDb250cm9sU3RhdGVzOjpGb2N1c1N0YXRlLCB1
c2VJbWFnZUJ1ZmZlciwgZGV2aWNlU2NhbGVGYWN0b3IpOwotICAgIGlmIChzdGF0ZXMgJiBDb250
cm9sU3RhdGVzOjpEZWZhdWx0U3RhdGUpIHsKKyAgICBpZiAoc3RhdGVzICYgQ29udHJvbFN0YXRl
czo6RGVmYXVsdFN0YXRlKQogICAgICAgICBbd2luZG93IHNldERlZmF1bHRCdXR0b25DZWxsOmJ1
dHRvbkNlbGxdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEwMDAK
LSAgICAgICAgd2tBZHZhbmNlRGVmYXVsdEJ1dHRvblB1bHNlQW5pbWF0aW9uKGJ1dHRvbkNlbGwp
OwotI2VuZGlmCi0gICAgfSBlbHNlIGlmIChbcHJldmlvdXNEZWZhdWx0QnV0dG9uQ2VsbCBpc0Vx
dWFsOmJ1dHRvbkNlbGxdKQorICAgIGVsc2UgaWYgKFtwcmV2aW91c0RlZmF1bHRCdXR0b25DZWxs
IGlzRXF1YWw6YnV0dG9uQ2VsbF0pCiAgICAgICAgIFt3aW5kb3cgc2V0RGVmYXVsdEJ1dHRvbkNl
bGw6bmlsXTsKICAgICAKICAgICBjb250cm9sU3RhdGVzLnNldE5lZWRzUmVwYWludChuZWVkc1Jl
cGFpbnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2Ny
ZWVuUGxhY2Vob2xkZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3LmgJKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlblBsYWNl
aG9sZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMiArMzEsOCBAQAogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogCiBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIFdlYkNvcmVGdWxs
U2NyZWVuUGxhY2Vob2xkZXJWaWV3IDogTlNWaWV3IHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIFJldGFpblB0cjxOU1Zpc3VhbEVmZmVjdFZpZXc+
IF9lZmZlY3RWaWV3OwogICAgIFJldGFpblB0cjxOU1RleHRGaWVsZD4gX2V4aXRXYXJuaW5nOwot
I2Vsc2UKLSAgICBSZXRhaW5QdHI8TlNWaWV3PiBfZXhpdFdhcm5pbmc7Ci0jZW5kaWYKICAgICBO
U09iamVjdCogX3RhcmdldDsKICAgICBTRUwgX2FjdGlvbjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5Q
bGFjZWhvbGRlclZpZXcubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNDUsNyArNDUsNiBAQCAtIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWVS
ZWN0CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0jaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBzZWxmLndhbnRzTGF5ZXIgPSBZ
RVM7CiAgICAgc2VsZi5hdXRvcmVzaXplc1N1YnZpZXdzID0gWUVTOwogICAgIHNlbGYubGF5ZXJD
b250ZW50c1BsYWNlbWVudCA9IE5TVmlld0xheWVyQ29udGVudHNQbGFjZW1lbnRTY2FsZVByb3Bv
cnRpb25hbGx5VG9GaXQ7CkBAIC03NiwxOCArNzUsNiBAQCAtIChpZClpbml0V2l0aEZyYW1lOihO
U1JlY3QpZnJhbWVSZWN0CiAgICAgd2FybmluZ0ZyYW1lLm9yaWdpbiA9IE5TTWFrZVBvaW50KChm
cmFtZVJlY3Quc2l6ZS53aWR0aCAtIHdhcm5pbmdGcmFtZS5zaXplLndpZHRoKSAvIDIsIGZyYW1l
UmVjdC5zaXplLmhlaWdodCAvIDIpOwogICAgIF9leGl0V2FybmluZy5nZXQoKS5mcmFtZSA9IHdh
cm5pbmdGcmFtZTsKICAgICBbX2VmZmVjdFZpZXcgYWRkU3VidmlldzpfZXhpdFdhcm5pbmcuZ2V0
KCldOwotI2Vsc2UKLSAgICBbc2VsZiBzZXRMYXllcjpbQ0FMYXllciBsYXllcl1dOwotICAgIFtz
ZWxmIHNldExheWVyQ29udGVudHNSZWRyYXdQb2xpY3k6TlNWaWV3TGF5ZXJDb250ZW50c1JlZHJh
d05ldmVyXTsKLSAgICBbc2VsZiBzZXRXYW50c0xheWVyOllFU107Ci0KLSAgICBfZXhpdFdhcm5p
bmcgPSBhZG9wdE5TKFtbV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBhbGxvY10gaW5pdFdp
dGhUaXRsZTpjbGlja1RvRXhpdEZ1bGxTY3JlZW5UZXh0KCldKTsKLSAgICBOU1JlY3Qgd2Fybmlu
Z0ZyYW1lID0gW19leGl0V2FybmluZy5nZXQoKSBmcmFtZV07Ci0gICAgd2FybmluZ0ZyYW1lLm9y
aWdpbiA9IE5TTWFrZVBvaW50KChmcmFtZVJlY3Quc2l6ZS53aWR0aCAtIHdhcm5pbmdGcmFtZS5z
aXplLndpZHRoKSAvIDIsIChmcmFtZVJlY3Quc2l6ZS5oZWlnaHQgLSB3YXJuaW5nRnJhbWUuc2l6
ZS5oZWlnaHQpIC8gMik7Ci0gICAgW19leGl0V2FybmluZy5nZXQoKSBzZXRGcmFtZTp3YXJuaW5n
RnJhbWVdOwotICAgIFtfZXhpdFdhcm5pbmcuZ2V0KCkgc2V0SGlkZGVuOllFU107Ci0gICAgW3Nl
bGYgYWRkU3VidmlldzpfZXhpdFdhcm5pbmcuZ2V0KCldOwotI2VuZGlmCiAKICAgICByZXR1cm4g
c2VsZjsKIH0KQEAgLTEwOCwxOCArOTUsNyBAQCAtIChpZCljb250ZW50cwogCiAtICh2b2lkKXNl
dEV4aXRXYXJuaW5nVmlzaWJsZTooQk9PTCl2aXNpYmxlCiB7Ci0jaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBbX2VmZmVjdFZpZXcgc2V0SGlkZGVuOiF2
aXNpYmxlXTsKLSNlbHNlCi0gICAgW19leGl0V2FybmluZy5nZXQoKSBzZXRIaWRkZW46IXZpc2li
bGVdOwotICAgIGlmICh2aXNpYmxlKSB7Ci0gICAgICAgIENBRmlsdGVyKiBmaWx0ZXIgPSBbQ0FG
aWx0ZXIgZmlsdGVyV2l0aFR5cGU6QCJjb2xvck1vbm9jaHJvbWUiXTsKLSAgICAgICAgW2ZpbHRl
ciBzZXRWYWx1ZTpbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0Oi0wLjJdIGZvcktleTpAImlucHV0
QmlhcyJdOwotICAgICAgICBbZmlsdGVyIHNldFZhbHVlOltOU051bWJlciBudW1iZXJXaXRoRmxv
YXQ6MV0gZm9yS2V5OkAiaW5wdXRBbW91bnQiXTsKLSAgICAgICAgW1tzZWxmIGxheWVyXSBzZXRG
aWx0ZXJzOltOU0FycmF5IGFycmF5V2l0aE9iamVjdDpmaWx0ZXJdXTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgW1tzZWxmIGxheWVyXSBzZXRGaWx0ZXJzOm5pbF07Ci0jZW5kaWYKIH0KIAogLSAodm9p
ZCltb3VzZURvd246KE5TRXZlbnQgKil0aGVFdmVudApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9Db29raWVKYXJDRk5ldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Db29raWVKYXJDRk5ldC5jcHAJKHJldmlzaW9u
IDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvQ29va2llSmFy
Q0ZOZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBACiAjaW5jbHVkZSA8d2lu
ZG93cy5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPD0gMTA5MCkKKyNpZiBQTEFURk9STShX
SU4pCiBlbnVtIHsKICAgICBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5RXhjbHVzaXZl
bHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMwogfTsKQEAgLTEwNSw3ICsxMDUsNyBAQCBzdGF0
aWMgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNvcHlDb29raWVzCiB7CiAgICAgYm9vbCBzZWN1cmUg
PSB1cmwucHJvdG9jb2xJcygiaHR0cHMiKTsKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDApCisj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgcmV0dXJuIGFkb3B0Q0YoX0NGSFRUUENvb2tpZVN0b3Jh
Z2VDb3B5Q29va2llc0ZvclVSTFdpdGhNYWluRG9jdW1lbnRVUkwoc2Vzc2lvbi5jb29raWVTdG9y
YWdlKCkuZ2V0KCksIHVybC5jcmVhdGVDRlVSTCgpLmdldCgpLCBmaXJzdFBhcnR5LmNyZWF0ZUNG
VVJMKCkuZ2V0KCksIHNlY3VyZSkpOwogI2Vsc2UKICAgICAvLyBfQ0ZIVFRQQ29va2llU3RvcmFn
ZUNvcHlDb29raWVzRm9yVVJMV2l0aE1haW5Eb2N1bWVudFVSTCBpcyBub3QgYXZhaWxhYmxlIG9u
IG90aGVyIHBsYXRmb3Jtcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvUmVzb3VyY2VSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTUxLDE0ICsxNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBp
bmxpbmUgYm9vbCBSZXNvdXJjZVJlcXVlc3Q6OnJlc291cmNlUHJpb3JpdGllc0VuYWJsZWQoKQog
ICAgIHsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMDAwCisjaWYgUExBVEZPUk0oTUFDKQogICAgIHJldHVybiB0cnVlOwotI2VsaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMDAw
Ci0gICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS8xNjUxODU5NT4sIDxyZGFyOi8vcHJvYmxlbS8x
NzE2ODc5Mz4gZm9yIGlzc3VlcyB3ZSBoYWQgYmVmb3JlIE9TIFggMTAuMTAuCi0gICAgLy8gSFRU
UCBQaXBlbGluaW5nIGNvdWxkIGJlIGVuYWJsZWQgZm9yIGV4cGVyaW1lbnRzLCBidXQgdGhlcmUg
aXMgbm8gcG9pbnQgaW4gZG9pbmcgc28gb24gb2xkIE9TIHZlcnNpb25zLAotICAgIC8vIGFuZCB0
aGF0IGNhbid0IHdvcmsgd2VsbCBiZWNhdXNlIG9mIHRoZSBhYm92ZSBpc3N1ZXMuCi0gICAgQVNT
RVJUKCFodHRwUGlwZWxpbmluZ0VuYWJsZWQoKSk7Ci0gICAgcmV0dXJuIGZhbHNlOwogI2VsaWYg
UExBVEZPUk0oSU9TKQogICAgIHJldHVybiB0cnVlOwogI2VsaWYgUExBVEZPUk0oV0lOKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya1NQSS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29y
a1NQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8Q0ZOZXR3
b3JrL0NGVVJMUmVxdWVzdC5oPgogCiAvLyBGSVhNRTogUmVtb3ZlIHRoZSBkZWZpbmVkKF9fT0JK
Q19fKS1ndWFyZCBvbm5jZSB3ZSBmaXggPHJkYXI6Ly9wcm9ibGVtLzE5MDMzNjEwPi4KLSNpZiBk
ZWZpbmVkKF9fT0JKQ19fKSAmJiAoUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTAwMCkKKyNpZiBkZWZpbmVkKF9fT0JKQ19fKSAmJiBQTEFURk9S
TShDT0NPQSkKIC8vIEZJWE1FOiBBcyBhIHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS8x
ODMzNzE4Mj4sIHdlIGNvbmRpdGlvbmFsbHkgZW5jbG9zZSB0aGUgaGVhZGVyCiAvLyBpbiBhbiBl
eHRlcm4gIkMiIGxpbmthZ2UgYmxvY2sgdG8gbWFrZSBpdCBzdWl0YWJsZSBmb3IgQysrIHVzZS4K
ICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtNDksNyArNDksNyBAQCBleHRlcm4gIkMiIHsKICNpZmRl
ZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCi0jZW5kaWYgLy8gZGVmaW5lZChfX09CSkNfXykgJiYg
KFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEw
MDApCisjZW5kaWYgLy8gZGVmaW5lZChfX09CSkNfXykgJiYgUExBVEZPUk0oQ09DT0EpCiAKICNl
bHNlIC8vIFBMQVRGT1JNKFdJTikgfHwgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIApAQCAtMTEy
LDcgKzExMiw3IEBAIEVYVEVSTl9DIENGU3RyaW5nUmVmIGNvbnN0IGtDRkhUVFBDb29raWUKIEBl
bmQKICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX09CSkNfXykgJiYgKCFVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKSB8fCBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPD0gMTA5MCkKKyNpZiBkZWZpbmVkKF9fT0JKQ19fKSAmJiAhVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKIGVudW0gOiBOU1VJbnRlZ2VyIHsKICAgICBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lF
eGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gPSAzLAogfTsKQEAgLTEyOCw3ICsxMjgs
NyBAQCBFWFRFUk5fQyBDRkRhdGFSZWYgX0NGTmV0d29ya0NvcHlBVFNDb250CiBFWFRFUk5fQyBC
b29sZWFuIF9DRk5ldHdvcmtTZXRBVFNDb250ZXh0KENGRGF0YVJlZik7CiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEwMDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiBFWFRFUk5fQyB2b2lk
IF9DRk5ldHdvcmtSZXNldEhTVFNIb3N0c1NpbmNlRGF0ZShDRlVSTFN0b3JhZ2VTZXNzaW9uUmVm
LCBDRkRhdGVSZWYpOwogI2VuZGlmCiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBFWFRFUk5fQyBDRkFy
cmF5UmVmIF9DRkhUVFBQYXJzZWRDb29raWVzCiBAZW5kCiAjZW5kaWYKIAotI2lmICFVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID09IDEwOTApCisjaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCiBAaW50
ZXJmYWNlIE5TSFRUUENvb2tpZVN0b3JhZ2UgKCkKIC0gKHZvaWQpcmVtb3ZlQ29va2llc1NpbmNl
RGF0ZTooTlNEYXRlICopZGF0ZTsKIC0gKGlkKV9pbml0V2l0aENGSFRUUENvb2tpZVN0b3JhZ2U6
KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpY2ZTdG9yYWdlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgJKHJldmlzaW9uIDE5NDMxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVt
VUlGb250KENURm8KIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYgbmFt
ZSwgdWludDE2X3Qgd2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXplKTsK
IENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1YWdlKENURm9udFJl
ZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJzLCBDRkluZGV4IGxlbmd0
aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXggKmNvdmVyZWRMZW5ndGgpOwogCi0jaWYg
UExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAw
MAorI2lmIFBMQVRGT1JNKENPQ09BKQogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9u
dFRleHRTdHlsZVNob3J0SGVhZGxpbmU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlU2hvcnRCb2R5OwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9u
dFRleHRTdHlsZVNob3J0U3ViaGVhZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9OU0J1dHRvbkNlbGxTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvTlNCdXR0b25DZWxsU1BJLmgJKHJldmlzaW9uIDE5NDMxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0J1dHRvbkNlbGxTUEkuaAkod29y
a2luZyBjb3B5KQpAQCAtMjUsOCArMjUsNiBAQAogCiAjaW1wb3J0IDxBcHBLaXQvTlNCdXR0b25D
ZWxsLmg+CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAot
CiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8QXBwS2l0L05TQnV0dG9u
Q2VsbF9Qcml2YXRlLmg+CkBAIC00Miw1ICs0MCwzIEBACiAKICNlbmRpZgogCi0jZW5kaWYKLQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TQ29sb3JTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNDb2xvclNQSS5o
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
TlNDb2xvclNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw4ICsyNSw2IEBACiAKICNpbXBvcnQg
PEFwcEtpdC9OU0NvbG9yLmg+CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTAwMAotCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQogCiAjaW1wb3J0IDxBcHBLaXQvTlNDb2xvcl9Qcml2YXRlLmg+CkBAIC00Niw1ICs0NCwzIEBA
CiBAZW5kCiAKICNlbmRpZgotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAkocmV2aXNpb24gMTk0MzE2KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzAsMTIgKzcwLDEwIEBAIGV4dGVybiAiQyIgewogLSAodWludDMyX3QpY3Jl
YXRlSW1hZ2VTbG90OihDR1NpemUpc2l6ZSBoYXNBbHBoYTooQk9PTClmbGFnOwogLSAodm9pZClk
ZWxldGVTbG90Oih1aW50MzJfdCluYW1lOwogLSAodm9pZClpbnZhbGlkYXRlOwotI2lmIFBMQVRG
T1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIC0g
KG1hY2hfcG9ydF90KWNyZWF0ZUZlbmNlUG9ydDsKIC0gKHZvaWQpc2V0RmVuY2VQb3J0OihtYWNo
X3BvcnRfdClwb3J0OwogLSAodm9pZClzZXRGZW5jZVBvcnQ6KG1hY2hfcG9ydF90KXBvcnQgY29t
bWl0SGFuZGxlcjoodm9pZCheKSh2b2lkKSlibG9jazsKLSNlbmRpZgotI2lmIFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDExMDAKKyNpZiBQTEFU
Rk9STShNQUMpCiBAcHJvcGVydHkgQk9PTCBjb2xvck1hdGNoVW50YWdnZWRDb250ZW50OwogI2Vu
ZGlmCiBAcHJvcGVydHkgKHJlYWRvbmx5KSB1aW50MzJfdCBjb250ZXh0SWQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0xvb2t1cFNQSS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmgJKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDggKzQ4LDYgQEAgQGludGVyZmFjZSBMVUxvb2t1cERlZmluaXRpb25N
b2R1bGUgOiBOUwogCiAjZW5kaWYgLy8gIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNpZiAg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKLQogQGludGVyZmFjZSBM
VUxvb2t1cERlZmluaXRpb25Nb2R1bGUgKCkKIAogKyAoaWQ8TlNJbW1lZGlhdGVBY3Rpb25Bbmlt
YXRpb25Db250cm9sbGVyPilsb29rdXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTooTlNBdHRy
aWJ1dGVkU3RyaW5nICopdGVybSBhdExvY2F0aW9uOihOU1BvaW50KXNjcmVlblBvaW50IG9wdGlv
bnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7CkBAIC01OCw4ICs1Niw2IEBAIEBpbnRlcmZhY2Ug
TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlICgpCiAKIEBlbmQKIAotI2VuZGlmIC8vIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0KIEBpbnRlcmZhY2UgTFVMb29rdXBE
ZWZpbml0aW9uTW9kdWxlICgpCiAKICsgKHZvaWQpc2hvd0RlZmluaXRpb25Gb3JUZXJtOihOU0F0
dHJpYnV0ZWRTdHJpbmcgKil0ZXJtIHJlbGF0aXZlVG9SZWN0OihOU1JlY3QpcG9zaXRpb25pbmdS
ZWN0IG9mVmlldzooTlNWaWV3ICopcG9zaXRpb25pbmdWaWV3IG9wdGlvbnM6KE5TRGljdGlvbmFy
eSAqKW9wdGlvbnM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL05TRm9u
dFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTlNG
b250U1BJLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9tYWMvTlNGb250U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDYgQEAgQGludGVy
ZmFjZSBOU0ZvbnQgKCkKICsgKE5TRm9udCAqKXN5c3RlbUZvbnRPZlNpemU6KENHRmxvYXQpc2l6
ZSB3ZWlnaHQ6KENHRmxvYXQpd2VpZ2h0OwogQGVuZAogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIGV4dGVybiBjb25zdCBDR0Zsb2F0IE5TRm9udFdlaWdo
dFVsdHJhTGlnaHQ7CiBleHRlcm4gY29uc3QgQ0dGbG9hdCBOU0ZvbnRXZWlnaHRUaGluOwogZXh0
ZXJuIGNvbnN0IENHRmxvYXQgTlNGb250V2VpZ2h0TGlnaHQ7CkBAIC00OCw3ICs0Nyw2IEBAIGV4
dGVybiBjb25zdCBDR0Zsb2F0IE5TRm9udFdlaWdodFNlbWlib2wKIGV4dGVybiBjb25zdCBDR0Zs
b2F0IE5TRm9udFdlaWdodEJvbGQ7CiBleHRlcm4gY29uc3QgQ0dGbG9hdCBOU0ZvbnRXZWlnaHRI
ZWF2eTsKIGV4dGVybiBjb25zdCBDR0Zsb2F0IE5TRm9udFdlaWdodEJsYWNrOwotI2VuZGlmCiAK
ICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL05TSW1tZWRp
YXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXJTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvbWFjL05TSW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXJT
UEkuaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21h
Yy9OU0ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVyU1BJLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDggKzI1LDYgQEAKICNpZm5kZWYgTlNJbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2du
aXplclNQSV9oCiAjZGVmaW5lIE5TSW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXJTUElf
aAogCi0jaWYgIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0KICNp
bXBvcnQgPEFwcEtpdC9OU0dlc3R1cmVSZWNvZ25pemVyLmg+CiAKIC8vIEZJWE1FOiBUaGlzIGhl
YWRlciBzaG91bGQgaW5jbHVkZSBzeXN0ZW0gaGVhZGVycyB3aGVuIHBvc3NpYmxlLgpAQCAtNjEs
NiArNTksNCBAQCBAaW50ZXJmYWNlIE5TSW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nCiAKIEBl
bmQKIAotI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAw
Ci0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9OU1BvcG92
ZXJTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL05T
UG9wb3ZlclNQSS5oCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvbWFjL05TUG9wb3ZlclNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw2IEBA
CiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWYgIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxMDAwCi0KICNpbXBvcnQgIk5TSW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29n
bml6ZXJTUEkuaCIKIAogLy8gRklYTUU6IFRoaXMgaGVhZGVyIHNob3VsZCBpbmNsdWRlIHN5c3Rl
bSBoZWFkZXJzIHdoZW4gcG9zc2libGUuCkBAIC00Niw1ICs0NCwzIEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBOU1BvcG92ZXIKIEBpbnRlcmZhY2UgTlNQb3BvdmVyIChXS0RldGFp
bHMpCiBAcHJvcGVydHkgTlNQb3BvdmVyUG9zaXRpb25pbmdPcHRpb25zIHBvc2l0aW9uaW5nT3B0
aW9uczsKIEBlbmQKLQotI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMDAwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL05TU2hhcmlu
Z1NlcnZpY2VQaWNrZXJTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvbWFjL05TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaAkocmV2aXNpb24gMTk0MzE2KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDYgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEwMDAKLQogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQg
PEFwcEtpdC9OU1NoYXJpbmdTZXJ2aWNlX1ByaXZhdGUuaD4KQEAgLTQ3LDUgKzQ1LDMgQEAgQGlu
dGVyZmFjZSBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyIChQcml2YQogQGVuZAogCiAjZW5kaWYKLQot
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL05TU2hhcmluZ1Nl
cnZpY2VTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFj
L05TU2hhcmluZ1NlcnZpY2VTUEkuaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNlU1BJLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDggKzIzLDYgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCi0jaWYgIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0KICNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxBcHBLaXQvTlNTaGFyaW5nU2Vy
dmljZV9Qcml2YXRlLmg+CkBAIC01NCw1ICs1MiwzIEBAIEBpbnRlcmZhY2UgTlNTaGFyaW5nU2Vy
dmljZSAoUHJpdmF0ZSkKIEBlbmQKIAogI2VuZGlmCi0KLSNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL21hYy9UVUNhbGxTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL1RVQ2FsbFNQSS5oCShyZXZpc2lvbiAxOTQzMTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL1RVQ2FsbFNQSS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMyw4ICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0K
ICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KIApAQCAt
MzcsNSArMzUsMyBAQCBAaW50ZXJmYWNlIFRVQ2FsbCAoU3RyaW5ncykKIAogU09GVF9MSU5LX1BS
SVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKFRlbGVwaG9ueVV0aWxpdGllcykKIFNPRlRfTElOS19D
TEFTUyhUZWxlcGhvbnlVdGlsaXRpZXMsIFRVQ2FsbCkKLQotI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDE5
NDMxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY3LDcgKzY3LDcgQEAgU1FMaXRlRGF0YWJhc2U6OlNRTGl0ZURh
dGFiYXNlKCkKICAgICAgICAgLy8gc3RkOjpjYWxsX29uY2UgaXMgdXNlZCB0byBzdGF5IG9uIHRo
ZSBzYWZlIHNpZGUuIFNlZSBidWcgIzE0MzI0NS4KICAgICAgICAgaW50IHJldCA9IHNxbGl0ZTNf
aW5pdGlhbGl6ZSgpOwogICAgICAgICBpZiAocmV0ICE9IFNRTElURV9PSykgewotI2lmIChkZWZp
bmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwKSB8fCAoIWRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCkgJiYgU1FMSVRFX1ZFUlNJT05fTlVNQkVSID49IDMwMDcwMTUpCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBTUUxJVEVfVkVSU0lPTl9OVU1CRVIgPj0gMzAwNzAxNQogICAgICAg
ICAgICAgV1RGTG9nQWx3YXlzKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBTUUxpdGU6ICVzIiwgc3Fs
aXRlM19lcnJzdHIocmV0KSk7CiAjZWxzZQogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJGYWls
ZWQgdG8gaW5pdGlhbGl6ZSBTUUxpdGUiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCdXR0b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCdXR0b24uY3BwCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBA
QCBSZW5kZXJCdXR0b246OlJlbmRlckJ1dHRvbihIVE1MRm9ybUNvbnRyCiAgICAgOiBSZW5kZXJG
bGV4aWJsZUJveChlbGVtZW50LCBXVEY6Om1vdmUoc3R5bGUpKQogICAgICwgbV9idXR0b25UZXh0
KDApCiAgICAgLCBtX2lubmVyKDApCi0gICAgLCBtX2RlZmF1bHQoZmFsc2UpCiB7CiB9CiAKQEAg
LTExMSwxOCArMTEwLDYgQEAgdm9pZCBSZW5kZXJCdXR0b246OnN0eWxlRGlkQ2hhbmdlKFN0eWxl
RAogCiAgICAgaWYgKG1faW5uZXIpIC8vIFJlbmRlckJsb2NrIGhhbmRsZWQgdXBkYXRpbmcgdGhl
IGFub255bW91cyBibG9jaydzIHN0eWxlLgogICAgICAgICBzZXR1cElubmVyU3R5bGUoJm1faW5u
ZXItPnN0eWxlKCkpOwotCi0gICAgaWYgKCFtX2RlZmF1bHQgJiYgdGhlbWUoKS5pc0RlZmF1bHQo
KnRoaXMpKSB7Ci0gICAgICAgIGlmICh0aGVtZSgpLmRlZmF1bHRCdXR0b25IYXNBbmltYXRpb24o
KSkgewotICAgICAgICAgICAgaWYgKCFtX3RpbWVyKQotICAgICAgICAgICAgICAgIG1fdGltZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlJlbmRlckJ1dHRvbjo6dGltZXJGaXJl
ZCk7Ci0gICAgICAgICAgICBtX3RpbWVyLT5zdGFydFJlcGVhdGluZygwLjAzKTsKLSAgICAgICAg
fQotICAgICAgICBtX2RlZmF1bHQgPSB0cnVlOwotICAgIH0gZWxzZSBpZiAobV9kZWZhdWx0ICYm
ICF0aGVtZSgpLmlzRGVmYXVsdCgqdGhpcykpIHsKLSAgICAgICAgbV9kZWZhdWx0ID0gZmFsc2U7
Ci0gICAgICAgIG1fdGltZXIgPSBudWxscHRyOwotICAgIH0KIH0KIAogdm9pZCBSZW5kZXJCdXR0
b246OnNldHVwSW5uZXJTdHlsZShSZW5kZXJTdHlsZSogaW5uZXJTdHlsZSkgCkBAIC0xODYsMTgg
KzE3Myw2IEBAIExheW91dFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xpcFJlY3QKICAgICBy
ZXR1cm4gTGF5b3V0UmVjdChhZGRpdGlvbmFsT2Zmc2V0LngoKSArIGJvcmRlckxlZnQoKSwgYWRk
aXRpb25hbE9mZnNldC55KCkgKyBib3JkZXJUb3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAt
IGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7
CiB9CiAKLXZvaWQgUmVuZGVyQnV0dG9uOjp0aW1lckZpcmVkKCkKLXsKLSAgICAvLyBGSVhNRSBC
dWcgMjUxMTA6IElkZWFsbHkgd2Ugd291bGQgc3RvcCBvdXIgdGltZXIgd2hlbiBvdXIgRG9jdW1l
bnQKLSAgICAvLyBlbnRlcnMgdGhlIHBhZ2UgY2FjaGUuIEJ1dCB3ZSBjdXJyZW50bHkgaGF2ZSBu
byB3YXkgb2YgYmVpbmcgbm90aWZpZWQKLSAgICAvLyB3aGVuIHRoYXQgaGFwcGVucywgc28gd2Un
bGwganVzdCBpZ25vcmUgdGhlIHRpbWVyIGZpcmluZyBhcyBsb25nIGFzCi0gICAgLy8gd2UncmUg
aW4gdGhlIGNhY2hlLgotICAgIGlmIChkb2N1bWVudCgpLmluUGFnZUNhY2hlKCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIHJlcGFpbnQoKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPUykKIHZvaWQg
UmVuZGVyQnV0dG9uOjpsYXlvdXQoKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJ1dHRvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCdXR0b24uaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJ1dHRvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCwxNSArNzQsMTAgQEAgcHJp
dmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFn
YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2b2lkIHRpbWVy
RmlyZWQoKTsKLQogICAgIGJvb2wgaXNGbGV4aWJsZUJveEltcGwoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CiAKICAgICBSZW5kZXJUZXh0RnJhZ21lbnQqIG1fYnV0dG9uVGV4dDsK
ICAgICBSZW5kZXJCbG9jayogbV9pbm5lcjsKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4g
bV90aW1lcjsKLSAgICBib29sIG1fZGVmYXVsdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiAx
OTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQ3LDggKzI0Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEludFNpemUg
aW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6
ZSgpOyB9CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgYm9vbCBkZWZhdWx0QnV0dG9uSGFzQW5pbWF0
aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNv
bnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXplKCk7IH0KICAg
ICB2aXJ0dWFsIGludCBhdHRhY2htZW50QmFzZWxpbmUoY29uc3QgUmVuZGVyQXR0YWNobWVudCYp
IGNvbnN0IHsgcmV0dXJuIC0xOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw4ICsxMDAsNiBAQCBw
dWJsaWM6CiAgICAgLy8gQSB2aWV3IGFzc29jaWF0ZWQgdG8gdGhlIGNvbnRhaW5lZCBkb2N1bWVu
dC4KICAgICBOU1ZpZXcqIGRvY3VtZW50Vmlld0Zvcihjb25zdCBSZW5kZXJPYmplY3QmKSBjb25z
dDsKIAotICAgIHZpcnR1YWwgYm9vbCBkZWZhdWx0QnV0dG9uSGFzQW5pbWF0aW9uKCkgY29uc3Qg
b3ZlcnJpZGU7Ci0KIHByb3RlY3RlZDoKICAgICBSZW5kZXJUaGVtZU1hYygpOwogICAgIHZpcnR1
YWwgflJlbmRlclRoZW1lTWFjKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE3NSwxMSArMTc1LDkg
QEAgQGludGVyZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgOiBOUwogQGltcGxlbWVudGF0
aW9uIFdlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZQogQGVuZAogCi0jaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIEBpbnRlcmZhY2UgTlNTZWFyY2hGaWVsZENlbGwo
KQogQHByb3BlcnR5IChnZXR0ZXI9aXNDZW50ZXJlZExvb2spIEJPT0wgY2VudGVyZWRMb29rOwog
QGVuZAotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDY5LDEyICs0NjcsOCBA
QCBDb2xvciBSZW5kZXJUaGVtZU1hYzo6c3lzdGVtQ29sb3IoQ1NTVmFsCiAgICAgICAgIGNvbG9y
ID0gY29udmVydE5TQ29sb3JUb0NvbG9yKFtOU0NvbG9yIGtleWJvYXJkRm9jdXNJbmRpY2F0b3JD
b2xvcl0pOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1ZhbHVlQWN0aXZlYnV0dG9udGV4
dDoKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAg
ICAvLyBUaGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIE5TQ29sb3IgZm9yIHRoaXMgc28gd2UgdXNl
IGEgaGFyZCBjb2RlZCB2YWx1ZS4KICAgICAgICAgY29sb3IgPSBDb2xvcjo6d2hpdGU7Ci0jZWxz
ZQotICAgICAgICBjb2xvciA9IGNvbnZlcnROU0NvbG9yVG9Db2xvcihbTlNDb2xvciBjb250cm9s
VGV4dENvbG9yXSk7Ci0jZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NWYWx1ZUFj
dGl2ZWNhcHRpb246CiAgICAgICAgIGNvbG9yID0gY29udmVydE5TQ29sb3JUb0NvbG9yKFtOU0Nv
bG9yIHdpbmRvd0ZyYW1lVGV4dENvbG9yXSk7CkBAIC01NjgsNyArNTYyLDYgQEAgQ29sb3IgUmVu
ZGVyVGhlbWVNYWM6OnN5c3RlbUNvbG9yKENTU1ZhbAogICAgIGNhc2UgQ1NTVmFsdWVXaW5kb3d0
ZXh0OgogICAgICAgICBjb2xvciA9IGNvbnZlcnROU0NvbG9yVG9Db2xvcihbTlNDb2xvciB3aW5k
b3dGcmFtZVRleHRDb2xvcl0pOwogICAgICAgICBicmVhazsKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVdpcmVsZXNz
UGxheWJhY2tUYXJnZXRBY3RpdmU6CiAgICAgICAgIGNvbG9yID0gY29udmVydE5TQ29sb3JUb0Nv
bG9yKFtOU0NvbG9yIHN5c3RlbUJsdWVDb2xvcl0pOwogICAgICAgICBicmVhazsKQEAgLTU5OSw3
ICs1OTIsNiBAQCBDb2xvciBSZW5kZXJUaGVtZU1hYzo6c3lzdGVtQ29sb3IoQ1NTVmFsCiAgICAg
Y2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtWWVsbG93OgogICAgICAgICBjb2xvciA9IGNvbnZlcnRO
U0NvbG9yVG9Db2xvcihbTlNDb2xvciBzeXN0ZW1ZZWxsb3dDb2xvcl0pOwogICAgICAgICBicmVh
azsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTkzMywx
MSArOTI1LDYgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZW51TGlzdChjb25zdAogCiAg
ICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0
KCkpOwogCi0gICAgLy8gQmVmb3JlIFlvc2VtaXRlIHdlIGRpZCBub3Qgd2FudCB0aGUgY2VsbCB0
byBldmVyIGRyYXcgb3V0c2lkZSB0aGUgZ2l2ZW4gcmVjdGFuZ2xlLgotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEwMDAKLSAgICBwYWludEluZm8uY29udGV4dCgpLmNs
aXAoaW5mbGF0ZWRSZWN0KTsKLSNlbmRpZgotCiAgICAgaWYgKHpvb21MZXZlbCAhPSAxLjBmKSB7
CiAgICAgICAgIGluZmxhdGVkUmVjdC5zZXRXaWR0aChpbmZsYXRlZFJlY3Qud2lkdGgoKSAvIHpv
b21MZXZlbCk7CiAgICAgICAgIGluZmxhdGVkUmVjdC5zZXRIZWlnaHQoaW5mbGF0ZWRSZWN0Lmhl
aWdodCgpIC8gem9vbUxldmVsKTsKQEAgLTE5NzEsOSArMTk1OCw3IEBAIE5TU2VhcmNoRmllbGRD
ZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2VhcmMKICAgICAgICAgW21fc2VhcmNoLmdldCgpIHNldEJl
emVsZWQ6WUVTXTsKICAgICAgICAgW21fc2VhcmNoLmdldCgpIHNldEVkaXRhYmxlOllFU107CiAg
ICAgICAgIFttX3NlYXJjaC5nZXQoKSBzZXRGb2N1c1JpbmdUeXBlOk5TRm9jdXNSaW5nVHlwZUV4
dGVyaW9yXTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAog
ICAgICAgICBbbV9zZWFyY2guZ2V0KCkgc2V0Q2VudGVyZWRMb29rOk5PXTsKLSNlbmRpZgogICAg
IH0KIAogICAgIHJldHVybiBtX3NlYXJjaC5nZXQoKTsKQEAgLTIwNDMsMTUgKzIwMjgsNiBAQCBT
dHJpbmcgUmVuZGVyVGhlbWVNYWM6OmZpbGVMaXN0TmFtZUZvcldpCiAgICAgcmV0dXJuIFN0cmlu
Z1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQsIFN0
cmluZ1RydW5jYXRvcjo6RW5hYmxlUm91bmRpbmdIYWNrcyk7CiB9CiAKLWJvb2wgUmVuZGVyVGhl
bWVNYWM6OmRlZmF1bHRCdXR0b25IYXNBbmltYXRpb24oKSBjb25zdAotewotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0gICAgcmV0dXJuIGZhbHNlOwotI2Vs
c2UKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotfQotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdAogewpJbmRleDogU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUtMTItMTkgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJLaXQgY29udGFpbnMg
ZGVhZCBzb3VyY2UgY29kZSBmb3IgT1MgWCBNYXZlcmlja3MgYW5kIGVhcmxpZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjQ2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVtb3ZlZCBidWlsZCBz
ZXR0aW5nIGRlZmluaXRpb25zIGZvciBPUyBYIDEwLjkgYW5kIGVhcmxpZXIsIGFuZCBzaW1wbGlm
aWVkIGRlZmludGlvbnMKKyAgICAgICAgICB0aGF0IGJlY2FtZSB1bmlmb3JtIGFjcm9zcyBhbGwg
T1MgWCB2ZXJzaW9ucyBhcyBhIHJlc3VsdDoKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWc6CisKKyAgICAg
ICAgKiBTY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsOiBSZW1vdmVkIGNv
ZGUgdG8gZGVsZXRlIEltYWdlcy9MZWdhY3kuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0lt
YWdlcy9MZWdhY3k6IFJlbW92ZWQgdGhpcyBlbXB0eSBkaXJlY3RvcnkuCisKIDIwMTUtMTItMTgg
IE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE1ha2UgaXQgcG9zc2libGUgdG8gZGVidWcgaW5qZWN0ZWQgc2NyaXB0cyB3aGVuIHRoZSBE
ZWJ1ZyBVSSBpcyBlbmFibGVkCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTYzLDE0ICs2Myw2IEBAIFNES1JPT1QgPSBtYWNvc3guaW50ZXJuYWw7CiAKIE9USEVS
X0xERkxBR1NfVkVSU0lPTkVEX0ZSQU1FV09SS19QQVRIID0gLVdsLC1keWxkX2VudiAtV2wsRFlM
RF9WRVJTSU9ORURfRlJBTUVXT1JLX1BBVEg9L1N5c3RlbS9MaWJyYXJ5L1N0YWdlZEZyYW1ld29y
a3MvU2FmYXJpOwogCi1UT09MQ0hBSU5TW3Nkaz1tYWNvc3gqXSA9ICQoVE9PTENIQUlOU19tYWNv
c3gpOwotVE9PTENIQUlOU19tYWNvc3ggPSAkKFRPT0xDSEFJTlNfbWFjb3N4XyQoTUFDX09TX1hf
VkVSU0lPTl9NQUpPUikpOwotVE9PTENIQUlOU19tYWNvc3hfMTA4MCA9IGRlZmF1bHQ7Ci1UT09M
Q0hBSU5TX21hY29zeF8xMDkwID0gJChUT09MQ0hBSU5TKTsKLVRPT0xDSEFJTlNfbWFjb3N4XzEw
MTAwMCA9ICQoVE9PTENIQUlOU19tYWNvc3hfMTA5MCk7Ci1UT09MQ0hBSU5TX21hY29zeF8xMDEx
MDAgPSAkKFRPT0xDSEFJTlNfbWFjb3N4XzEwMTAwMCk7Ci1UT09MQ0hBSU5TX21hY29zeF8xMDEy
MDAgPSAkKFRPT0xDSEFJTlNfbWFjb3N4XzEwMTEwMCk7Ci0KIE9USEVSX0NGTEFHUyA9ICQoQVNB
Tl9PVEhFUl9DRkxBR1MpOwogT1RIRVJfQ1BMVVNQTFVTRkxBR1MgPSAkKEFTQU5fT1RIRVJfQ1BM
VVNQTFVTRkxBR1MpOwogT1RIRVJfTERGTEFHUyA9ICQoQVNBTl9PVEhFUl9MREZMQUdTKTsKSW5k
ZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYklu
c3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNSw4ICs1LDYgQEAgQVJDSFMgPSAkKEFSQ0hTX1NUQU5EQVJEXzMyXzY0X0JJVCk7
CiBPTkxZX0FDVElWRV9BUkNIID0gWUVTOwogCiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAk
KE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8kKFBMQVRGT1JNX05BTUUpXyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKLU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTA4
MCA9IDEwLjg7Ci1NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwOTAgPSAxMC45Owog
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4xMDsKIE1BQ09TWF9E
RVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMTAwID0gMTAuMTE7CiBNQUNPU1hfREVQTE9ZTUVO
VF9UQVJHRVRfbWFjb3N4XzEwMTIwMCA9IDEwLjEyOwpJbmRleDogU291cmNlL1dlYkluc3BlY3Rv
clVJL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcJKHJldmlzaW9u
IDE5NDMxNikKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9WZXJzaW9u
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC04LDggKzgsNiBAQCBGVUxMX1ZFUlNJT04gPSAk
KE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfCiAvLyBUaGUgc3lzdGVtIHZlcnNpb24gcHJlZml4IGlz
IGJhc2VkIG9uIHRoZSBjdXJyZW50IHN5c3RlbSB2ZXJzaW9uLgogU1lTVEVNX1ZFUlNJT05fUFJF
RklYW3Nkaz1pcGhvbmUqXSA9IDg7CiBTWVNURU1fVkVSU0lPTl9QUkVGSVggPSAkKFNZU1RFTV9W
RVJTSU9OX1BSRUZJWF8kKFBMQVRGT1JNX05BTUUpXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05f
TUFKT1IpKTsKLVNZU1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNvc3hfMTA4MCA9IDg7Ci1TWVNURU1f
VkVSU0lPTl9QUkVGSVhfbWFjb3N4XzEwOTAgPSA5OwogU1lTVEVNX1ZFUlNJT05fUFJFRklYX21h
Y29zeF8xMDEwMDAgPSAxMDsKIFNZU1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNvc3hfMTAxMTAwID0g
MTE7CiBTWVNURU1fVkVSU0lPTl9QUkVGSVhfbWFjb3N4XzEwMTIwMCA9IDEyOwpJbmRleDogU291
cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMu
cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2Vy
LWludGVyZmFjZS1yZXNvdXJjZXMucGwJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjcsOSArMjI3LDYgQEAgaWYgKCRzaG91bGRDb21iaW5lTWFpbikgewog
CiAgICAgZGl0dG8oRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdJbWFnZXMnKSwgRmlsZTo6
U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdJbWFnZXMnKSk7CiAKLSAgICAjIFJl
bW92ZSBJbWFnZXMvTGVnYWN5IG9uIG1vZGVybiBzeXN0ZW1zIChPUyBYIDEwLjEwIFlvc2VtaXRl
IGFuZCBncmVhdGVyIG9yIFdpbmRvd3MpLgotICAgIHJlbW92ZV90cmVlKEZpbGU6OlNwZWMtPmNh
dGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnSW1hZ2VzJywgJ0xlZ2FjeScpKSBpZiAoZGVmaW5l
ZCAkRU5WeydNQUNfT1NfWF9WRVJTSU9OX01BSk9SJ30gJiYgJEVOVnsnTUFDX09TX1hfVkVSU0lP
Tl9NQUpPUid9IGdlIDEwMTAwMCkgb3IgZGVmaW5lZCAkRU5WeydPRkZJQ0lBTF9CVUlMRCd9Owot
CiAgICAgIyBSZW1vdmUgSW1hZ2VzL2d0ayBvbiBNYWMgYW5kIFdpbmRvd3MgYnVpbGRzLgogICAg
IHJlbW92ZV90cmVlKEZpbGU6OlNwZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnSW1h
Z2VzJywgJ2d0aycpKSBpZiBkZWZpbmVkICRFTlZ7J01BQ19PU19YX1ZFUlNJT05fTUFKT1InfSBv
ciBkZWZpbmVkICRFTlZ7J09GRklDSUFMX0JVSUxEJ307CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDY3IEBACisyMDE1LTEyLTE5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CisKKyAgICAgICAgW01hY10gV2ViS2l0IGNvbnRhaW5zIGRlYWQgc291cmNlIGNvZGUgZm9y
IE9TIFggTWF2ZXJpY2tzIGFuZCBlYXJsaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI0NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAtIFJlbW92ZWQgYnVpbGQgc2V0dGluZyBkZWZpbml0aW9ucyBm
b3IgT1MgWCAxMC45IGFuZCBlYXJsaWVyLCBhbmQgc2ltcGxpZmllZCBkZWZpbnRpb25zCisgICAg
ICAgICAgdGhhdCBiZWNhbWUgdW5pZm9ybSBhY3Jvc3MgYWxsIE9TIFggdmVyc2lvbnMgYXMgYSBy
ZXN1bHQ6CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnOgor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VYUENTZXJ2aWNlLnhjY29uZmlnOgorICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9WZXJzaW9uLnhjY29uZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZzoKKworICAgICAgICAtIFJlbW92ZWQgdGhlIGRlZmluaXRpb24gb2YgQlVORExFX0xP
Q0FMSVpBVElPTl9LRVk6CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb250ZW50U2Vy
dmljZS5EZXZlbG9wbWVudC54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJD
b250ZW50U2VydmljZS54Y2NvbmZpZzoKKworICAgICAgICAtIEFkZGVkIENGQnVuZGxlRm9sbG93
UGFyZW50TG9jYWxpemF0aW9uIHNldCB0byB0cnVlOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9F
bnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50L0lu
Zm8tT1NYLnBsaXN0OgorICAgICAgICAqIFdlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2Vy
dmljZS9XZWJDb250ZW50U2VydmljZS5EZXZlbG9wbWVudC9JbmZvLWlPUy5wbGlzdDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZp
Y2UvSW5mby1PU1gtMTAuOS0xMC4xMC5wbGlzdDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0VudHJ5
UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2UvSW5mby1PU1gucGxpc3Q6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRT
ZXJ2aWNlL0luZm8taU9TLnBsaXN0OgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOiBSZW1vdmVkIHRoZSDigJxBZGQgQ0ZCdW5kbGUgTG9jYWxpemF0aW9uIElu
Zm8ucGxpc3QgS2V54oCdCisgICAgICAgICAgc2NyaXB0IGJ1aWxkIHBoYXNlcyBmcm9tIHRoZSBX
ZWIgQ29udGVudCBTZXJ2aWNlIHRhcmdldHMuCisKKyAgICAgICAgLSBTaW1wbGlmaWVkIGV4cHJl
c3Npb25zIGludm9sdmluZyBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIGFuZCByZW1v
dmVkIGNvZGUgdGhhdCB3YXMKKyAgICAgICAgICBuZXZlciBnZXR0aW5nIGNvbXBpbGVkOgorCisg
ICAgICAgICogRGF0YWJhc2VQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5z
Yi5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29h
Lm1tOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdv
cmtQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0ltcG9ydGFuY2VBc3NlcnRpb24uaDoK
KyAgICAgICAgKiBQbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5oOgorICAgICAgICAqIFBsYXRm
b3JtL21hYy9NZW51VXRpbGl0aWVzLm1tOgorICAgICAgICAqIFBsYXRmb3JtL21hYy9TdHJpbmdV
dGlsaXRpZXMuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9tYWMvU3RyaW5nVXRpbGl0aWVzLm1tOgor
ICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvV0tGb3VuZGF0aW9uLmg6CisgICAgICAgICogU2hh
cmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4uRGV2
ZWxvcG1lbnQubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXdQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW06CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
RmluZENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOgor
ICAgICAgICAqIGNvbmZpZy5oOgorCiAyMDE1LTEyLTE4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBDYWNoZSByZWRpcmVjdHMgYXMgc2VwYXJhdGUgZW50cmll
cwpJbmRleDogU291cmNlL1dlYktpdDIvY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvY29uZmlnLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL2NvbmZp
Zy5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSwxMyArNzksMTMgQEAKICNlbmRpZgogCiAjaWZuZGVm
IEhBVkVfU0VDX0FDQ0VTU19DT05UUk9MCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMCkKKyNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9TRUNfQUNDRVNTX0NP
TlRST0wgMQogI2VuZGlmCiAjZW5kaWYKIAogI2lmbmRlZiBIQVZFX09TX0FDVElWSVRZCi0jaWYg
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTAwMCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykK
ICNkZWZpbmUgSEFWRV9PU19BQ1RJVklUWSAxCiAjZW5kaWYKICNlbmRpZgpJbmRleDogU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZp
c2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3ICs2NSw2IEBAIFdLX01BTlVBTF9TQU5E
Qk9YSU5HX0RFRklORVMgPSAkKFdLX01BTlUKIFdLX01BTlVBTF9TQU5EQk9YSU5HX0RFRklORVNf
WUVTID0gRU5BQkxFX01BTlVBTF9TQU5EQk9YSU5HOwogCiBXS19ET05UX0xJTktfU0hJTSA9ICQo
V0tfRE9OVF9MSU5LX1NISU1fJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotV0tf
RE9OVF9MSU5LX1NISU1fMTA5MCA9IFlFUzsKIFdLX0RPTlRfTElOS19TSElNXzEwMTAwMCA9IFlF
UzsKIAogV0tfTElOS19TSElNW3Nkaz1tYWNvc3gqXSA9ICQoV0tfTElOS19TSElNXyQoV0tfRE9O
VF9MSU5LX1NISU0pKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VY
UENTZXJ2aWNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2VYUENTZXJ2aWNlLnhjY29uZmlnCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlWFBDU2VydmljZS54Y2NvbmZpZwkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNSArNTYsNCBAQCBDT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19NQU5V
QUxfU0FOREJPCiBDT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19NQU5VQUxfU0FOREJPWElOR19Z
RVMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8kKFdLX1hQ
Q19TRVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRSktbm8tc2FuZGJveC5lbnRpdGxlbWVudHM7
CiAKIFdLX1hQQ19TRVJWSUNFX0lORk9QTElTVF9TVUZGSVhbc2RrPW1hY29zeCpdID0gJChXS19Y
UENfU0VSVklDRV9JTkZPUExJU1RfU1VGRklYXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFK
T1IpKTsKLVdLX1hQQ19TRVJWSUNFX0lORk9QTElTVF9TVUZGSVhfMTA5MCA9IC0xMC45LTEwLjEw
OwogV0tfWFBDX1NFUlZJQ0VfSU5GT1BMSVNUX1NVRkZJWF8xMDEwMDAgPSAtMTAuOS0xMC4xMDsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZp
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVh
c2UueGNjb25maWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NiBAQCBBUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNUSVZFX0FS
Q0ggPSBZRVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExPWU1F
TlRfVEFSR0VUXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpP
UikpOwotTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDkwID0gMTAuOTsKIE1BQ09T
WF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMDAwID0gMTAuMTA7CiBNQUNPU1hfREVQTE9Z
TUVOVF9UQVJHRVRfbWFjb3N4XzEwMTEwMCA9IDEwLjExOwogTUFDT1NYX0RFUExPWU1FTlRfVEFS
R0VUX21hY29zeF8xMDEyMDAgPSAxMC4xMjsKQEAgLTM5LDcgKzM4LDYgQEAgREVCVUdfSU5GT1JN
QVRJT05fRk9STUFUID0gZHdhcmY7CiBXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZW3Nk
az1pcGhvbmVvcypdID0gV2ViS2l0U3lzdGVtSW50ZXJmYWNlSU9TRGV2aWNlJChJUEhPTkVPU19E
RVBMT1lNRU5UX1RBUkdFVCk7CiBXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZW3Nkaz1p
cGhvbmVzaW11bGF0b3IqXSA9IFdlYktpdFN5c3RlbUludGVyZmFjZUlPU1NpbXVsYXRvciQoSVBI
T05FT1NfREVQTE9ZTUVOVF9UQVJHRVQpOwogV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFS
WSA9ICQoV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWV8kKFBMQVRGT1JNX05BTUUpXyQo
VEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLVdFQktJVF9TWVNURU1fSU5URVJGQUNF
X0xJQlJBUllfbWFjb3N4XzEwOTAgPSBXZWJLaXRTeXN0ZW1JbnRlcmZhY2VNYXZlcmlja3M7CiBX
RUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21hY29zeF8xMDEwMDAgPSBXZWJLaXRTeXN0
ZW1JbnRlcmZhY2VZb3NlbWl0ZTsKIFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllfbWFj
b3N4XzEwMTEwMCA9IFdlYktpdFN5c3RlbUludGVyZmFjZUVsQ2FwaXRhbjsKIFdFQktJVF9TWVNU
RU1fSU5URVJGQUNFX0xJQlJBUllfbWFjb3N4XzEwMTIwMCA9ICQoV0VCS0lUX1NZU1RFTV9JTlRF
UkZBQ0VfTElCUkFSWV9tYWNvc3hfMTAxMTAwKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAx
OTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzUsMTIgKzM1LDcgQEAgRU5BQkxFXzNEX1RSQU5T
Rk9STVMgPSBFTkFCTEVfM0RfVFJBTlNGTwogRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyA9
IDsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdbc2RrPWlwaG9uZSpdID0g
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQgPSBFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UOwotRU5BQkxFX0FWRl9DQVBUSU9O
U1tzZGs9aXBob25lKl0gPSBFTkFCTEVfQVZGX0NBUFRJT05TOwotRU5BQkxFX0FWRl9DQVBUSU9O
U1tzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9BVkZfQ0FQVElPTlNfbWFjb3N4XyQoVEFSR0VUX01B
Q19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9BVkZfQ0FQVElPTlNfbWFjb3N4XzEwOTAg
PSA7Ci1FTkFCTEVfQVZGX0NBUFRJT05TX21hY29zeF8xMDEwMDAgPSBFTkFCTEVfQVZGX0NBUFRJ
T05TOwotRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfMTAxMTAwID0gRU5BQkxFX0FWRl9DQVBU
SU9OUzsKLUVOQUJMRV9BVkZfQ0FQVElPTlNfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9BVkZfQ0FQ
VElPTlM7CitFTkFCTEVfQVZGX0NBUFRJT05TID0gRU5BQkxFX0FWRl9DQVBUSU9OUzsKIEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcgPSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKQEAgLTc2LDEyICs3MSw3IEBAIEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUiA9IEVO
QUJMRV8KIEVOQUJMRV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQTsKIEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjJbc2RrPW1hY29zeCpdID0gRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMjsKIEVOQUJMRV9GRVRDSF9BUEkgPSBFTkFCTEVfRkVUQ0hf
QVBJOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMltzZGs9aXBob25lKl0gPSBFTkFCTEVfRklMVEVS
U19MRVZFTF8yOwotRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMltzZGs9bWFjb3N4Kl0gPSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzJfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1Ip
KTsKLUVOQUJMRV9GSUxURVJTX0xFVkVMXzJfbWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfRklMVEVS
U19MRVZFTF8yX21hY29zeF8xMDEwMDAgPSBFTkFCTEVfRklMVEVSU19MRVZFTF8yOwotRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMl9tYWNvc3hfMTAxMTAwID0gRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMjsK
LUVOQUJMRV9GSUxURVJTX0xFVkVMXzJfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9GSUxURVJTX0xF
VkVMXzI7CitFTkFCTEVfRklMVEVSU19MRVZFTF8yID0gRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMjsK
IEVOQUJMRV9GT05UX0xPQURfRVZFTlRTID0gOwogRU5BQkxFX0ZVTExTQ1JFRU5fQVBJW3Nkaz1t
YWNvc3gqXSA9IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJMRV9HQU1FUEFEW3Nkaz1tYWNv
c3gqXSA9IEVOQUJMRV9HQU1FUEFEOwpAQCAtODksMTEgKzc5LDcgQEAgRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsK
IEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElOR1tzZGs9bWFjb3N4Kl0gPSBF
TkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkc7CiBFTkFCTEVfSUNPTkRBVEFC
QVNFW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7Ci1FTkFCTEVfU0VSVklDRV9D
T05UUk9MU1tzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTX21hY29zeF8k
KFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfU0VSVklDRV9DT05UUk9M
U19tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9TRVJWSUNFX0NPTlRST0xTX21hY29zeF8xMDEwMDAg
PSBFTkFCTEVfU0VSVklDRV9DT05UUk9MUzsKLUVOQUJMRV9TRVJWSUNFX0NPTlRST0xTX21hY29z
eF8xMDExMDAgPSBFTkFCTEVfU0VSVklDRV9DT05UUk9MUzsKLUVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTX21hY29zeF8xMDEyMDAgPSBFTkFCTEVfU0VSVklDRV9DT05UUk9MUzsKK0VOQUJMRV9TRVJW
SUNFX0NPTlRST0xTW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOwogRU5B
QkxFX0lOREVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSA7CiBFTkFCTEVfSU5ESUVfVUkgPSBFTkFCTEVf
SU5ESUVfVUk7CkBAIC0xMDYsMTYgKzkyLDEwIEBAIEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIW3Nk
az1pcGhvbmUqXSA9IEUKIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUVbc2RrPWlwaG9uZSpdID0gRU5B
QkxFX0lOUFVUX1RZUEVfVElNRTsKIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUtbc2RrPWlwaG9uZSpd
ID0gRU5BQkxFX0lOUFVUX1RZUEVfV0VFSzsKIAotRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVf
RElTUEFUQ0hFUlNbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlM7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9bWFj
b3N4Kl0gPSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTX21hY29zeF8k
KFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSkKLUVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTX21hY29zeF8xMDkwID0gOwotRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlNfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTOwotRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFj
b3N4XzEwMTEwMCA9IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTOwotRU5B
QkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XzEwMTIwMCA9IEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTOworRU5BQkxFX0lOU1BFQ1RPUl9BTFRF
Uk5BVEVfRElTUEFUQ0hFUlMgPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UzsKIAogRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVFtzZGs9aXBob25lKl0gPSBFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVFtzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVRfbWFj
b3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQotRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVF9tYWNvc3hfMTA5MCA9IDsKIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVRfbWFjb3N4XzEwMTAwMCA9IDsKIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVRf
bWFjb3N4XzEwMTEwMCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUX21hY29zeF8xMDEyMDAgPSBFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUOwpAQCAtMTI4LDcgKzEwOCw2IEBAIEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFNfaW9zX1dJVEhfSU5URVIKIAogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUyA9IDsKIEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFNbc2RrPW1hY29zeCpdID0gJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKV9XSVRIX0lO
VEVSTkFMX1NES18kKFVTRV9JTlRFUk5BTF9TREspKTsKLUVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFNfbWFjb3N4XzEwOTBfV0lUSF9JTlRFUk5BTF9TREtfWUVTID0gOwogRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UU19tYWNvc3hfMTAxMDAwX1dJVEhfSU5URVJOQUxfU0RLX1lFUyA9IDsKIEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFNfbWFjb3N4XzEwMTEwMF9XSVRIX0lOVEVSTkFMX1NES19ZRVMg
PSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTOwogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU19t
YWNvc3hfMTAxMjAwX1dJVEhfSU5URVJOQUxfU0RLX1lFUyA9IEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFM7CkBAIC0xNDgsMTEgKzEyNyw3IEBAIEVOQUJMRV9NQVRITUwgPSBFTkFCTEVfTUFUSE1M
OwogRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCA9IEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQ7CiBFTkFCTEVfTUVESUFfU0VTU0lPTiA9IDsKIAotRU5BQkxFX01FRElBX1NPVVJDRVtz
ZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4XyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4XzEwOTAgPSA7
Ci1FTkFCTEVfTUVESUFfU09VUkNFX21hY29zeF8xMDEwMDAgPSBFTkFCTEVfTUVESUFfU09VUkNF
OwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfMTAxMTAwID0gRU5BQkxFX01FRElBX1NPVVJD
RTsKLUVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9NRURJQV9TT1VS
Q0U7CitFTkFCTEVfTUVESUFfU09VUkNFW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9NRURJQV9TT1VS
Q0U7CiAKIEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTID0gOwogRU5BQkxFX01FRElBX1NUUkVBTSA9
IEVOQUJMRV9NRURJQV9TVFJFQU07CkBAIC0xNzAsMTIgKzE0NSw3IEBAIEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QgPSBFTkFCTEVfUFVCTEkKIEVOQUJMRV9RVU9UQSA9IDsKIEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRTsKIEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSA9IDsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SW3Nk
az1pcGhvbmUqXSA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwotRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1Jbc2RrPW1hY29zeCpdID0gJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUl9tYWNvc3hfJChU
QVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Jf
bWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUl9tYWNvc3hfMTAxMDAwID0g
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7Ci1FTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUl9tYWNvc3hf
MTAxMTAwID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7Ci1FTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
Ul9tYWNvc3hfMTAxMjAwID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CitFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUiA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwogRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkgPSA7CiBFTkFCTEVfUlVCQkVSX0JBTkRJTkdbc2RrPW1hY29zeCpdID0gRU5B
QkxFX1JVQkJFUl9CQU5ESU5HOwogRU5BQkxFX0NTU19TQ1JPTExfU05BUCA9IEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVA7CkBAIC0xODUsMTIgKzE1NSw3IEBAIEVOQUJMRV9TVUJUTEVfQ1JZUFRPID0g
RU5BQkxFX1NVQlRMRV9DUlkKIEVOQUJMRV9TVkdfRk9OVFMgPSBFTkFCTEVfU1ZHX0ZPTlRTOwog
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSID0gRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSOwogCi1F
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT05bc2RrPWlwaG9uZSpdID0gRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OOwotRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OX21h
Y29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT05fbWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT05fbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTjsKLUVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTl9tYWNvc3hfMTAxMTAwID0g
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OOwotRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OX21hY29zeF8xMDEyMDAgPSBFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT047CitFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gPSBFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT047CiAKIEVOQUJMRV9URU1QTEFURV9FTEVNRU5UID0gRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQ7CiBFTkFCTEVfVEVYVF9BVVRPU0laSU5HID0gOwpAQCAtMjE5LDEy
ICsxODQsNyBAQCBFTkFCTEVfV0VCX1JFUExBWV9tYWNvc3hfRGVidWcgPSBFTkFCTEVfCiBFTkFC
TEVfV0VCX1JFUExBWV9tYWNvc3hfUmVsZWFzZSA9IEVOQUJMRV9XRUJfUkVQTEFZOwogRU5BQkxF
X1dFQl9TT0NLRVRTID0gRU5BQkxFX1dFQl9TT0NLRVRTOwogCi1FTkFCTEVfV0VCX1RJTUlOR1tz
ZGs9aXBob25lKl0gPSBFTkFCTEVfV0VCX1RJTUlORzsKLUVOQUJMRV9XRUJfVElNSU5HW3Nkaz1t
YWNvc3gqXSA9ICQoRU5BQkxFX1dFQl9USU1JTkdfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZF
UlNJT05fTUFKT1IpKTsKLUVOQUJMRV9XRUJfVElNSU5HX21hY29zeF8xMDkwID0gOwotRU5BQkxF
X1dFQl9USU1JTkdfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9XRUJfVElNSU5HOwotRU5BQkxFX1dF
Ql9USU1JTkdfbWFjb3N4XzEwMTEwMCA9IEVOQUJMRV9XRUJfVElNSU5HOwotRU5BQkxFX1dFQl9U
SU1JTkdfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9XRUJfVElNSU5HOworRU5BQkxFX1dFQl9USU1J
TkcgPSBFTkFCTEVfV0VCX1RJTUlORzsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIApJ
bmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9WZXJz
aW9uLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw2IEBAIFNIT1JUX1ZFUlNJ
T05fU1RSSU5HID0gJChTSE9SVF9WRVJTSU9OX1MKIC8vIFRoZSBzeXN0ZW0gdmVyc2lvbiBwcmVm
aXggaXMgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3lzdGVtIHZlcnNpb24uCiBTWVNURU1fVkVSU0lP
Tl9QUkVGSVhbc2RrPWlwaG9uZSpdID0gODsKIFNZU1RFTV9WRVJTSU9OX1BSRUZJWCA9ICQoU1lT
VEVNX1ZFUlNJT05fUFJFRklYXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVS
U0lPTl9NQUpPUikpOwotU1lTVEVNX1ZFUlNJT05fUFJFRklYX21hY29zeF8xMDkwID0gOTsKIFNZ
U1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNvc3hfMTAxMDAwID0gMTA7CiBTWVNURU1fVkVSU0lPTl9Q
UkVGSVhfbWFjb3N4XzEwMTEwMCA9IDExOwogU1lTVEVNX1ZFUlNJT05fUFJFRklYX21hY29zeF8x
MDEyMDAgPSAxMjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRl
bnRTZXJ2aWNlLkRldmVsb3BtZW50LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50LnhjY29uZmln
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJD
b250ZW50U2VydmljZS5EZXZlbG9wbWVudC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTIgKzMwLDUgQEAgUFJPRFVDVF9OQU1FID0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZQogSU5G
T1BMSVNUX0ZJTEVbc2RrPWlwaG9uZSpdID0gV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENT
ZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50L0luZm8taU9TLnBsaXN0OwogSU5G
T1BMSVNUX0ZJTEVbc2RrPW1hY29zeCpdID0gV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENT
ZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50L0luZm8tT1NYLnBsaXN0OwogCi1C
VU5ETEVfTE9DQUxJWkFUSU9OX0tFWVtzZGs9aXBob25lKl0gPSBDRkJ1bmRsZUZvbGxvd1BhcmVu
dExvY2FsaXphdGlvbjsKLUJVTkRMRV9MT0NBTElaQVRJT05fS0VZID0gJChCVU5ETEVfTE9DQUxJ
WkFUSU9OX0tFWV8kKFBMQVRGT1JNX05BTUUpXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFK
T1IpKTsKLUJVTkRMRV9MT0NBTElaQVRJT05fS0VZX21hY29zeF8xMDkwID0gQ0ZCdW5kbGVBbGxv
d01peGVkTG9jYWxpemF0aW9uczsKLUJVTkRMRV9MT0NBTElaQVRJT05fS0VZX21hY29zeF8xMDEw
MDAgPSBDRkJ1bmRsZUZvbGxvd1BhcmVudExvY2FsaXphdGlvbjsKLUJVTkRMRV9MT0NBTElaQVRJ
T05fS0VZX21hY29zeF8xMDExMDAgPSBDRkJ1bmRsZUZvbGxvd1BhcmVudExvY2FsaXphdGlvbjsK
LUJVTkRMRV9MT0NBTElaQVRJT05fS0VZX21hY29zeF8xMDEyMDAgPSBDRkJ1bmRsZUZvbGxvd1Bh
cmVudExvY2FsaXphdGlvbjsKLQogT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVS
X0xERkxBR1NfVkVSU0lPTkVEX0ZSQU1FV09SS19QQVRIKSAkKE9USEVSX0xERkxBR1NfUExBVEZP
Uk0pOwogT1RIRVJfTERGTEFHU19QTEFURk9STVtzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFw
cEtpdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnRTZXJ2
aWNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L1dlYkNvbnRlbnRTZXJ2aWNlLnhjY29uZmlnCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJDb250ZW50U2VydmljZS54Y2NvbmZpZwkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDYgQEAgUFJPRFVDVF9OQU1FID0gY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZQogSU5GT1BMSVNUX0ZJTEVbc2RrPWlwaG9uZSpdID0gV2ViUHJvY2Vzcy9FbnRy
eVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlL0luZm8taU9TLnBsaXN0Owog
SU5GT1BMSVNUX0ZJTEVbc2RrPW1hY29zeCpdID0gV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9Y
UENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlL0luZm8tT1NYJChXS19YUENfU0VSVklDRV9JTkZP
UExJU1RfU1VGRklYKS5wbGlzdDsKIAotQlVORExFX0xPQ0FMSVpBVElPTl9LRVlbc2RrPWlwaG9u
ZSpdID0gQ0ZCdW5kbGVGb2xsb3dQYXJlbnRMb2NhbGl6YXRpb247Ci1CVU5ETEVfTE9DQUxJWkFU
SU9OX0tFWSA9ICQoQlVORExFX0xPQ0FMSVpBVElPTl9LRVlfJChQTEFURk9STV9OQU1FKV8kKFRB
UkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1CVU5ETEVfTE9DQUxJWkFUSU9OX0tFWV9t
YWNvc3hfMTA5MCA9IENGQnVuZGxlQWxsb3dNaXhlZExvY2FsaXphdGlvbnM7Ci1CVU5ETEVfTE9D
QUxJWkFUSU9OX0tFWV9tYWNvc3hfMTAxMDAwID0gQ0ZCdW5kbGVGb2xsb3dQYXJlbnRMb2NhbGl6
YXRpb247Ci1CVU5ETEVfTE9DQUxJWkFUSU9OX0tFWV9tYWNvc3hfMTAxMTAwID0gQ0ZCdW5kbGVG
b2xsb3dQYXJlbnRMb2NhbGl6YXRpb247Ci1CVU5ETEVfTE9DQUxJWkFUSU9OX0tFWV9tYWNvc3hf
MTAxMjAwID0gQ0ZCdW5kbGVGb2xsb3dQYXJlbnRMb2NhbGl6YXRpb247Ci0KIE9USEVSX0xERkxB
R1MgPSAkKGluaGVyaXRlZCkgJChPVEhFUl9MREZMQUdTX1ZFUlNJT05FRF9GUkFNRVdPUktfUEFU
SCkgJChPVEhFUl9MREZMQUdTX1BMQVRGT1JNKTsKIE9USEVSX0xERkxBR1NfUExBVEZPUk1bc2Rr
PW1hY29zeCpdID0gLWZyYW1ld29yayBBcHBLaXQgJChPVEhFUl9MREZMQUdTX1NISU1fJChXS19M
SU5LX1NISU0pKTsKIE9USEVSX0xERkxBR1NfU0hJTV9ZRVMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvV2ViUHJvY2Vzc1NoaW0uZHlsaWI7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDUgKzUzLDQgQEAgRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbc2RrPWlwaG9uZSpdIAogSU5T
VEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogCiBXS19GUkFNRVdPUktfSEVBREVSX1BPU1RQ
Uk9DRVNTSU5HX0RJU0FCTEVEW3Nkaz1tYWNvc3gqXSA9ICQoV0tfRlJBTUVXT1JLX0hFQURFUl9Q
T1NUUFJPQ0VTU0lOR19ESVNBQkxFRF9tYWNvc3hfJChNQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7
Ci1XS19GUkFNRVdPUktfSEVBREVSX1BPU1RQUk9DRVNTSU5HX0RJU0FCTEVEX21hY29zeF8xMDkw
ID0gWUVTOwogV0tfRlJBTUVXT1JLX0hFQURFUl9QT1NUUFJPQ0VTU0lOR19ESVNBQkxFRF9tYWNv
c3hfMTAxMDAwID0gWUVTOwpJbmRleDogU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNi
LmluCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw4ICs3NCw0IEBACiAoZGVueSBmaWxlLXdyaXRlLXhhdHRyICh4YXR0ciAiY29tLmFwcGxlLnF1
YXJhbnRpbmUiKSAod2l0aCBuby1sb2cpKQogCiA7OyBSZXNlcnZlIGEgbmFtZXNwYWNlIGZvciBh
ZGRpdGlvbmFsIHByb3RlY3RlZCBleHRlbmRlZCBhdHRyaWJ1dGVzLgotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDkwCiAoZGVueSBmaWxlLXJlYWQteGF0dHIgZmlsZS13
cml0ZS14YXR0ciAoeGF0dHItcmVnZXggIyJeY29tXC5hcHBsZVwuc2VjdXJpdHlcLnByaXZhdGVc
LiIpKQotI2Vsc2UKLShkZW55IGZpbGUtcmVhZC14YXR0ciBmaWxlLXdyaXRlLXhhdHRyICh4YXR0
ciAjIl5jb21cLmFwcGxlXC5zZWN1cml0eVwucHJpdmF0ZVwuIikpCi0jZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Byb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjIwLDEyICsyMjAsMTAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xlYXJDRlVSTENhY2hl
Rm9yTwogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckhTVFNDYWNoZShXZWJDb3JlOjpOZXR3
b3JrU3RvcmFnZVNlc3Npb24mIHNlc3Npb24sIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRp
bWVfcG9pbnQgbW9kaWZpZWRTaW5jZSkKIHsKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwKQogICAg
IE5TVGltZUludGVydmFsIHRpbWVJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0
PHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+Pihtb2RpZmllZFNpbmNlLnRpbWVfc2luY2Vf
ZXBvY2goKSkuY291bnQoKTsKICAgICBOU0RhdGUgKmRhdGUgPSBbTlNEYXRlIGRhdGVXaXRoVGlt
ZUludGVydmFsU2luY2UxOTcwOnRpbWVJbnRlcnZhbF07CiAKICAgICBfQ0ZOZXR3b3JrUmVzZXRI
U1RTSG9zdHNTaW5jZURhdGUoc2Vzc2lvbi5wbGF0Zm9ybVNlc3Npb24oKSwgKF9fYnJpZGdlIENG
RGF0ZVJlZilkYXRlKTsKLSNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBjbGVhck5TVVJMQ2FjaGUo
ZGlzcGF0Y2hfZ3JvdXBfdCBncm91cCwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9w
b2ludCBtb2RpZmllZFNpbmNlLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+JiBjb21wbGV0
aW9uSGFuZGxlcikKQEAgLTIzMywxMyArMjMxLDEwIEBAIHN0YXRpYyB2b2lkIGNsZWFyTlNVUkxD
YWNoZShkaXNwYXRjaF9ncm8KICAgICBkaXNwYXRjaF9ncm91cF9hc3luYyhncm91cCwgZGlzcGF0
Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwg
W21vZGlmaWVkU2luY2UsIGNvbXBsZXRpb25IYW5kbGVyXSB7CiAgICAgICAgIE5TVVJMQ2FjaGUg
KmNhY2hlID0gW05TVVJMQ2FjaGUgc2hhcmVkVVJMQ2FjaGVdOwogCi0jaWYgUExBVEZPUk0oSU9T
KSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAgICBO
U1RpbWVJbnRlcnZhbCB0aW1lSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxz
dGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPj4obW9kaWZpZWRTaW5jZS50aW1lX3NpbmNlX2Vw
b2NoKCkpLmNvdW50KCk7CiAgICAgICAgIE5TRGF0ZSAqZGF0ZSA9IFtOU0RhdGUgZGF0ZVdpdGhU
aW1lSW50ZXJ2YWxTaW5jZTE5NzA6dGltZUludGVydmFsXTsKICAgICAgICAgW2NhY2hlIHJlbW92
ZUNhY2hlZFJlc3BvbnNlc1NpbmNlRGF0ZTpkYXRlXTsKLSNlbHNlCi0gICAgICAgIFtjYWNoZSBy
ZW1vdmVBbGxDYWNoZWRSZXNwb25zZXNdOwotI2VuZGlmCisKICAgICAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW2NvbXBsZXRpb25IYW5kbGVyXSB7CiAgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9KTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNz
LnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9j
b20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAxOTQzMTYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3
b3JrUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMTU0LDExICsxNTQsNyBAQAogKGRl
bnkgZmlsZS13cml0ZS14YXR0ciAoeGF0dHIgImNvbS5hcHBsZS5xdWFyYW50aW5lIikgKHdpdGgg
bm8tbG9nKSkKIAogOzsgUmVzZXJ2ZSBhIG5hbWVzcGFjZSBmb3IgYWRkaXRpb25hbCBwcm90ZWN0
ZWQgZXh0ZW5kZWQgYXR0cmlidXRlcy4KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID4gMTA5MAogKGRlbnkgZmlsZS1yZWFkLXhhdHRyIGZpbGUtd3JpdGUteGF0dHIgKHhhdHRy
LXJlZ2V4ICMiXmNvbVwuYXBwbGVcLnNlY3VyaXR5XC5wcml2YXRlXC4iKSkKLSNlbHNlCi0oZGVu
eSBmaWxlLXJlYWQteGF0dHIgZmlsZS13cml0ZS14YXR0ciAoeGF0dHIgIyJeY29tXC5hcHBsZVwu
c2VjdXJpdHlcLnByaXZhdGVcLiIpKQotI2VuZGlmCiAKIChkZW55IGZpbGUtcmVhZCogZmlsZS13
cml0ZSogKHdpdGggbm8tbG9nKQogICAgIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCBhZnRl
ciA8cmRhcjovL3Byb2JsZW0vMTA0NjM4ODE+IGlzIGZpeGVkLgpJbmRleDogU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQkocmV2aXNpb24gMTk0
MzE2KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBAIHR5cGVkZWYgZW51bSB7CiB9IEFYU3Vz
cGVuZFN0YXR1czsKICNlbmRpZgogCi0jaWYgIVRBUkdFVF9PU19JUEhPTkUgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiBleHRl
cm4gIkMiIEFYRXJyb3IgX0FYVUlFbGVtZW50Tm90aWZ5UHJvY2Vzc1N1c3BlbmRTdGF0dXMoQVhT
dXNwZW5kU3RhdHVzKTsKICNlbmRpZgogCkBAIC0xOTMsMTAgKzE5Myw4IEBAIGJvb2wgQ29ubmVj
dGlvbjo6b3BlbigpCiAgICAgICAgIC8vIENyZWF0ZSB0aGUgcmVjZWl2ZSBwb3J0LgogICAgICAg
ICBtYWNoX3BvcnRfYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwgTUFDSF9QT1JUX1JJR0hUX1JF
Q0VJVkUsICZtX3JlY2VpdmVQb3J0KTsKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiAgICAg
ICAgIG1hY2hfcG9ydF9zZXRfYXR0cmlidXRlcyhtYWNoX3Rhc2tfc2VsZigpLCBtX3JlY2VpdmVQ
b3J0LCBNQUNIX1BPUlRfREVOQVBfUkVDRUlWRVIsIChtYWNoX3BvcnRfaW5mb190KTAsIDApOwot
I2VsaWYgUExBVEZPUk0oTUFDKQotICAgICAgICBtYWNoX3BvcnRfc2V0X2F0dHJpYnV0ZXMobWFj
aF90YXNrX3NlbGYoKSwgbV9yZWNlaXZlUG9ydCwgTUFDSF9QT1JUX0lNUE9SVEFOQ0VfUkVDRUlW
RVIsIChtYWNoX3BvcnRfaW5mb190KTAsIDApOwogI2VuZGlmCiAKICAgICAgICAgbV9pc0Nvbm5l
Y3RlZCA9IHRydWU7CkBAIC02MTEsNyArNjA5LDcgQEAgYm9vbCBDb25uZWN0aW9uOjpraWxsKCkK
ICAgICAKIHN0YXRpYyB2b2lkIEFjY2Vzc2liaWxpdHlQcm9jZXNzU3VzcGVuZGVkTm90aWZpY2F0
aW9uKGJvb2wgc3VzcGVuZGVkKQogewotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgX0FY
VUlFbGVtZW50Tm90aWZ5UHJvY2Vzc1N1c3BlbmRTdGF0dXMoc3VzcGVuZGVkID8gQVhTdXNwZW5k
U3RhdHVzU3VzcGVuZGVkIDogQVhTdXNwZW5kU3RhdHVzUnVubmluZyk7CiAjZWxpZiBQTEFURk9S
TShJT1MpCiAgICAgVUlBY2Nlc3NpYmlsaXR5UG9zdE5vdGlmaWNhdGlvbihrQVhQaWRTdGF0dXND
aGFuZ2VkTm90aWZpY2F0aW9uLCBAeyBAInBpZCIgOiBAKGdldHBpZCgpKSwgQCJzdXNwZW5kZWQi
IDogQChzdXNwZW5kZWQpIH0pOwpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21h
Yy9JbXBvcnRhbmNlQXNzZXJ0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL21hYy9JbXBvcnRhbmNlQXNzZXJ0aW9uLmgJKHJldmlzaW9uIDE5NDMxNikKKysr
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvSW1wb3J0YW5jZUFzc2VydGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsOCBAQAogI2luY2x1ZGUgPGxpYnByb2NfaW50ZXJu
YWwuaD4KICNlbmRpZgogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEwMDAKIGV4dGVybiAiQyIgaW50IHByb2NfZGVuYXBfYXNzZXJ0aW9uX2JlZ2luX3dpdGhfbXNn
KG1hY2hfbXNnX2hlYWRlcl90KiwgdWludDY0X3QgKik7CiBleHRlcm4gIkMiIGludCBwcm9jX2Rl
bmFwX2Fzc2VydGlvbl9jb21wbGV0ZSh1aW50NjRfdCk7Ci0jZWxzZQotZXh0ZXJuICJDIiBpbnQg
cHJvY19pbXBvcnRhbmNlX2Fzc2VydGlvbl9iZWdpbl93aXRoX21zZyhtYWNoX21zZ19oZWFkZXJf
dCosIG1hY2hfbXNnX3RyYWlsZXJfdCosIHVpbnQ2NF90Kik7Ci1leHRlcm4gIkMiIGludCBwcm9j
X2ltcG9ydGFuY2VfYXNzZXJ0aW9uX2NvbXBsZXRlKHVpbnQ2NF90IGFzc2VydGlvbl9oYW5kbGUp
OwotI2VuZGlmCiAKIG5hbWVzcGFjZSBJUEMgewogCkBAIC00OSwyMCArNDQsMTIgQEAgcHVibGlj
OgogICAgIGV4cGxpY2l0IEltcG9ydGFuY2VBc3NlcnRpb24obWFjaF9tc2dfaGVhZGVyX3QqIGhl
YWRlcikKICAgICAgICAgOiBtX2Fzc2VydGlvbigwKQogICAgIHsKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAgICBwcm9jX2RlbmFwX2Fzc2VydGlv
bl9iZWdpbl93aXRoX21zZyhoZWFkZXIsICZtX2Fzc2VydGlvbik7Ci0jZWxzZQotICAgICAgICBw
cm9jX2ltcG9ydGFuY2VfYXNzZXJ0aW9uX2JlZ2luX3dpdGhfbXNnKGhlYWRlciwgMCwgJm1fYXNz
ZXJ0aW9uKTsKLSNlbmRpZgogICAgIH0KIAogICAgIH5JbXBvcnRhbmNlQXNzZXJ0aW9uKCkKICAg
ICB7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICAg
ICAgcHJvY19kZW5hcF9hc3NlcnRpb25fY29tcGxldGUobV9hc3NlcnRpb24pOwotI2Vsc2UKLSAg
ICAgICAgcHJvY19pbXBvcnRhbmNlX2Fzc2VydGlvbl9jb21wbGV0ZShtX2Fzc2VydGlvbik7Ci0j
ZW5kaWYKICAgICB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9t
YWMvTWVudVV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L21hYy9NZW51VXRpbGl0aWVzLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICYmIFBMQVRGT1JNKE1BQykKIE5TTWVudUl0ZW0gKm1lbnVJdGVtRm9yVGVsZXBob25lTnVtYmVy
KGNvbnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyKTsKIFJldGFpblB0cjxOU01lbnU+IG1lbnVG
b3JUZWxlcGhvbmVOdW1iZXIoY29uc3QgU3RyaW5nJiB0ZWxlcGhvbmVOdW1iZXIpOwogTlNTdHJp
bmcgKm1lbnVJdGVtVGl0bGVGb3JUZWxlcGhvbmVOdW1iZXJHcm91cCgpOwpJbmRleDogU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0JKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAKICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVk
U3RyaW5ncy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAKLSNpZiBFTkFCTEUoVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMDAwCisjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKQogI2ltcG9y
dCA8V2ViQ29yZS9UVUNhbGxTUEkuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
I2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pCiAKIE5TU3RyaW5nICptZW51SXRlbVRpdGxlRm9yVGVsZXBob25lTnVtYmVyR3Jv
dXAoKQogewpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL1N0cmluZ1V0aWxpdGll
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9TdHJpbmdVdGls
aXRpZXMuaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFj
L1N0cmluZ1V0aWxpdGllcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogLy8gZXhwZWN0cyB0byBiZSBjYWxsZWQgb24gdGhlIHRocmVhZCBydW5u
aW5nIFdlYkNvcmUuCiBOU1N0cmluZyAqbnNTdHJpbmdGcm9tV2ViQ29yZVN0cmluZyhjb25zdCBT
dHJpbmcmKTsKIAotI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAor
I2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgUExBVEZPUk0oTUFDKQog
TlNTdHJpbmcgKmZvcm1hdHRlZFBob25lTnVtYmVyU3RyaW5nKE5TU3RyaW5nICpvcmlnaW5hbFBo
b25lTnVtYmVyKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMv
U3RyaW5nVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L21hYy9TdHJpbmdVdGlsaXRpZXMubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL21hYy9TdHJpbmdVdGlsaXRpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5
LDcgKzM5LDcgQEAgTlNTdHJpbmcgKm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoY29ucwogICAg
IHJldHVybiBzdHJpbmcuaXNFbXB0eSgpID8gQCIiIDogQ0ZCcmlkZ2luZ1JlbGVhc2UoV0tTdHJp
bmdDb3B5Q0ZTdHJpbmcoMCwgdG9BUEkoc3RyaW5nLmltcGwoKSkpKTsKIH0KIAotI2lmIEVOQUJM
RShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIEVOQUJMRShURUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJiYgUExBVEZPUk0oTUFDKQogCiBTT0ZUX0xJTktfUFJJVkFURV9G
UkFNRVdPUksoUGhvbmVOdW1iZXJzKTsKIApAQCAtNzIsNiArNzIsNiBAQCBOU1N0cmluZyAqZm9y
bWF0dGVkUGhvbmVOdW1iZXJTdHJpbmcoTlNTCiAgICAgcmV0dXJuIFsoTlNTdHJpbmcgKilwaG9u
ZU51bWJlclN0cmluZyBhdXRvcmVsZWFzZV07CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMDAwCisjZW5kaWYgLy8gRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAm
JiBQTEFURk9STShNQUMpCiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29j
b2EvV0tGb3VuZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9Db2NvYS9XS0ZvdW5kYXRpb24uaAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9Db2NvYS9XS0ZvdW5kYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTEz
LDEwICsxMTMsNiBAQAogCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9O
X01BWF9BTExPV0VEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDEwMDAK
LXR5cGVkZWYgTlNVSW50ZWdlciBOU0V2ZW50TW9kaWZpZXJGbGFnczsKLSNlbmRpZgotCiAjZW5k
aWYKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxp
dGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVudC5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBD
U2VydmljZS9YUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVudC5tbQkocmV2aXNpb24gMTk0MzE2KQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZp
Y2UvWFBDU2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2MCw3
ICsxNjAsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiB7Ci0jaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIGlmIChhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NP
YmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpKSB7CiAgICAgICAgIGlmICh4cGNfb2JqZWN0X3Qg
bGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIk92
ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdB
cmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGls
ZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CkBAIC0xNzQsOSArMTczLDggQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl07CiAgICAgICAgIH0KICAgICB9Ci0jZW5kaWYKIAotI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEw
MDAKKyNpZiBQTEFURk9STShNQUMpCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMi
CiAgICAgLy8gV29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzIwNjUzMjM0PiwgbWFrZSBY
UEMgdHJhbnNhY3Rpb25zIHdvcmsgYWZ0ZXIgcmUtZXhlYy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tWaWV3UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAx
OTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsOSArNzgsNyBAQAogCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRPdmVycmlkZURldmljZVNjYWxlRmFjdG9yOikgQ0dGbG9hdCBfb3Zl
cnJpZGVEZXZpY2VTY2FsZUZhY3RvciBXS19BVkFJTEFCTEUoMTBfMTEsIE5BKTsKIAotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRBdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRlbnRJbnNldHM6KSBCT09M
IF9hdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRlbnRJbnNldHM7Ci0jZW5kaWYKIAogQHByb3BlcnR5
IChyZWFkb25seSkgTlNDb2xvciAqX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsKIEBwcm9w
ZXJ0eSAoY29weSwgbm9uYXRvbWljKSBOU0NvbG9yICp1bmRlcmxheUNvbG9yOwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlz
aW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MTEsMTAgKzQxMSw4IEBAIC0gKGluc3RhbmNldHlw
ZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnIKICAgICBfaW1wbCA9IHN0ZDo6bWFrZV91bmlxdWU8
V2ViS2l0OjpXZWJWaWV3SW1wbD4oc2VsZiwgc2VsZiwgcHJvY2Vzc1Bvb2wsIFdURjo6bW92ZShw
YWdlQ29uZmlndXJhdGlvbikpOwogICAgIF9wYWdlID0gJl9pbXBsLT5wYWdlKCk7CiAKLSNpZiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIF9pbXBsLT5zZXRB
dXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRlbnRJbnNldHModHJ1ZSk7CiAjZW5kaWYKLSNlbmRpZgog
CiAgICAgX3BhZ2UtPnNldEJhY2tncm91bmRFeHRlbmRzQmV5b25kUGFnZSh0cnVlKTsKIApAQCAt
NDA5MCw3ICs0MDg4LDYgQEAgLSAoaWQpX2ltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRyb2xs
ZQogICAgIHJldHVybiBuaWw7CiB9CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTAwMAogLSAodm9pZClfc2V0QXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5z
ZXRzOihCT09MKWF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0cwogewogICAgIF9pbXBs
LT5zZXRBdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRlbnRJbnNldHMoYXV0b21hdGljYWxseUFkanVz
dHNDb250ZW50SW5zZXRzKTsKQEAgLTQxMDAsNyArNDA5Nyw2IEBAIC0gKEJPT0wpX2F1dG9tYXRp
Y2FsbHlBZGp1c3RzQ29udGVudEluc2UKIHsKICAgICByZXR1cm4gX2ltcGwtPmF1dG9tYXRpY2Fs
bHlBZGp1c3RzQ29udGVudEluc2V0cygpOwogfQotI2VuZGlmCiAKIC0gKENHRmxvYXQpX21pbmlt
dW1MYXlvdXRXaWR0aAogewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzYsOSArMTc2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
X1dLSW1tZWRpYXRlQQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RHJhd3NCYWNr
Z3JvdW5kOikgQk9PTCBfZHJhd3NCYWNrZ3JvdW5kOwogQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0VG9wQ29udGVudEluc2V0OikgQ0dGbG9hdCBfdG9wQ29udGVudEluc2V0OwogCi0j
aWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czop
IEJPT0wgX2F1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czsKLSNlbmRpZgogCiAvLyBE
ZWZhdWx0IHZhbHVlIGlzIDAuIEEgdmFsdWUgb2YgMCBtZWFucyB0aGUgd2luZG93J3MgYmFja2lu
ZyBzY2FsZSBmYWN0b3Igd2lsbCBiZSB1c2VkIGFuZCBhdXRvbWF0aWNhbGx5IHVwZGF0ZSB3aGVu
IHRoZSB3aW5kb3cgbW92ZXMgc2NyZWVucy4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldE92ZXJyaWRlRGV2aWNlU2NhbGVGYWN0b3I6KSBDR0Zsb2F0IF9vdmVycmlkZURldmljZVNj
YWxlRmFjdG9yIFdLX0FWQUlMQUJMRSgxMF8xMSwgTkEpOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDM1LDggKzE0MzUsNiBAQCAtICh2b2lkKV9kaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5k
CiAgICAgX2RhdGEtPl9pbXBsLT5kaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5kb3dzV2l0
aEFuaW1hdGlvbkZyb21WaWV3T25seSh3aXRoQW5pbWF0aW9uKTsKIH0KIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0KIC0gKHZvaWQpX3NldEF1dG9tYXRp
Y2FsbHlBZGp1c3RzQ29udGVudEluc2V0czooQk9PTClhdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRl
bnRJbnNldHMKIHsKICAgICBfZGF0YS0+X2ltcGwtPnNldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29u
dGVudEluc2V0cyhhdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRlbnRJbnNldHMpOwpAQCAtMTQ0Nyw4
ICsxNDQ1LDYgQEAgLSAoQk9PTClfYXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5zZQogICAg
IHJldHVybiBfZGF0YS0+X2ltcGwtPmF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0cygp
OwogfQogCi0jZW5kaWYKLQogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MDgsMTMgKzUw
OCwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXNldEhTVFNIb3N0cygpCiAKIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnJlc2V0SFNUU0hvc3RzQWRkZWRBZnRlckRhdGUoZG91YmxlIHN0YXJ0RGF0
ZUludGVydmFsU2luY2UxOTcwKQogewotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDApCiAgICAgTlNE
YXRlICpzdGFydERhdGUgPSBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2UxOTcwOnN0
YXJ0RGF0ZUludGVydmFsU2luY2UxOTcwXTsKICAgICBfQ0ZOZXR3b3JrUmVzZXRIU1RTSG9zdHNT
aW5jZURhdGUobnVsbHB0ciwgKF9fYnJpZGdlIENGRGF0ZVJlZilzdGFydERhdGUpOwogI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDExMDApCiAgICAgX0NGTmV0d29ya1Jlc2V0SFNUU0hvc3RzU2luY2VEYXRl
KHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKSwgKF9fYnJpZGdlIENGRGF0ZVJlZilzdGFydERhdGUp
OwogI2VuZGlmCi0jZW5kaWYKIH0KIAogaW50IG5ldHdvcmtQcm9jZXNzTGF0ZW5jeVFPUygpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTU2MywxMCArNTYzLDggQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faWdub3Jlc0FsbEV2ZW50cyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lnbm9yZXNNb3Vz
ZURyYWdnZWRFdmVudHMgeyBmYWxzZSB9OwogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEwMDAKICAgICBSZXRhaW5QdHI8V0tJbW1lZGlhdGVBY3Rpb25Db250cm9s
bGVyPiBtX2ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXI7CiAgICAgUmV0YWluUHRyPE5TSW1tZWRp
YXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXI+IG1faW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29n
bml6ZXI7Ci0jZW5kaWYKIAogICAgIGJvb2wgbV9hbGxvd3NMaW5rUHJldmlldyB7IHRydWUgfTsK
ICAgICBib29sIG1fZGlkUmVnaXN0ZXJGb3JMb29rdXBQb3BvdmVyQ2xvc2VOb3RpZmljYXRpb25z
IHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTM5LDkgKzEzOSw3IEBA
IC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiBzdGF0aWMgdm9pZCoga2V5VmFsdWVP
YnNlcnZpbmdDb250ZXh0ID0gJmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dDsKLSNlbmRpZgogCiAt
ICh2b2lkKXN0YXJ0T2JzZXJ2aW5nOihOU1dpbmRvdyAqKXdpbmRvdwogewpAQCAtMTY0LDEwICsx
NjIsOSBAQCAtICh2b2lkKXN0YXJ0T2JzZXJ2aW5nOihOU1dpbmRvdyAqKXdpbmRvCiAgICAgW2Rl
ZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3dpbmRvd0RpZENoYW5nZVNjcmVlbjopIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5O
b3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAgICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50
ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZUxh
eWVySG9zdGluZzopIG5hbWU6QCJfTlNXaW5kb3dEaWRDaGFuZ2VDb250ZW50c0hvc3RlZEluTGF5
ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBvYmplY3Q6d2luZG93XTsKICAgICBbZGVmYXVsdE5vdGlm
aWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93
RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9u
U3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKwogICAgIFt3aW5kb3cgYWRkT2JzZXJ2ZXI6c2VsZiBm
b3JLZXlQYXRoOkAiY29udGVudExheW91dFJlY3QiIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2Vydmlu
Z09wdGlvbkluaXRpYWwgY29udGV4dDprZXlWYWx1ZU9ic2VydmluZ0NvbnRleHRdOwogICAgIFt3
aW5kb3cgYWRkT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAidGl0bGViYXJBcHBlYXJzVHJhbnNw
YXJlbnQiIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbkluaXRpYWwgY29udGV4dDpr
ZXlWYWx1ZU9ic2VydmluZ0NvbnRleHRdOwotI2VuZGlmCiB9CiAKIC0gKHZvaWQpc3RvcE9ic2Vy
dmluZzooTlNXaW5kb3cgKil3aW5kb3cKQEAgLTE5MCwxOSArMTg3LDE2IEBAIC0gKHZvaWQpc3Rv
cE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNl
bnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3Rp
ZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAgICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIg
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0
ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107CiAgICAgW2RlZmF1
bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlk
Q2hhbmdlT2NjbHVzaW9uU3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKwogICAgIGlmIChfaW1wbC0+
aXNFZGl0YWJsZSgpKQogICAgICAgICBbW05TRm9udFBhbmVsIHNoYXJlZEZvbnRQYW5lbF0gcmVt
b3ZlT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAidmlzaWJsZSIgY29udGV4dDprZXlWYWx1ZU9i
c2VydmluZ0NvbnRleHRdOwogICAgIFt3aW5kb3cgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQ
YXRoOkAiY29udGVudExheW91dFJlY3QiIGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0
XTsKICAgICBbd2luZG93IHJlbW92ZU9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInRpdGxlYmFy
QXBwZWFyc1RyYW5zcGFyZW50IiBjb250ZXh0OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dF07Ci0j
ZW5kaWYKIH0KIAogLSAodm9pZClzdGFydE9ic2VydmluZ0ZvbnRQYW5lbAogewotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW1tOU0ZvbnRQYW5lbCBz
aGFyZWRGb250UGFuZWxdIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInZpc2libGUiIG9w
dGlvbnM6MCBjb250ZXh0OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dF07Ci0jZW5kaWYKIH0KIAog
LSAodm9pZClzdGFydE9ic2VydmluZ0xvb2t1cERpc21pc3NhbApAQCAtMjc0LDcgKzI2OCw2IEBA
IC0gKHZvaWQpX3dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlOigKIAogLSAodm9pZClvYnNl
cnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVj
dCBjaGFuZ2U6KE5TRGljdGlvbmFyeSAqKWNoYW5nZSBjb250ZXh0Oih2b2lkICopY29udGV4dAog
ewotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgaWYg
KGNvbnRleHQgIT0ga2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0KSB7CiAgICAgICAgIFtzdXBlciBv
YnNlcnZlVmFsdWVGb3JLZXlQYXRoOmtleVBhdGggb2ZPYmplY3Q6b2JqZWN0IGNoYW5nZTpjaGFu
Z2UgY29udGV4dDpjb250ZXh0XTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjg2LDcgKzI3OSw2IEBA
IC0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcKICAgICB9CiAgICAgaWYg
KFtrZXlQYXRoIGlzRXF1YWxUb1N0cmluZzpAImNvbnRlbnRMYXlvdXRSZWN0Il0gfHwgW2tleVBh
dGggaXNFcXVhbFRvU3RyaW5nOkAidGl0bGViYXJBcHBlYXJzVHJhbnNwYXJlbnQiXSkKICAgICAg
ICAgX2ltcGwtPnVwZGF0ZUNvbnRlbnRJbnNldHNJZkF1dG9tYXRpYygpOwotI2VuZGlmCiB9CiAK
IC0gKHZvaWQpX2RpY3Rpb25hcnlMb29rdXBQb3BvdmVyV2lsbENsb3NlOihOU05vdGlmaWNhdGlv
biAqKW5vdGlmaWNhdGlvbgpAQCAtNDU5LDE1ICs0NTEsMTIgQEAgV2ViVmlld0ltcGw6OldlYlZp
ZXdJbXBsKE5TVmlldyA8V2ViVmlldwogCiAgICAgbV9wYWdlLT5zZXRJbnRyaW5zaWNEZXZpY2VT
Y2FsZUZhY3RvcihpbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcigpKTsKIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgaWYgKENsYXNzIGdlc3R1cmVD
bGFzcyA9IE5TQ2xhc3NGcm9tU3RyaW5nKEAiTlNJbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2du
aXplciIpKSB7CiAgICAgICAgIG1faW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIgPSBh
ZG9wdE5TKFsoTlNJbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXplciAqKVtnZXN0dXJlQ2xh
c3MgYWxsb2NdIGluaXRdKTsKICAgICAgICAgbV9pbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyID0g
YWRvcHROUyhbW1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciBhbGxvY10gaW5pdFdpdGhQYWdl
Om1fcGFnZSB2aWV3Om1fdmlldyB2aWV3SW1wbDoqdGhpcyByZWNvZ25pemVyOm1faW1tZWRpYXRl
QWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldKTsKICAgICAgICAgW21faW1tZWRpYXRlQWN0
aW9uR2VzdHVyZVJlY29nbml6ZXIgc2V0RGVsZWdhdGU6bV9pbW1lZGlhdGVBY3Rpb25Db250cm9s
bGVyLmdldCgpXTsKICAgICAgICAgW21faW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIg
c2V0RGVsYXlzUHJpbWFyeU1vdXNlQnV0dG9uRXZlbnRzOk5PXTsKICAgICB9Ci0jZW5kaWYKLQog
CiAgICAgbV9wYWdlLT5zZXRBZGRzVmlzaXRlZExpbmtzKHByb2Nlc3NQb29sLmhpc3RvcnlDbGll
bnQoKS5hZGRzVmlzaXRlZExpbmtzKCkpOwogCkBAIC01MDIsOSArNDkxLDcgQEAgV2ViVmlld0lt
cGw6On5XZWJWaWV3SW1wbCgpCiAKICAgICBbbV9sYXlvdXRTdHJhdGVneSBpbnZhbGlkYXRlXTsK
IAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW21f
aW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciB3aWxsRGVzdHJveVZpZXc6bV92aWV3XTsKLSNlbmRp
ZgogCiAgICAgbV9wYWdlLT5jbG9zZSgpOwogCkBAIC04MDAsNyArNzg3LDYgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0QXV0b21hdGljYWxseUFkanVzdAogCiB2b2lkIFdlYlZpZXdJbXBsOjp1cGRh
dGVDb250ZW50SW5zZXRzSWZBdXRvbWF0aWMoKQogewotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgaWYgKCFtX2F1dG9tYXRpY2FsbHlBZGp1c3RzQ29u
dGVudEluc2V0cykKICAgICAgICAgcmV0dXJuOwogCkBAIC04MTIsNyArNzk4LDYgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6dXBkYXRlQ29udGVudEluc2V0c0lmQQogICAgICAgICAgICAgc2V0VG9wQ29u
dGVudEluc2V0KG5ld1RvcENvbnRlbnRJbnNldCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHNldFRv
cENvbnRlbnRJbnNldCgwKTsKLSNlbmRpZgogfQogCiB2b2lkIFdlYlZpZXdJbXBsOjpzZXRUb3BD
b250ZW50SW5zZXQoQ0dGbG9hdCBjb250ZW50SW5zZXQpCkBAIC0xMTgyLDEwICsxMTY3LDggQEAg
dm9pZCBXZWJWaWV3SW1wbDo6dmlld0RpZE1vdmVUb1dpbmRvdygpCiAKICAgICAgICAgYWNjZXNz
aWJpbGl0eVJlZ2lzdGVyVUlQcm9jZXNzVG9rZW5zKCk7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAgICBpZiAobV9pbW1lZGlhdGVBY3Rpb25H
ZXN0dXJlUmVjb2duaXplciAmJiAhW1ttX3ZpZXcgZ2VzdHVyZVJlY29nbml6ZXJzXSBjb250YWlu
c09iamVjdDptX2ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdldCgpXSAmJiAhbV9p
Z25vcmVzTm9uV2hlZWxFdmVudHMgJiYgbV9hbGxvd3NMaW5rUHJldmlldykKICAgICAgICAgICAg
IFttX3ZpZXcgYWRkR2VzdHVyZVJlY29nbml6ZXI6bV9pbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVj
b2duaXplci5nZXQoKV07Ci0jZW5kaWYKICAgICB9IGVsc2UgewogICAgICAgICBXZWJDb3JlOjpW
aWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZUNoYW5nZXMgPSBXZWJDb3JlOjpWaWV3U3RhdGU6Oldp
bmRvd0lzQWN0aXZlIHwgV2ViQ29yZTo6Vmlld1N0YXRlOjpJc1Zpc2libGU7CiAgICAgICAgIGlm
IChtX2lzRGVmZXJyaW5nVmlld0luV2luZG93Q2hhbmdlcykKQEAgLTExOTksMTAgKzExODIsOCBA
QCB2b2lkIFdlYlZpZXdJbXBsOjp2aWV3RGlkTW92ZVRvV2luZG93KCkKIAogICAgICAgICBkaXNt
aXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5kb3dzV2l0aEFuaW1hdGlvbihmYWxzZSk7CiAKLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAgICBpZiAo
bV9pbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXplcikKICAgICAgICAgICAgIFttX3ZpZXcg
cmVtb3ZlR2VzdHVyZVJlY29nbml6ZXI6bV9pbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXpl
ci5nZXQoKV07Ci0jZW5kaWYKICAgICB9CiAKICAgICBtX3BhZ2UtPnNldEludHJpbnNpY0Rldmlj
ZVNjYWxlRmFjdG9yKGludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKCkpOwpAQCAtMjE1OCwyNyAr
MjEzOSwyMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpkaXNtaXNzQ29udGVudFJlbGF0aXZlCiB2b2lk
IFdlYlZpZXdJbXBsOjpkaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5kb3dzRnJvbVZpZXdP
bmx5KCkKIHsKICAgICBib29sIGhhc0FjdGl2ZUltbWVkaWF0ZUFjdGlvbiA9IGZhbHNlOwotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgaGFzQWN0aXZl
SW1tZWRpYXRlQWN0aW9uID0gW21faW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciBoYXNBY3RpdmVJ
bW1lZGlhdGVBY3Rpb25dOwotI2VuZGlmCiAKICAgICAvLyBGSVhNRTogV2UgZG9uJ3Qga25vdyB3
aGljaCBwYW5lbCB3ZSBhcmUgZGlzbWlzc2luZywgaXQgbWF5IG5vdCBldmVuIGJlIGluIHRoZSBj
dXJyZW50IHBhZ2UgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM4NzU3NjY+KS4KICAgICBpZiAobV92
aWV3LndpbmRvdy5pc0tleVdpbmRvdyB8fCBoYXNBY3RpdmVJbW1lZGlhdGVBY3Rpb24pIHsKICAg
ICAgICAgV2ViQ29yZTo6RGljdGlvbmFyeUxvb2t1cDo6aGlkZVBvcHVwKCk7CiAKLSNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgICAgICBEREFjdGlvbnNN
YW5hZ2VyICphY3Rpb25zTWFuYWdlciA9IFtnZXREREFjdGlvbnNNYW5hZ2VyQ2xhc3MoKSBzaGFy
ZWRNYW5hZ2VyXTsKICAgICAgICAgaWYgKFthY3Rpb25zTWFuYWdlciByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHJlcXVlc3RCdWJibGVDbG9zdXJlVW5hbmNob3JPbkZhaWx1cmU6KV0pCiAg
ICAgICAgICAgICBbYWN0aW9uc01hbmFnZXIgcmVxdWVzdEJ1YmJsZUNsb3N1cmVVbmFuY2hvck9u
RmFpbHVyZTpZRVNdOwotI2VuZGlmCiAgICAgfQogCiAgICAgY2xlYXJUZXh0SW5kaWNhdG9yV2l0
aEFuaW1hdGlvbihXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93RGlzbWlzc2FsQW5pbWF0aW9u
OjpGYWRlT3V0KTsKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
MDAwCiAgICAgW21faW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciBkaXNtaXNzQ29udGVudFJlbGF0
aXZlQ2hpbGRXaW5kb3dzXTsKLSNlbmRpZgotICAgIAorCiAgICAgbV9wYWdlQ2xpZW50LT5kaXNt
aXNzQ29ycmVjdGlvblBhbmVsKFdlYkNvcmU6OlJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2
ZVRleHRJZ25vcmVkKTsKIH0KIApAQCAtMjE5MiwxMiArMjE2NywxMCBAQCB2b2lkIFdlYlZpZXdJ
bXBsOjpxdWlja0xvb2tXaXRoRXZlbnQoTlNFCiAgICAgaWYgKGlnbm9yZXNOb25XaGVlbEV2ZW50
cygpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTAwMAogICAgIGlmIChtX2ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVy
KSB7CiAgICAgICAgIFttX3ZpZXcgX3dlYl9zdXBlclF1aWNrTG9va1dpdGhFdmVudDpldmVudF07
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKIAogICAgIE5TUG9pbnQgbG9jYXRpb25J
blZpZXdDb29yZGluYXRlcyA9IFttX3ZpZXcgY29udmVydFBvaW50OltldmVudCBsb2NhdGlvbklu
V2luZG93XSBmcm9tVmlldzpuaWxdOwogICAgIG1fcGFnZS0+cGVyZm9ybURpY3Rpb25hcnlMb29r
dXBBdExvY2F0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQobG9jYXRpb25JblZpZXdDb29yZGluYXRl
cykpOwpAQCAtMjIyMCwxMiArMjE5MywxMCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRBbGxvd3NM
aW5rUHJldmlldyhiCiAKICAgICBtX2FsbG93c0xpbmtQcmV2aWV3ID0gYWxsb3dzTGlua1ByZXZp
ZXc7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAg
IGlmICghYWxsb3dzTGlua1ByZXZpZXcpCiAgICAgICAgIFttX3ZpZXcgcmVtb3ZlR2VzdHVyZVJl
Y29nbml6ZXI6bV9pbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKV07CiAgICAg
ZWxzZSBpZiAoTlNHZXN0dXJlUmVjb2duaXplciAqaW1tZWRpYXRlQWN0aW9uUmVjb2duaXplciA9
IG1faW1tZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCkpCiAgICAgICAgIFttX3Zp
ZXcgYWRkR2VzdHVyZVJlY29nbml6ZXI6aW1tZWRpYXRlQWN0aW9uUmVjb2duaXplcl07Ci0jZW5k
aWYKIH0KIAogdm9pZCogV2ViVmlld0ltcGw6OmltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRy
b2xsZXJGb3JIaXRUZXN0UmVzdWx0KEFQSTo6SGl0VGVzdFJlc3VsdCogaGl0VGVzdFJlc3VsdCwg
dWludDMyX3QgdHlwZSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQpAQCAtMjIzNSw5ICsyMjA2LDcg
QEAgdm9pZCogV2ViVmlld0ltcGw6OmltbWVkaWF0ZUFjdGlvbkFuaW1hdAogCiB2b2lkIFdlYlZp
ZXdJbXBsOjpkaWRQZXJmb3JtSW1tZWRpYXRlQWN0aW9uSGl0VGVzdChjb25zdCBXZWJIaXRUZXN0
UmVzdWx0RGF0YSYgcmVzdWx0LCBib29sIGNvbnRlbnRQcmV2ZW50c0RlZmF1bHQsIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSkKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTAwMAogICAgIFttX2ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIgZGlkUGVyZm9ybUltbWVk
aWF0ZUFjdGlvbkhpdFRlc3Q6cmVzdWx0IGNvbnRlbnRQcmV2ZW50c0RlZmF1bHQ6Y29udGVudFBy
ZXZlbnRzRGVmYXVsdCB1c2VyRGF0YTp1c2VyRGF0YV07Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJW
aWV3SW1wbDo6cHJlcGFyZUZvckltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbigpCkBAIC0yMjY4LDE0
ICsyMjM3LDEyIEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldElnbm9yZXNOb25XaGVlbEV2ZW4KICAg
ICBtX2lnbm9yZXNOb25XaGVlbEV2ZW50cyA9IGlnbm9yZXNOb25XaGVlbEV2ZW50czsKICAgICBt
X3BhZ2UtPnNldFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyghaWdub3Jlc05vbldo
ZWVsRXZlbnRzKTsKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
MDAwCiAgICAgaWYgKGlnbm9yZXNOb25XaGVlbEV2ZW50cykKICAgICAgICAgW21fdmlldyByZW1v
dmVHZXN0dXJlUmVjb2duaXplcjptX2ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdl
dCgpXTsKICAgICBlbHNlIGlmIChOU0dlc3R1cmVSZWNvZ25pemVyICppbW1lZGlhdGVBY3Rpb25S
ZWNvZ25pemVyID0gbV9pbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKSkgewog
ICAgICAgICBpZiAobV9hbGxvd3NMaW5rUHJldmlldykKICAgICAgICAgICAgIFttX3ZpZXcgYWRk
R2VzdHVyZVJlY29nbml6ZXI6aW1tZWRpYXRlQWN0aW9uUmVjb2duaXplcl07CiAgICAgfQotI2Vu
ZGlmCiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldElnbm9yZXNBbGxFdmVudHMoYm9vbCBpZ25v
cmVzQWxsRXZlbnRzKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21h
Yy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0JKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5j
aGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMsMTMgKzIwMyw4IEBAIHN0YXRpYyB2b2lk
IGNvbm5lY3RUb1NlcnZpY2UoY29uc3QgUHJvY2UKIHsKICAgICAvLyBDcmVhdGUgYSBjb25uZWN0
aW9uIHRvIHRoZSBXZWJLaXQgWFBDIHNlcnZpY2UuCiAgICAgYXV0byBjb25uZWN0aW9uID0gYWRv
cHRPU09iamVjdCh4cGNfY29ubmVjdGlvbl9jcmVhdGUoc2VydmljZU5hbWUobGF1bmNoT3B0aW9u
cywgZm9yRGV2ZWxvcG1lbnQpLCAwKSk7Ci0jaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIHhwY19jb25uZWN0aW9uX3NldF9v
bmVzaG90X2luc3RhbmNlKGNvbm5lY3Rpb24uZ2V0KCksIGluc3RhbmNlVVVJRC0+dXVpZCk7Ci0j
ZWxzZQotICAgIHhwY19jb25uZWN0aW9uX3NldF9pbnN0YW5jZShjb25uZWN0aW9uLmdldCgpLCBp
bnN0YW5jZVVVSUQtPnV1aWQpOwotI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgLy8gSW5oZXJpdCBVSSBw
cm9jZXNzIGxvY2FsaXphdGlvbi4gSXQgY2FuIGJlIGRpZmZlcmVudCBmcm9tIGNoaWxkIHByb2Nl
c3MgZGVmYXVsdCBsb2NhbGl6YXRpb246CiAgICAgLy8gMS4gV2hlbiB0aGUgYXBwbGljYXRpb24g
YW5kIHN5c3RlbSBmcmFtZXdvcmtzIHNpbXBseSBoYXZlIGRpZmZlcmVudCBsb2NhbGl6ZWQgcmVz
b3VyY2VzIGF2YWlsYWJsZSwgd2Ugc2hvdWxkIG1hdGNoIHRoZSBhcHBsaWNhdGlvbi4KICAgICAv
LyAxLjEuIEFuIGltcG9ydGFudCBjYXNlIGlzIFdlYktpdFRlc3RSdW5uZXIsIHdoZXJlIHdlIHNo
b3VsZCB1c2UgRW5nbGlzaCBsb2NhbGl6YXRpb25zIGZvciBhbGwgc3lzdGVtIGZyYW1ld29ya3Mu
CkBAIC0yMzksNyArMjM0LDYgQEAgc3RhdGljIHZvaWQgY29ubmVjdFRvU2VydmljZShjb25zdCBQ
cm9jZQogICAgIH0KIAogICAgIHhwY19jb25uZWN0aW9uX3NldF9ib290c3RyYXAoY29ubmVjdGlv
bi5nZXQoKSwgaW5pdGlhbGl6YXRpb25NZXNzYWdlLmdldCgpKTsKLSNlbmRpZgogCiAgICAgLy8g
WFBDIHJlcXVpcmVzIGhhdmluZyBhbiBldmVudCBoYW5kbGVyLCBldmVuIGlmIGl0IGlzIG5vdCB1
c2VkLgogICAgIHhwY19jb25uZWN0aW9uX3NldF9ldmVudF9oYW5kbGVyKGNvbm5lY3Rpb24uZ2V0
KCksIF4oeHBjX29iamVjdF90IGV2ZW50KSB7IH0pOwpAQCAtMzM1LDExICszMjksNyBAQCBzdGF0
aWMgdm9pZCBjb25uZWN0VG9SZUV4ZWNTZXJ2aWNlKGNvbnN0CiAgICAgLy8gRklYTUU6IEl0IHdv
dWxkIGJlIG5pY2UgaWYgd2UgY291bGQgdXNlIE9TT2JqZWN0UHRyIGZvciB0aGlzIGNvbm5lY3Rp
b24gYXMgd2VsbCwgYnV0IHdlJ2QgaGF2ZSB0byBiZSBjYXJlZnVsCiAgICAgLy8gbm90IHRvIGlu
dHJvZHVjZSBhbnkgcmV0YWluIGN5Y2xlcyBpbiB0aGUgY2FsbCB0byB4cGNfY29ubmVjdGlvbl9z
ZXRfZXZlbnRfaGFuZGxlciBiZWxvdy4KICAgICB4cGNfY29ubmVjdGlvbl90IHJlRXhlY0Nvbm5l
Y3Rpb24gPSB4cGNfY29ubmVjdGlvbl9jcmVhdGUoc2VydmljZU5hbWUobGF1bmNoT3B0aW9ucywg
dHJ1ZSksIDApOwotI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEwMDAKICAgICB4cGNfY29ubmVjdGlvbl9zZXRfb25lc2hvdF9pbnN0YW5j
ZShyZUV4ZWNDb25uZWN0aW9uLCBpbnN0YW5jZVVVSUQtPnV1aWQpOwotI2Vsc2UKLSAgICB4cGNf
Y29ubmVjdGlvbl9zZXRfaW5zdGFuY2UocmVFeGVjQ29ubmVjdGlvbiwgaW5zdGFuY2VVVUlELT51
dWlkKTsKLSNlbmRpZgogCiAgICAgLy8gS2VlcCB0aGUgUHJvY2Vzc0xhdW5jaGVyIGFsaXZlIHdo
aWxlIHdlIGRvIHRoZSByZS1leGVjaW5nIChiYWxhbmNlZCBpbiBldmVudCBoYW5kbGVyKS4KICAg
ICB0aGF0LT5yZWYoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQkod29ya2luZyBjb3B5KQpAQCAtNzcxLDkgKzc3
MSw3IEBAIENHUmVjdCBQYWdlQ2xpZW50SW1wbDo6Ym91bmRzT2ZMYXllckluTGEKIAogdm9pZCBQ
YWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3QoY29uc3QgV2Vi
SGl0VGVzdFJlc3VsdERhdGEmIHJlc3VsdCwgYm9vbCBjb250ZW50UHJldmVudHNEZWZhdWx0LCBB
UEk6Ok9iamVjdCogdXNlckRhdGEpCiB7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEwMDAKICAgICBtX2ltcGwtPmRpZFBlcmZvcm1JbW1lZGlhdGVBY3Rpb25IaXRU
ZXN0KHJlc3VsdCwgY29udGVudFByZXZlbnRzRGVmYXVsdCwgdXNlckRhdGEpOwotI2VuZGlmCiB9
CiAKIHZvaWQqIFBhZ2VDbGllbnRJbXBsOjppbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9s
bGVyRm9ySGl0VGVzdFJlc3VsdChSZWZQdHI8QVBJOjpIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVz
dWx0LCB1aW50NjRfdCB0eXBlLCBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhKQpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRl
QWN0aW9uQ29udHJvbGxlci5oCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlcl9o
CiAjZGVmaW5lIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlcl9oCiAKLSNpZiBQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCisjaWYgUExB
VEZPUk0oTUFDKQogCiAjaW1wb3J0ICJXS0ltbWVkaWF0ZUFjdGlvblR5cGVzLmgiCiAjaW1wb3J0
ICJXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIgpAQCAtNzYsNiArNzYsNiBAQCBAaW50ZXJmYWNlIFdL
SW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciA6CiAKIEBlbmQKIAotI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNlbmRp
ZiAvLyBQTEFURk9STShNQUMpCiAKICNlbmRpZiAvLyBXS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xs
ZXJfaApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlv
bkNvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIldLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5oIgogCi0jaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIFBMQVRG
T1JNKE1BQykKIAogI2ltcG9ydCAiQVBJSGl0VGVzdFJlc3VsdC5oIgogI2ltcG9ydCAiV0tOU1VS
TEV4dHJhcy5oIgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0
b3JQcm94eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYkluc3BlY3RvclByb3h5TWFjLm1tCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC01NSwxNiArNTUsNyBAQCBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0
b3JVCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
LSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwOTAKLS8vIFRoZSBoZWln
aHQgbmVlZGVkIHRvIG1hdGNoIGEgdHlwaWNhbCBOU1Rvb2xiYXIuCi1zdGF0aWMgY29uc3QgQ0dG
bG9hdCB3aW5kb3dDb250ZW50Qm9yZGVyVGhpY2tuZXNzID0gNTU7Ci0jZW5kaWYKLQotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiBzdGF0aWMgY29uc3QgTlNV
SW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1RpdGxlZFdpbmRvd01hc2sgfCBOU0Nsb3NhYmxl
V2luZG93TWFzayB8IE5TTWluaWF0dXJpemFibGVXaW5kb3dNYXNrIHwgTlNSZXNpemFibGVXaW5k
b3dNYXNrIHwgTlNGdWxsU2l6ZUNvbnRlbnRWaWV3V2luZG93TWFzazsKLSNlbHNlCi1zdGF0aWMg
Y29uc3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1RpdGxlZFdpbmRvd01hc2sgfCBO
U0Nsb3NhYmxlV2luZG93TWFzayB8IE5TTWluaWF0dXJpemFibGVXaW5kb3dNYXNrIHwgTlNSZXNp
emFibGVXaW5kb3dNYXNrIHwgTlNUZXh0dXJlZEJhY2tncm91bmRXaW5kb3dNYXNrOwotI2VuZGlm
CiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3JlIGNsb3Npbmcg
aXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXByb3ZlcyBzdGFy
dCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhlIEluc3BlY3Rv
ci4KQEAgLTMwMSwxMiArMjkyLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlSW5z
cGVjdG9yVwogICAgIFt3aW5kb3cgc2V0Q29sbGVjdGlvbkJlaGF2aW9yOihbd2luZG93IGNvbGxl
Y3Rpb25CZWhhdmlvcl0gfCBOU1dpbmRvd0NvbGxlY3Rpb25CZWhhdmlvckZ1bGxTY3JlZW5BbGxv
d3NUaWxpbmcpXTsKICNlbmRpZgogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEwMDAKICAgICB3aW5kb3cudGl0bGViYXJBcHBlYXJzVHJhbnNwYXJlbnQgPSBZRVM7
Ci0jZWxzZQotICAgIFt3aW5kb3cgc2V0QXV0b3JlY2FsY3VsYXRlc0NvbnRlbnRCb3JkZXJUaGlj
a25lc3M6Tk8gZm9yRWRnZTpOU01heFlFZGdlXTsKLSAgICBbd2luZG93IHNldENvbnRlbnRCb3Jk
ZXJUaGlja25lc3M6d2luZG93Q29udGVudEJvcmRlclRoaWNrbmVzcyBmb3JFZGdlOk5TTWF4WUVk
Z2VdOwotI2VuZGlmCiAKICAgICBtX2luc3BlY3RvcldpbmRvdyA9IGFkb3B0TlMod2luZG93KTsK
IApAQCAtMzk1LDEzICszODEsNyBAQCBXZWJQYWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9yCiAgICAgbV9pbnNwZWN0b3JWaWV3ID0gYWRvcHROUyhbW1dLV2ViSW5zcGVjdG9yV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOmluaXRpYWxSZWN0IGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIEFTU0VSVChtX2luc3BlY3RvclZpZXcpOwogCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8PSAxMDkwMAotICAgIG1faW5zcGVjdG9y
Vmlldy0+X3BhZ2UtPnNldERyYXdzQmFja2dyb3VuZChmYWxzZSk7Ci0jZW5kaWYKLQotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW21faW5zcGVjdG9y
VmlldyBfc2V0QXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5zZXRzOk5PXTsKLSNlbmRpZgog
CiAgICAgbV9pbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyID0gYWRvcHROUyhbW1dLV2ViSW5zcGVj
dG9yUHJveHlPYmpDQWRhcHRlciBhbGxvY10gaW5pdFdpdGhXZWJJbnNwZWN0b3JQcm94eTp0aGlz
XSk7CiAgICAgQVNTRVJUKG1faW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlcik7CkBAIC04MDYsOSAr
Nzg2LDYgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRBdHRhYwogCiB2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldFRvb2xiYXJIZWlnaHQodW5zaWduZWQgaGVp
Z2h0KQogewotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPD0gMTA5MAotICAg
IFttX2luc3BlY3RvcldpbmRvdyBzZXRDb250ZW50Qm9yZGVyVGhpY2tuZXNzOmhlaWdodCBmb3JF
ZGdlOk5TTWF4WUVkZ2VdOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtU3RhcnRXaW5kb3dEcmFnKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtODYzMyw3ICs4NjMzLDYgQEAKIAkJCQlCQzNERTQ2MjE1QTkxNzYzMDA4RDI2RkMgLyog
U291cmNlcyAqLywKIAkJCQlCQ0RDMzA4RDE1RkRCOTlBMDA2QjY2OTUgLyogRnJhbWV3b3JrcyAq
LywKIAkJCQlCQzNERTQ2NDE1QTkxNzYzMDA4RDI2RkMgLyogUmVzb3VyY2VzICovLAotCQkJCUUx
OUM3RERCMTk0QTVFOTEwMEYxODY2RiAvKiBBZGQgQ0ZCdW5kbGUgTG9jYWxpemF0aW9uIEluZm8u
cGxpc3QgS2V5ICovLAogCQkJKTsKIAkJCWJ1aWxkUnVsZXMgPSAoCiAJCQkpOwpAQCAtODc0Miw3
ICs4NzQxLDYgQEAKIAkJCQlCQ0FFOURFNTE2MEMwOTc0MDBBMzMyMTcgLyogU291cmNlcyAqLywK
IAkJCQlCQ0FFOURFNjE2MEMwOTc0MDBBMzMyMTcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQlCQ0FF
OURFNzE2MEMwOTc0MDBBMzMyMTcgLyogUmVzb3VyY2VzICovLAotCQkJCUUxOUM3RERBMTk0QTRD
OTUwMEYxODY2RiAvKiBBZGQgQ0ZCdW5kbGUgTG9jYWxpemF0aW9uIEluZm8ucGxpc3QgS2V5ICov
LAogCQkJKTsKIAkJCWJ1aWxkUnVsZXMgPSAoCiAJCQkpOwpAQCAtOTI1NiwzNCArOTI1NCw2IEBA
CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5jZCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcblxuZXhwb3J0IFdlYktp
dDI9XCIke1NSQ1JPT1R9XCJcblxuaWYgWyAhICRDQyBdOyB0aGVuXG4gICAgZXhwb3J0IENDPVwi
YHhjcnVuIC1maW5kIGNsYW5nYFwiXG5maVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxk
XCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImlu
c3RhbGxoZHJzXCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzIC1mIFwiJHtX
ZWJLaXQyfS9EZXJpdmVkU291cmNlcy5tYWtlXCIgLWogYC91c3Ivc2Jpbi9zeXNjdGwgLW4gaHcu
YWN0aXZlY3B1YCBTREtST09UPSR7U0RLUk9PVH1cbmZpXG4iOwogCQl9OwotCQlFMTlDN0REQTE5
NEE0Qzk1MDBGMTg2NkYgLyogQWRkIENGQnVuZGxlIExvY2FsaXphdGlvbiBJbmZvLnBsaXN0IEtl
eSAqLyA9IHsKLQkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCSk7Ci0JCQlpbnB1dFBhdGhz
ID0gKAotCQkJKTsKLQkJCW5hbWUgPSAiQWRkIENGQnVuZGxlIExvY2FsaXphdGlvbiBJbmZvLnBs
aXN0IEtleSI7Ci0JCQlvdXRwdXRQYXRocyA9ICgKLQkJCSk7Ci0JCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLQkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVs
bFNjcmlwdCA9ICIvdXNyL2xpYmV4ZWMvUGxpc3RCdWRkeSAtYyBcIlByaW50IDokQlVORExFX0xP
Q0FMSVpBVElPTl9LRVlcIiAkVEFSR0VUX0JVSUxEX0RJUi8kSU5GT1BMSVNUX1BBVEggPi9kZXYv
bnVsbCAyPi9kZXYvbnVsbFxuaWYgW1sgJD8gIT0gMCBdXTsgdGhlblxuICAgIGVjaG8gXCJVcGRh
dGluZyB0aGUgSW5mby5wbGlzdCBrZXlcIlxuICAgIC91c3IvbGliZXhlYy9QbGlzdEJ1ZGR5IC1j
IFwiRGVsZXRlIDpDRkJ1bmRsZUFsbG93TWl4ZWRMb2NhbGl6YXRpb25zXCIgJFRBUkdFVF9CVUlM
RF9ESVIvJElORk9QTElTVF9QQVRIIDI+L2Rldi9udWxsXG4gICAgL3Vzci9saWJleGVjL1BsaXN0
QnVkZHkgLWMgXCJEZWxldGUgOkNGQnVuZGxlRm9sbG93UGFyZW50TG9jYWxpemF0aW9uXCIgJFRB
UkdFVF9CVUlMRF9ESVIvJElORk9QTElTVF9QQVRIIDI+L2Rldi9udWxsXG4gICAgL3Vzci9saWJl
eGVjL1BsaXN0QnVkZHkgLWMgXCJBZGQgOiRCVU5ETEVfTE9DQUxJWkFUSU9OX0tFWSBib29sIHRy
dWVcIiAkVEFSR0VUX0JVSUxEX0RJUi8kSU5GT1BMSVNUX1BBVEhcbiAgICBpZiBbWyAke1BMSVNU
X0ZJTEVfT1VUUFVUX0ZPUk1BVH0gPT0gXCJiaW5hcnlcIiBdXTsgdGhlblxuICAgICAgICBwbHV0
aWwgLWNvbnZlcnQgYmluYXJ5MSBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtJTkZPUExJU1RfUEFU
SH1cIiB8fCBleGl0ICQ/XG4gICAgZmlcbiAgICBlY2hvIFwiRG9uZVwiXG5maVxuIjsKLQkJfTsK
LQkJRTE5QzdEREIxOTRBNUU5MTAwRjE4NjZGIC8qIEFkZCBDRkJ1bmRsZSBMb2NhbGl6YXRpb24g
SW5mby5wbGlzdCBLZXkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
Ci0JCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwotCQkJZmlsZXMgPSAoCi0JCQkpOwot
CQkJaW5wdXRQYXRocyA9ICgKLQkJCSk7Ci0JCQluYW1lID0gIkFkZCBDRkJ1bmRsZSBMb2NhbGl6
YXRpb24gSW5mby5wbGlzdCBLZXkiOwotCQkJb3V0cHV0UGF0aHMgPSAoCi0JCQkpOwotCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0JCQlzaGVsbFBhdGggPSAvYmlu
L3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiL3Vzci9saWJleGVjL1BsaXN0QnVkZHkgLWMgXCJQcmlu
dCA6JEJVTkRMRV9MT0NBTElaQVRJT05fS0VZXCIgJFRBUkdFVF9CVUlMRF9ESVIvJElORk9QTElT
VF9QQVRIID4vZGV2L251bGwgMj4vZGV2L251bGxcbmlmIFtbICQ/ICE9IDAgXV07IHRoZW5cbiAg
ICBlY2hvIFwiVXBkYXRpbmcgdGhlIEluZm8ucGxpc3Qga2V5XCJcbiAgICAvdXNyL2xpYmV4ZWMv
UGxpc3RCdWRkeSAtYyBcIkRlbGV0ZSA6Q0ZCdW5kbGVBbGxvd01peGVkTG9jYWxpemF0aW9uc1wi
ICRUQVJHRVRfQlVJTERfRElSLyRJTkZPUExJU1RfUEFUSCAyPi9kZXYvbnVsbFxuICAgIC91c3Iv
bGliZXhlYy9QbGlzdEJ1ZGR5IC1jIFwiRGVsZXRlIDpDRkJ1bmRsZUZvbGxvd1BhcmVudExvY2Fs
aXphdGlvblwiICRUQVJHRVRfQlVJTERfRElSLyRJTkZPUExJU1RfUEFUSCAyPi9kZXYvbnVsbFxu
ICAgIC91c3IvbGliZXhlYy9QbGlzdEJ1ZGR5IC1jIFwiQWRkIDokQlVORExFX0xPQ0FMSVpBVElP
Tl9LRVkgYm9vbCB0cnVlXCIgJFRBUkdFVF9CVUlMRF9ESVIvJElORk9QTElTVF9QQVRIXG4gICAg
aWYgW1sgJHtQTElTVF9GSUxFX09VVFBVVF9GT1JNQVR9ID09IFwiYmluYXJ5XCIgXV07IHRoZW5c
biAgICAgICAgcGx1dGlsIC1jb252ZXJ0IGJpbmFyeTEgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7
SU5GT1BMSVNUX1BBVEh9XCIgfHwgZXhpdCAkP1xuICAgIGZpXG4gICAgZWNobyBcIkRvbmVcIlxu
ZmlcbiI7Ci0JCX07CiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmlu
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvbS5hcHBs
ZS5XZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsMTAgKzE5NCw4IEBACiAg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuc3BlZWNoLnNwZWVjaHN5bnRoZXNpc2QiKQog
ICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnNwZWVjaC5zeW50aGVzaXMuY29uc29sZSIp
CiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY29yZXNlcnZpY2VzLmxhdW5jaHNlcnZp
Y2VzZCIpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAg
ICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pY29uc2VydmljZXMiKQogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmljb25zZXJ2aWNlcy5zdG9yZSIpCi0jZW5kaWYKICNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuZmxvdy1kaXZlcnQtdG9rZW4iKQogI2VuZGlm
CkBAIC0yNzcsMTEgKzI3NSw3IEBACiAoZGVueSBmaWxlLXdyaXRlLXhhdHRyICh4YXR0ciAiY29t
LmFwcGxlLnF1YXJhbnRpbmUiKSAod2l0aCBuby1sb2cpKQogCiA7OyBSZXNlcnZlIGEgbmFtZXNw
YWNlIGZvciBhZGRpdGlvbmFsIHByb3RlY3RlZCBleHRlbmRlZCBhdHRyaWJ1dGVzLgotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDkwCiAoZGVueSBmaWxlLXJlYWQteGF0
dHIgZmlsZS13cml0ZS14YXR0ciAoeGF0dHItcmVnZXggIyJeY29tXC5hcHBsZVwuc2VjdXJpdHlc
LnByaXZhdGVcLiIpKQotI2Vsc2UKLShkZW55IGZpbGUtcmVhZC14YXR0ciBmaWxlLXdyaXRlLXhh
dHRyICh4YXR0ciAjIl5jb21cLmFwcGxlXC5zZWN1cml0eVwucHJpdmF0ZVwuIikpCi0jZW5kaWYK
IAogKGRlbnkgZmlsZS1yZWFkKiBmaWxlLXdyaXRlKiAod2l0aCBuby1sb2cpCiAgICAgICAgOzsg
RklYTUU6IFNob3VsZCBiZSByZW1vdmVkIGFmdGVyIDxyZGFyOi8vcHJvYmxlbS8xMDQ2Mzg4MT4g
aXMgZml4ZWQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFj
L1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2UuRGV2ZWxvcG1lbnQvSW5mby1PU1gucGxpc3QK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9Y
UENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50L0luZm8tT1NYLnBsaXN0CShy
ZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQv
bWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2UuRGV2ZWxvcG1lbnQvSW5mby1PU1gucGxp
c3QJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw4IEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElD
ICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERz
L1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+CisJ
PGtleT5DRkJ1bmRsZUZvbGxvd1BhcmVudExvY2FsaXphdGlvbjwva2V5PgorCTx0cnVlLz4KIAk8
a2V5PkNGQnVuZGxlR2V0SW5mb1N0cmluZzwva2V5PgogCTxzdHJpbmc+JHtCVU5ETEVfVkVSU0lP
Tn0sIENvcHlyaWdodCAyMDAzLTIwMTUgQXBwbGUgSW5jLjwvc3RyaW5nPgogCTxrZXk+Q0ZCdW5k
bGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50
L0luZm8taU9TLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
RW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2VydmljZS5EZXZlbG9wbWVudC9J
bmZvLWlPUy5wbGlzdAkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3Bt
ZW50L0luZm8taU9TLnBsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsOCBAQAogPCFET0NU
WVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3
dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0i
MS4wIj4KIDxkaWN0PgorCTxrZXk+Q0ZCdW5kbGVGb2xsb3dQYXJlbnRMb2NhbGl6YXRpb248L2tl
eT4KKwk8dHJ1ZS8+CiAJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4KIAk8c3RyaW5n
PiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDE1IEFwcGxlIEluYy48L3N0cmlu
Zz4KIAk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2Vy
dmljZS9JbmZvLU9TWC0xMC45LTEwLjEwLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2Vydmlj
ZS9JbmZvLU9TWC0xMC45LTEwLjEwLnBsaXN0CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNl
cnZpY2UvSW5mby1PU1gtMTAuOS0xMC4xMC5wbGlzdAkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsy
LDggQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9F
TiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBs
aXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRm9sbG93UGFyZW50TG9j
YWxpemF0aW9uPC9rZXk+CisJPHRydWUvPgogCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9r
ZXk+CiAJPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfSwgQ29weXJpZ2h0IDIwMDMtMjAxNSBBcHBs
ZSBJbmMuPC9zdHJpbmc+CiAJPGtleT5DRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uPC9rZXk+Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2Uv
V2ViQ29udGVudFNlcnZpY2UvSW5mby1PU1gucGxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2
aWNlL0luZm8tT1NYLnBsaXN0CShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2UvSW5m
by1PU1gucGxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw4IEBACiA8IURPQ1RZUEUgcGxp
c3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxl
LmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgog
PGRpY3Q+CisJPGtleT5DRkJ1bmRsZUZvbGxvd1BhcmVudExvY2FsaXphdGlvbjwva2V5PgorCTx0
cnVlLz4KIAk8a2V5PkNGQnVuZGxlR2V0SW5mb1N0cmluZzwva2V5PgogCTxzdHJpbmc+JHtCVU5E
TEVfVkVSU0lPTn0sIENvcHlyaWdodCAyMDAzLTIwMTUgQXBwbGUgSW5jLjwvc3RyaW5nPgogCTxr
ZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlL0lu
Zm8taU9TLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50
cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2VydmljZS9JbmZvLWlPUy5wbGlzdAko
cmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50
L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlL0luZm8taU9TLnBsaXN0CSh3b3JraW5n
IGNvcHkpCkBAIC0yLDYgKzIsOCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUv
L0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxp
c3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgorCTxrZXk+Q0ZCdW5k
bGVGb2xsb3dQYXJlbnRMb2NhbGl6YXRpb248L2tleT4KKwk8dHJ1ZS8+CiAJPGtleT5DRkJ1bmRs
ZUdldEluZm9TdHJpbmc8L2tleT4KIAk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmln
aHQgMjAwMy0yMDE1IEFwcGxlIEluYy48L3N0cmluZz4KIAk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1l
bnRSZWdpb248L2tleT4KQEAgLTM4LDYgKzQwLDYgQEAKIAk8a2V5PlVJQmFja2dyb3VuZE1vZGVz
PC9rZXk+CiAJPGFycmF5PgogCQk8c3RyaW5nPmF1ZGlvPC9zdHJpbmc+Ci0JPC9hcnJheT4JCisJ
PC9hcnJheT4KIDwvZGljdD4KIDwvcGxpc3Q+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE5NDMx
NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDEyICs1MCw2IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgMTAxMDAwCi0jZGVmaW5lIEVOQUJMRV9MRUdBQ1lfRklORF9JTkRJQ0FUT1JfU1RZ
TEUgMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9GSU5EX0lORElDQVRPUl9TVFlMRSAw
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBXZWJDb3JlOjpGaW5kT3B0
aW9ucyBjb3JlKEZpbmRPcHRpb25zIG9wdGlvbnMpCkBAIC00NDYsMTcgKzQ0MCwxMCBAQCB2b2lk
IEZpbmRDb250cm9sbGVyOjpkaWRNb3ZlVG9QYWdlKFBhZ2VPCiB7CiB9CiAKLSNpZiBFTkFCTEUo
TEVHQUNZX0ZJTkRfSU5ESUNBVE9SX1NUWUxFKQotY29uc3QgZmxvYXQgc2hhZG93T2Zmc2V0WCA9
IDA7Ci1jb25zdCBmbG9hdCBzaGFkb3dPZmZzZXRZID0gMTsKLWNvbnN0IGZsb2F0IHNoYWRvd0Js
dXJSYWRpdXMgPSAyOwotY29uc3QgZmxvYXQgc2hhZG93Q29sb3JBbHBoYSA9IDE7Ci0jZWxzZQog
Y29uc3QgZmxvYXQgc2hhZG93T2Zmc2V0WCA9IDA7CiBjb25zdCBmbG9hdCBzaGFkb3dPZmZzZXRZ
ID0gMDsKIGNvbnN0IGZsb2F0IHNoYWRvd0JsdXJSYWRpdXMgPSAxOwogY29uc3QgZmxvYXQgc2hh
ZG93Q29sb3JBbHBoYSA9IDAuNTsKLSNlbmRpZgogCiB2b2lkIEZpbmRDb250cm9sbGVyOjpkcmF3
UmVjdChQYWdlT3ZlcmxheSYsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25z
dCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
MDksOSArNTAwOSw2IEBAIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IFdlYlBhZ2U6OnJhbmcK
ICAgICAKIGJvb2wgV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29w
KCkKIHsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMDEwMDAKLSAgICByZXR1cm4gV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJp
bGl0eUVuYWJsZWQoKTsKLSNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIApJbmRleDogU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTUtMTItMTkgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJLaXQgY29udGFpbnMg
ZGVhZCBzb3VyY2UgY29kZSBmb3IgT1MgWCBNYXZlcmlja3MgYW5kIGVhcmxpZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjQ2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVtb3ZlZCBidWlsZCBz
ZXR0aW5nIGRlZmluaXRpb25zIGZvciBPUyBYIDEwLjkgYW5kIGVhcmxpZXIsIGFuZCBzaW1wbGlm
aWVkIGRlZmludGlvbnMKKyAgICAgICAgICB0aGF0IGJlY2FtZSB1bmlmb3JtIGFjcm9zcyBhbGwg
T1MgWCB2ZXJzaW9ucyBhcyBhIHJlc3VsdDoKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Rl
YnVnUmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmln
OgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZzoKKworICAg
ICAgICAtIFNpbXBsaWZpZWQgZXhwcmVzc2lvbnMgaW52b2x2aW5nIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgYW5kIHJlbW92ZWQgY29kZSB0aGF0IHdhcworICAgICAgICAgIG5ldmVy
IGdldHRpbmcgY29tcGlsZWQ6CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQubW06CisgICAgICAgICogV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcu
bW06CisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYklt
bWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW06CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1t
OgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0RhdGEuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXdEYXRhLm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0ludGVybmFsLmg6CisKIDIw
MTUtMTItMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGF0YSBkZXRlY3RvciB5ZWxsb3cgaGlnaGxpZ2h0IGxvY2F0aW9uIGlzIHZlcnRpY2FsbHkg
bWlycm9yZWQgaW4gV2ViS2l0MQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQor
KysgU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBAIEFSQ0hTID0gJChBUkNIU19TVEFOREFS
RF8zMl82NF9CSVQpOwogT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAogTUFDT1NYX0RFUExPWU1F
TlRfVEFSR0VUID0gJChNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfJChQTEFURk9STV9OQU1FKV8k
KFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1NQUNPU1hfREVQTE9ZTUVOVF9UQVJH
RVRfbWFjb3N4XzEwOTAgPSAxMC45OwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8x
MDEwMDAgPSAxMC4xMDsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMTAwID0g
MTAuMTE7CiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwMTIwMCA9IDEwLjEyOwpA
QCAtMzksNyArMzgsNiBAQCBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKIFdFQktJ
VF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllbc2RrPWlwaG9uZW9zKl0gPSBXZWJLaXRTeXN0ZW1J
bnRlcmZhY2VJT1NEZXZpY2UkKElQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUKTsKIFdFQktJVF9T
WVNURU1fSU5URVJGQUNFX0xJQlJBUllbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gV2ViS2l0U3lz
dGVtSW50ZXJmYWNlSU9TU2ltdWxhdG9yJChJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCk7CiBX
RUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZID0gJChXRUJLSVRfU1lTVEVNX0lOVEVSRkFD
RV9MSUJSQVJZXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpP
UikpOwotV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWV9tYWNvc3hfMTA5MCA9IFdlYktp
dFN5c3RlbUludGVyZmFjZU1hdmVyaWNrczsKIFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJB
UllfbWFjb3N4XzEwMTAwMCA9IFdlYktpdFN5c3RlbUludGVyZmFjZVlvc2VtaXRlOwogV0VCS0lU
X1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWV9tYWNvc3hfMTAxMTAwID0gV2ViS2l0U3lzdGVtSW50
ZXJmYWNlRWxDYXBpdGFuOwogV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWV9tYWNvc3hf
MTAxMjAwID0gJChXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21hY29zeF8xMDExMDAp
OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSwxMiArMzUsNyBAQCBFTkFCTEVfM0RfVFJBTlNGT1JNUyA9IEVOQUJMRV8zRF9U
UkFOU0ZPCiBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTID0gOwogRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElOR1tzZGs9aXBob25lKl0gPSBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HOwogRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCA9IEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQ7Ci1FTkFCTEVfQVZGX0NBUFRJT05TW3Nkaz1pcGhvbmUqXSA9IEVO
QUJMRV9BVkZfQ0FQVElPTlM7Ci1FTkFCTEVfQVZGX0NBUFRJT05TW3Nkaz1tYWNvc3gqXSA9ICQo
RU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpP
UikpOwotRU5BQkxFX0FWRl9DQVBUSU9OU19tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9BVkZfQ0FQ
VElPTlNfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9BVkZfQ0FQVElPTlM7Ci1FTkFCTEVfQVZGX0NB
UFRJT05TX21hY29zeF8xMDExMDAgPSBFTkFCTEVfQVZGX0NBUFRJT05TOwotRU5BQkxFX0FWRl9D
QVBUSU9OU19tYWNvc3hfMTAxMjAwID0gRU5BQkxFX0FWRl9DQVBUSU9OUzsKK0VOQUJMRV9BVkZf
Q0FQVElPTlMgPSBFTkFCTEVfQVZGX0NBUFRJT05TOwogRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwpAQCAtNzYsMTIgKzcxLDcg
QEAgRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SID0gRU5BQkxFXwogRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfRU5DUllQVEVEX01FRElBOwogRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMltzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyOwogRU5BQkxFX0ZFVENIX0FQSSA9IEVOQUJMRV9GRVRDSF9BUEk7Ci1FTkFCTEVfRklMVEVS
U19MRVZFTF8yW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9GSUxURVJTX0xFVkVMXzI7Ci1FTkFCTEVf
RklMVEVSU19MRVZFTF8yW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMl9t
YWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMl9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9GSUxURVJTX0xFVkVMXzJfbWFjb3N4XzEw
MTAwMCA9IEVOQUJMRV9GSUxURVJTX0xFVkVMXzI7Ci1FTkFCTEVfRklMVEVSU19MRVZFTF8yX21h
Y29zeF8xMDExMDAgPSBFTkFCTEVfRklMVEVSU19MRVZFTF8yOwotRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMl9tYWNvc3hfMTAxMjAwID0gRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMjsKK0VOQUJMRV9GSUxU
RVJTX0xFVkVMXzIgPSBFTkFCTEVfRklMVEVSU19MRVZFTF8yOwogRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMgPSA7CiBFTkFCTEVfRlVMTFNDUkVFTl9BUElbc2RrPW1hY29zeCpdID0gRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJOwogRU5BQkxFX0dBTUVQQURbc2RrPW1hY29zeCpdID0gRU5BQkxFX0dBTUVQ
QUQ7CkBAIC04OSwxMSArNzksNyBAQCBFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEID0gOwogRU5B
QkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORzsKIEVOQUJMRV9JQ09OREFUQUJBU0Vbc2RrPW1hY29zeCpdID0g
RU5BQkxFX0lDT05EQVRBQkFTRTsKLUVOQUJMRV9TRVJWSUNFX0NPTlRST0xTW3Nkaz1tYWNvc3gq
XSA9ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZF
UlNJT05fTUFKT1IpKTsKLUVOQUJMRV9TRVJWSUNFX0NPTlRST0xTX21hY29zeF8xMDkwID0gOwot
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTOwotRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XzEwMTEwMCA9IEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTOwotRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNfbWFjb3N4XzEwMTIwMCA9
IEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTOworRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFNbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFM7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUyA9IDsKIEVOQUJMRV9JTkRJRV9VSSA9IEVOQUJMRV9JTkRJRV9VSTsKQEAgLTEwNiwx
NiArOTIsMTAgQEAgRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEhbc2RrPWlwaG9uZSpdID0gRQogRU5B
QkxFX0lOUFVUX1RZUEVfVElNRVtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9USU1F
OwogRU5BQkxFX0lOUFVUX1RZUEVfV0VFS1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLOwogCi1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9aXBo
b25lKl0gPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUzsKLUVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0lO
U1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZF
UlNJT05fTUFKT1IpKQotRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFj
b3N4XzEwOTAgPSA7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNv
c3hfMTAxMDAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7Ci1FTkFC
TEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hfMTAxMTAwID0gRU5BQkxF
X0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7Ci1FTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSU19tYWNvc3hfMTAxMjAwID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlM7CitFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUyA9
IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTOwogCiBFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQ7CiBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUW3Nkaz1tYWNvc3gqXSA9
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF9tYWNvc3hfJChUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUikpCi1FTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUX21hY29z
eF8xMDkwID0gOwogRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF9tYWNvc3hfMTAxMDAw
ID0gOwogRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF9tYWNvc3hfMTAxMTAwID0gRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVRfbWFjb3N4XzEwMTIwMCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CkBA
IC0xMjgsNyArMTA4LDYgQEAgRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UU19pb3NfV0lUSF9JTlRF
UgogCiBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTID0gOwogRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UU1tzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFNfbWFjb3N4XyQo
VEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpX1dJVEhfSU5URVJOQUxfU0RLXyQoVVNFX0lO
VEVSTkFMX1NESykpOwotRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UU19tYWNvc3hfMTA5MF9XSVRI
X0lOVEVSTkFMX1NES19ZRVMgPSA7CiBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTX21hY29zeF8x
MDEwMDBfV0lUSF9JTlRFUk5BTF9TREtfWUVTID0gOwogRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
U19tYWNvc3hfMTAxMTAwX1dJVEhfSU5URVJOQUxfU0RLX1lFUyA9IEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFM7CiBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTX21hY29zeF8xMDEyMDBfV0lUSF9J
TlRFUk5BTF9TREtfWUVTID0gRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUzsKQEAgLTE0OCwxMSAr
MTI3LDcgQEAgRU5BQkxFX01BVEhNTCA9IEVOQUJMRV9NQVRITUw7CiBFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUID0gRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVDsKIEVOQUJMRV9NRURJ
QV9TRVNTSU9OID0gOwogCi1FTkFCTEVfTUVESUFfU09VUkNFW3Nkaz1tYWNvc3gqXSA9ICQoRU5B
QkxFX01FRElBX1NPVVJDRV9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikp
OwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9NRURJQV9TT1VS
Q0VfbWFjb3N4XzEwMTAwMCA9IEVOQUJMRV9NRURJQV9TT1VSQ0U7Ci1FTkFCTEVfTUVESUFfU09V
UkNFX21hY29zeF8xMDExMDAgPSBFTkFCTEVfTUVESUFfU09VUkNFOwotRU5BQkxFX01FRElBX1NP
VVJDRV9tYWNvc3hfMTAxMjAwID0gRU5BQkxFX01FRElBX1NPVVJDRTsKK0VOQUJMRV9NRURJQV9T
T1VSQ0Vbc2RrPW1hY29zeCpdID0gRU5BQkxFX01FRElBX1NPVVJDRTsKIAogRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MgPSA7CiBFTkFCTEVfTUVESUFfU1RSRUFNID0gRU5BQkxFX01FRElBX1NUUkVB
TTsKQEAgLTE3MCwxMiArMTQ1LDcgQEAgRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCA9IEVOQUJM
RV9QVUJMSQogRU5BQkxFX1FVT1RBID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
ID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFID0gOwotRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Jbc2RrPWlwaG9uZSpdID0gRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1I7Ci1FTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUltzZGs9bWFjb3N4Kl0g
PSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJT
SU9OX01BSk9SKSk7Ci1FTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUl9tYWNvc3hfMTA5MCA9IDsKLUVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29zeF8xMDEwMDAgPSBFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUjsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29zeF8xMDExMDAgPSBFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUjsKLUVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SX21hY29zeF8xMDEyMDAgPSBF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKK0VOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1I7CiBFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIEVO
QUJMRV9SVUJCRVJfQkFORElOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUlVCQkVSX0JBTkRJTkc7
CiBFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQID0gRU5BQkxFX0NTU19TQ1JPTExfU05BUDsKQEAgLTE4
NSwxMiArMTU1LDcgQEAgRU5BQkxFX1NVQlRMRV9DUllQVE8gPSBFTkFCTEVfU1VCVExFX0NSWQog
RU5BQkxFX1NWR19GT05UUyA9IEVOQUJMRV9TVkdfRk9OVFM7CiBFTkFCTEVfU1ZHX09URl9DT05W
RVJURVIgPSBFTkFCTEVfU1ZHX09URl9DT05WRVJURVI7CiAKLUVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTltzZGs9aXBob25lKl0gPSBFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT047Ci1FTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT05bc2RrPW1hY29zeCpdID0g
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT05fbWFjb3N4XyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTl9t
YWNvc3hfMTA5MCA9IDsKLUVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTl9tYWNvc3hf
MTAxMDAwID0gRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OOwotRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OX21hY29zeF8xMDExMDAgPSBFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT047Ci1FTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT05fbWFjb3N4
XzEwMTIwMCA9IEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTjsKK0VOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTiA9IEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TjsKIAogRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQgPSBFTkFCTEVfVEVNUExBVEVfRUxFTUVOVDsK
IEVOQUJMRV9URVhUX0FVVE9TSVpJTkcgPSA7CkBAIC0yMTksMTIgKzE4NCw3IEBAIEVOQUJMRV9X
RUJfUkVQTEFZX21hY29zeF9EZWJ1ZyA9IEVOQUJMRV8KIEVOQUJMRV9XRUJfUkVQTEFZX21hY29z
eF9SZWxlYXNlID0gRU5BQkxFX1dFQl9SRVBMQVk7CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFC
TEVfV0VCX1NPQ0tFVFM7CiAKLUVOQUJMRV9XRUJfVElNSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJM
RV9XRUJfVElNSU5HOwotRU5BQkxFX1dFQl9USU1JTkdbc2RrPW1hY29zeCpdID0gJChFTkFCTEVf
V0VCX1RJTUlOR19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5B
QkxFX1dFQl9USU1JTkdfbWFjb3N4XzEwOTAgPSA7Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hf
MTAxMDAwID0gRU5BQkxFX1dFQl9USU1JTkc7Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAx
MTAwID0gRU5BQkxFX1dFQl9USU1JTkc7Ci1FTkFCTEVfV0VCX1RJTUlOR19tYWNvc3hfMTAxMjAw
ID0gRU5BQkxFX1dFQl9USU1JTkc7CitFTkFCTEVfV0VCX1RJTUlORyA9IEVOQUJMRV9XRUJfVElN
SU5HOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9WZXJzaW9uLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWcJKHJldmlzaW9uIDE5
NDMxNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAgU0hPUlRfVkVSU0lPTl9TVFJJTkcg
PSAkKFNIT1JUX1ZFUlNJT05fUwogLy8gVGhlIHN5c3RlbSB2ZXJzaW9uIHByZWZpeCBpcyBiYXNl
ZCBvbiB0aGUgY3VycmVudCBzeXN0ZW0gdmVyc2lvbi4KIFNZU1RFTV9WRVJTSU9OX1BSRUZJWFtz
ZGs9aXBob25lKl0gPSA4OwogU1lTVEVNX1ZFUlNJT05fUFJFRklYID0gJChTWVNURU1fVkVSU0lP
Tl9QUkVGSVhfJChQTEFURk9STV9OQU1FKV8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9S
KSk7Ci1TWVNURU1fVkVSU0lPTl9QUkVGSVhfbWFjb3N4XzEwOTAgPSA5OwogU1lTVEVNX1ZFUlNJ
T05fUFJFRklYX21hY29zeF8xMDEwMDAgPSAxMDsKIFNZU1RFTV9WRVJTSU9OX1BSRUZJWF9tYWNv
c3hfMTAxMTAwID0gMTE7CiBTWVNURU1fVkVSU0lPTl9QUkVGSVhfbWFjb3N4XzEwMTIwMCA9IDEy
OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5Lnhj
Y29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dl
YktpdExlZ2FjeS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC00OSw5ICs0OSw2IEBAIFNUQUdFRF9GUkFNRVdPUktTX1NFQVJDSF9QQVRIX1lFUyA9ICQoTkUK
IE9USEVSX0NGTEFHU1tzZGs9bWFjb3N4Kl0gPSAkKE9USEVSX0NGTEFHUykgLWlmcmFtZXdvcmsg
JChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MgLWlmcmFtZXdvcmsgJChTREtST09UKSQoU1lTVEVN
X0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvRnJhbWV3b3JrcyAtaWZy
YW1ld29yayAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvUXVhcnR6
LmZyYW1ld29yay9GcmFtZXdvcmtzIC1pZnJhbWV3b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJS
QVJZX0RJUikvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MgLWlm
cmFtZXdvcmsgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3Jr
czsKIE9USEVSX0NQTFVTUExVU0ZMQUdTID0gJChPVEhFUl9DRkxBR1MpOwogCi1XRUJLSVRfTEVH
QUNZX1NZU1RFTV9GUkFNRVdPUktfTUlTU0lORyA9ICQoV0VCS0lUX0xFR0FDWV9TWVNURU1fRlJB
TUVXT1JLX01JU1NJTkdfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotV0VCS0lU
X0xFR0FDWV9TWVNURU1fRlJBTUVXT1JLX01JU1NJTkdfMTA5MCA9IFlFUzsKLQogR0NDX1BSRUZJ
WF9IRUFERVIgPSBtYWMvV2ViS2l0UHJlZml4Lmg7CiBHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJ
T05TID0gJChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykgRlJBTUVXT1JLX05BTUU9
V2ViS2l0TGVnYWN5ICQoaW5oZXJpdGVkKTsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKFdFQktJ
VFNZU1RFTUlOVEVSRkFDRV9TVEFUSUNfTElCUkFSWV9IRUFERVJTX0ZPTERFUl9QQVRIKSAkKFdF
QkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnMgJChXRUJDT1JFX1BS
SVZBVEVfSEVBREVSU19ESVIpL2ljdSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdExlZ2FjeSIgIiQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZSIgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsKQEAgLTYwLDkgKzU3LDcgQEAgSU5TVEFMTF9QQVRI
ID0gJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaQogSU5TVEFMTF9QQVRIW3Nkaz1tYWNvc3gqXSA9
ICQoV0VCS0lUX0xFR0FDWV9GUkFNRVdPUktTX0RJUik7CiAKIERZTElCX0lOU1RBTExfTkFNRV9C
QVNFW3Nkaz1pcGhvbmUqXSA9ICQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3Jr
czsKLURZTElCX0lOU1RBTExfTkFNRV9CQVNFID0gJChEWUxJQl9JTlNUQUxMX05BTUVfQkFTRV8k
KFBMQVRGT1JNX05BTUUpX1dFQktJVF9MRUdBQ1lfU1lTVEVNX0ZSQU1FV09SS19NSVNTSU5HXyQo
V0VCS0lUX0xFR0FDWV9TWVNURU1fRlJBTUVXT1JLX01JU1NJTkcpKTsKLURZTElCX0lOU1RBTExf
TkFNRV9CQVNFX21hY29zeF9XRUJLSVRfTEVHQUNZX1NZU1RFTV9GUkFNRVdPUktfTUlTU0lOR18g
PSAkKE5PUk1BTF9XRUJLSVRfTEVHQUNZX0ZSQU1FV09SS1NfRElSKTsKLURZTElCX0lOU1RBTExf
TkFNRV9CQVNFX21hY29zeF9XRUJLSVRfTEVHQUNZX1NZU1RFTV9GUkFNRVdPUktfTUlTU0lOR19Z
RVMgPSAkKFdFQktJVF9MRUdBQ1lfRlJBTUVXT1JLU19ESVIpOworRFlMSUJfSU5TVEFMTF9OQU1F
X0JBU0UgPSAkKE5PUk1BTF9XRUJLSVRfTEVHQUNZX0ZSQU1FV09SS1NfRElSKTsKIAogSU5TVEFM
TEhEUlNfQ09QWV9QSEFTRSA9IFlFUzsKIElOU1RBTExIRFJTX1NDUklQVF9QSEFTRSA9IFlFUzsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0JKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAt
Mjc0LDkgKzI3NCw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnNldEF0dGEK
IAogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0VG9vbGJhckhlaWdodCh1bnNp
Z25lZCBoZWlnaHQpCiB7Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8PSAx
MDkwCi0gICAgW1ttX2Zyb250ZW5kV2luZG93Q29udHJvbGxlciB3aW5kb3ddIHNldENvbnRlbnRC
b3JkZXJUaGlja25lc3M6aGVpZ2h0IGZvckVkZ2U6TlNNYXhZRWRnZV07Ci0jZW5kaWYKIH0KIAog
dm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6aW5zcGVjdGVkVVJMQ2hhbmdlZChjb25z
dCBTdHJpbmcmIG5ld1VSTCkKQEAgLTM5OCwxMCArMzk1LDYgQEAgLSAoaWQpaW5pdAogICAgIFtf
ZnJvbnRlbmRXZWJWaWV3IHNldFVJRGVsZWdhdGU6c2VsZl07CiAgICAgW19mcm9udGVuZFdlYlZp
ZXcgc2V0UG9saWN5RGVsZWdhdGU6c2VsZl07CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDw9IDEwOTAKLSAgICBbX2Zyb250ZW5kV2ViVmlldyBzZXREcmF3c0JhY2tncm91
bmQ6Tk9dOwotI2VuZGlmCi0KICAgICBbcHJlZmVyZW5jZXMgcmVsZWFzZV07CiAKICAgICBbc2Vs
ZiBzZXRXaW5kb3dGcmFtZUF1dG9zYXZlTmFtZTpAIldlYiBJbnNwZWN0b3IgMiJdOwpAQCAtNDY4
LDEyICs0NjEsNyBAQCAtIChOU1dpbmRvdyAqKXdpbmRvdwogICAgIGlmICh3aW5kb3cpCiAgICAg
ICAgIHJldHVybiB3aW5kb3c7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTAwMAogICAgIE5TVUludGVnZXIgc3R5bGVNYXNrID0gTlNUaXRsZWRXaW5kb3dNYXNr
IHwgTlNDbG9zYWJsZVdpbmRvd01hc2sgfCBOU01pbmlhdHVyaXphYmxlV2luZG93TWFzayB8IE5T
UmVzaXphYmxlV2luZG93TWFzayB8IE5TRnVsbFNpemVDb250ZW50Vmlld1dpbmRvd01hc2s7Ci0j
ZWxzZQotICAgIE5TVUludGVnZXIgc3R5bGVNYXNrID0gTlNUaXRsZWRXaW5kb3dNYXNrIHwgTlND
bG9zYWJsZVdpbmRvd01hc2sgfCBOU01pbmlhdHVyaXphYmxlV2luZG93TWFzayB8IE5TUmVzaXph
YmxlV2luZG93TWFzayB8IE5TVGV4dHVyZWRCYWNrZ3JvdW5kV2luZG93TWFzazsKLSNlbmRpZgot
CiAgICAgd2luZG93ID0gW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpOU01h
a2VSZWN0KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCkgc3R5
bGVNYXNrOnN0eWxlTWFzayBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9d
OwogICAgIFt3aW5kb3cgc2V0RGVsZWdhdGU6c2VsZl07CiAgICAgW3dpbmRvdyBzZXRNaW5TaXpl
Ok5TTWFrZVNpemUobWluaW11bVdpbmRvd1dpZHRoLCBtaW5pbXVtV2luZG93SGVpZ2h0KV07CkBA
IC00ODYsMTIgKzQ3NCw3IEBAIC0gKE5TV2luZG93ICopd2luZG93CiAgICAgW3dpbmRvdyBzZXRD
b2xsZWN0aW9uQmVoYXZpb3I6KFt3aW5kb3cgY29sbGVjdGlvbkJlaGF2aW9yXSB8IE5TV2luZG93
Q29sbGVjdGlvbkJlaGF2aW9yRnVsbFNjcmVlbkFsbG93c1RpbGluZyldOwogI2VuZGlmCiAKLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIHdpbmRvdy50
aXRsZWJhckFwcGVhcnNUcmFuc3BhcmVudCA9IFlFUzsKLSNlbHNlCi0gICAgW3dpbmRvdyBzZXRB
dXRvcmVjYWxjdWxhdGVzQ29udGVudEJvcmRlclRoaWNrbmVzczpOTyBmb3JFZGdlOk5TTWF4WUVk
Z2VdOwotICAgIFt3aW5kb3cgc2V0Q29udGVudEJvcmRlclRoaWNrbmVzczo1NS4gZm9yRWRnZTpO
U01heFlFZGdlXTsKLSNlbmRpZgogCiAgICAgW3NlbGYgc2V0V2luZG93OndpbmRvd107CiAgICAg
W3dpbmRvdyByZWxlYXNlXTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRHlu
YW1pY1Njcm9sbEJhcnNWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tCShyZXZpc2lvbiAxOTQzMTYpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjE4LDEyICs2MTgsMTAgQEAgLSAoQk9PTClpblByb2dyYW1tYXRpY1Nj
cm9sbAogICAgIHJldHVybiBfcHJpdmF0ZS0+aW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiB9CiAKLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogLSAodm9pZClzZXRD
b250ZW50SW5zZXRzOihOU0VkZ2VJbnNldHMpZWRnZUluc2V0cwogewogICAgIFtzdXBlciBzZXRD
b250ZW50SW5zZXRzOmVkZ2VJbnNldHNdOwogICAgIFtzZWxmIHRpbGVdOwogfQotI2VuZGlmCiAK
IEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDM1Myw3ICs0MzUzLDcgQEAgLSAodm9pZClzY3JvbGxXaGVl
bDooV2ViRXZlbnQgKilldmVudAogICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkud2hlZWxF
dmVudChldmVudCk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgW1tb
c2VsZiBfd2ViVmlld10gX2ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXJdIHdlYlZpZXc6W3NlbGYg
X3dlYlZpZXddIGRpZEhhbmRsZVNjcm9sbFdoZWVsOmV2ZW50XTsKICNlbmRpZgogfQpJbmRleDog
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rp
b25Db250cm9sbGVyLmgJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw3ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAot
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEwMDAKKyNpZiBQTEFURk9STShNQUMpCiAKICNpbXBvcnQgIldlYlVJRGVsZWdhdGVQcml2YXRl
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQuaD4KQEAgLTU3LDQgKzU3LDQgQEAg
QGludGVyZmFjZSBXZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyIAogCiBAZW5kCiAKLSNlbmRp
ZiAvLyBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMDAwCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbQko
cmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJJbW1lZGlh
dGVBY3Rpb25Db250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNpbXBvcnQgIldlYkltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIuaCIKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKKyNpZiBQ
TEFURk9STShNQUMpCiAKICNpbXBvcnQgIkRPTUVsZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAi
RE9NTm9kZUludGVybmFsLmgiCkBAIC01NTQsNCArNTU0LDQgQEAgLSAoaWQ8TlNJbW1lZGlhdGVB
Y3Rpb25BbmltYXRpb25Db250cm9sbAogCiBAZW5kCiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2
aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC05MDIsNyArOTAyLDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6
YXRpb25XaXRoRnJhbWVOYQogICAgIFtzZWxmIGFkZFN1YnZpZXc6ZnJhbWVWaWV3XTsKICAgICBb
ZnJhbWVWaWV3IHJlbGVhc2VdOwogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAo
Q2xhc3MgZ2VzdHVyZUNsYXNzID0gTlNDbGFzc0Zyb21TdHJpbmcoQCJOU0ltbWVkaWF0ZUFjdGlv
bkdlc3R1cmVSZWNvZ25pemVyIikpIHsKICAgICAgICAgUmV0YWluUHRyPE5TSW1tZWRpYXRlQWN0
aW9uR2VzdHVyZVJlY29nbml6ZXI+IHJlY29nbml6ZXIgPSBhZG9wdE5TKFsoTlNJbW1lZGlhdGVB
Y3Rpb25HZXN0dXJlUmVjb2duaXplciAqKVtnZXN0dXJlQ2xhc3MgYWxsb2NdIGluaXRdKTsKICAg
ICAgICAgX3ByaXZhdGUtPmltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIgPSBbW1dlYkltbWVkaWF0
ZUFjdGlvbkNvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoV2ViVmlldzpzZWxmIHJlY29nbml6ZXI6
cmVjb2duaXplci5nZXQoKV07CkBAIC0xNzYwLDcgKzE3NjAsNyBAQCAtICh2b2lkKV9jbG9zZQog
CiAgICAgW19wcml2YXRlLT5pbnNwZWN0b3IgaW5zcGVjdGVkV2ViVmlld0Nsb3NlZF07CiAjZW5k
aWYKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMDAwCisjaWYgUExBVEZPUk0oTUFDKQogICAgIFtfcHJpdmF0ZS0+aW1tZWRpYXRlQWN0
aW9uQ29udHJvbGxlciB3ZWJWaWV3Q2xvc2VkXTsKICNlbmRpZgogCkBAIC0yMzQ2LDcgKzIzNDYs
NyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGlu
Z3Muc2V0SHR0cEVxdWl2RW5hYmxlZChbcHJlZmVyZW5jZXMgaHR0cEVxdWl2RW5hYmxlZF0pOwog
CiAgICAgc2V0dGluZ3Muc2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQodHJ1
ZSk7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTAwMAorI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CiAjZW5kaWYKIApAQCAt
NTI5Myw3ICs1MjkzLDcgQEAgLSAodm9pZCl2aWV3RGlkTW92ZVRvV2luZG93CiAgICAgX3ByaXZh
dGUtPnBhZ2UtPnNldERldmljZVNjYWxlRmFjdG9yKFtzZWxmIF9kZXZpY2VTY2FsZUZhY3Rvcl0p
OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMDAwCisjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChfcHJpdmF0ZS0+
aW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlcikgewogICAgICAgICBOU0ltbWVkaWF0ZUFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyICpyZWNvZ25pemVyID0gW19wcml2YXRlLT5pbW1lZGlhdGVBY3Rpb25D
b250cm9sbGVyIGltbWVkaWF0ZUFjdGlvblJlY29nbml6ZXJdOwogICAgICAgICBpZiAoW3NlbGYg
d2luZG93XSkgewpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEuaAko
cmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsMTEgKzE3Miw5IEBAIEBpbnRlcmZhY2UgV2ViVmll
d1ByaXZhdGUgOiBOU09iamVjdCB7CiAgICAgV2ViTm9kZUhpZ2hsaWdodCAqY3VycmVudE5vZGVI
aWdobGlnaHQ7CiAKICNpZiBQTEFURk9STShNQUMpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBXZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyICpp
bW1lZGlhdGVBY3Rpb25Db250cm9sbGVyOwotI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKICNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9XZWJWaWV3RGF0YUFk
ZGl0aW9ucy5oPgogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3RGF0YS5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3RGF0YS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTgxLDcgKzE4MSw3IEBAIC0gKHZv
aWQpZGVhbGxvYwogI2VuZGlmCiAgICAgW2luc3BlY3RvciByZWxlYXNlXTsKICAgICBbY3VycmVu
dE5vZGVIaWdobGlnaHQgcmVsZWFzZV07Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorI2lmIFBMQVRGT1JNKE1BQykKICAgICBb
aW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlciByZWxlYXNlXTsKICNlbmRpZgogICAgIFtob3N0V2lu
ZG93IHJlbGVhc2VdOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50
ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJ
bnRlcm5hbC5oCShyZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEsMTAgKzI3MSw4IEBAIEBp
bnRlcmZhY2UgV2ViVmlldyAoV2ViVmlld090aGVySW50ZXJuYWwKIC0gKHZvaWQpX2NsZWFyVGV4
dEluZGljYXRvcldpdGhBbmltYXRpb246KFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3dEaXNt
aXNzYWxBbmltYXRpb24pYW5pbWF0aW9uOwogLSAodm9pZClfc2V0VGV4dEluZGljYXRvckFuaW1h
dGlvblByb2dyZXNzOihmbG9hdClwcm9ncmVzczsKIC0gKHZvaWQpX3Nob3dEaWN0aW9uYXJ5TG9v
a3VwUG9wdXA6KGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8mKWRpY3Rpb25hcnlQ
b3B1cEluZm87Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAK
IC0gKGlkKV9hbmltYXRpb25Db250cm9sbGVyRm9yRGljdGlvbmFyeUxvb2t1cFBvcHVwSW5mbzoo
Y29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpZGljdGlvbmFyeVBvcHVwSW5mbzsK
IC0gKFdlYkltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIgKilfaW1tZWRpYXRlQWN0aW9uQ29udHJv
bGxlcjsKLSNlbmRpZgogLSAoTlNFdmVudCAqKV9wcmVzc3VyZUV2ZW50OwogLSAodm9pZClfc2V0
UHJlc3N1cmVFdmVudDooTlNFdmVudCAqKWV2ZW50OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxOTQzMTYpCisrKyBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0xMi0xOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgorCisgICAgICAgIFtNYWNdIFdlYktpdCBjb250YWlucyBkZWFkIHNvdXJjZSBjb2Rl
IGZvciBPUyBYIE1hdmVyaWNrcyBhbmQgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNj
b25maWc6IFJlbW92ZWQgZGVmaW5pdGlvbiBvZiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgZm9y
CisgICAgICAgICAgT1MgWCAxMC45LgorCiAyMDE1LTEyLTAzICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIE9iamVjdGl2ZS1DIEdDIHN1cHBv
cnQKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2Nv
bmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9Db25maWd1cmF0aW9ucy9EZWJ1Z1Jl
bGVhc2UueGNjb25maWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFNvdXJjZS9ibWFsbG9jL0NvbmZp
Z3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsNiBAQCBBUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNUSVZF
X0FSQ0ggPSBZRVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpOwotTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDkwID0gMTAuOTsKIE1B
Q09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMDAwID0gMTAuMTA7CiBNQUNPU1hfREVQ
TE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwMTEwMCA9IDEwLjExOwogTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUX21hY29zeF8xMDEyMDAgPSAxMC4xMjsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDMxNykKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTEyLTE5ICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViS2l0IGNvbnRh
aW5zIGRlYWQgc291cmNlIGNvZGUgZm9yIE9TIFggTWF2ZXJpY2tzIGFuZCBlYXJsaWVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI0NjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFJlbW92ZWQgZGVm
aW5pdGlvbnMgb2YgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGFuZCBXRUJLSVRfU1lTVEVNX0lO
VEVSRkFDRV9MSUJSQVJZIGZvcgorICAgICAgICAgIE9TIFggMTAuOToKKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWc6Cisg
ICAgICAgICogTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2Nv
bmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2Uu
eGNjb25maWc6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9EZWJ1Z1Jl
bGVhc2UueGNjb25maWc6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9u
cy9EZWJ1Z1JlbGVhc2UueGNjb25maWc6CisKKyAgICAgICAgLSBTaW1wbGlmaWVkIGV4cHJlc3Np
b25zIGludm9sdmluZyBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIGFuZCByZW1vdmVk
IGNvZGUgdGhhdCB3YXMKKyAgICAgICAgICBuZXZlciBnZXR0aW5nIGNvbXBpbGVkOgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1RleHRJbnB1dENvbnRyb2xsZXIubToKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9BdHRyaWJ1dGVkU3RyaW5nLm1tOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW06CisKIDIwMTUtMTItMTggIE1p
Y2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIGFkZCBXZWJLaXRHVEsrIEJ1Z3ppbGxhIGVtYWlsIHRvIGNvbW1pdHRlcnMgbGlzdApJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1RleHRJbnB1dENvbnRyb2xsZXIubQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGV4dElucHV0Q29udHJvbGxlci5t
CShyZXZpc2lvbiAxOTQzMTYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGV4dElucHV0
Q29udHJvbGxlci5tCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTIgQEAKICNpbXBvcnQg
PEFwcEtpdC9OU0lucHV0TWFuYWdlci5oPgogI2ltcG9ydCA8QXBwS2l0L05TVGV4dEFsdGVybmF0
aXZlcy5oPgogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAK
ICNkZWZpbmUgU1VQUE9SVF9JTlNFUlRJT05fVU5ET19HUk9VUElORwogI2lmIF9faGFzX2luY2x1
ZGUoPEFwcEtpdC9OU1RleHRJbnB1dENvbnRleHRfUHJpdmF0ZS5oPikKICNpbXBvcnQgPEFwcEtp
dC9OU1RleHRJbnB1dENvbnRleHRfUHJpdmF0ZS5oPgogI2Vsc2UKIE5TU3RyaW5nICpOU1RleHRJ
bnNlcnRpb25VbmRvYWJsZUF0dHJpYnV0ZU5hbWU7CiAjZW5kaWYKLSNlbmRpZgogCiAjaW1wb3J0
IDxXZWJLaXQvV2ViRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJGcmFtZS5oPgpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJh
dGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCShyZXZpc2lvbiAxOTQzMTYpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCwxMyArMjgsMTEgQEAgQVJDSFMgPSAkKEFSQ0hTX1NUQU5EQVJE
XzMyXzY0X0JJVCk7CiBPTkxZX0FDVElWRV9BUkNIID0gWUVTOwogCiBNQUNPU1hfREVQTE9ZTUVO
VF9UQVJHRVRbc2RrPW1hY29zeCpdID0gJChNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4
XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLU1BQ09TWF9ERVBMT1lNRU5UX1RB
UkdFVF9tYWNvc3hfMTA5MCA9IDEwLjk7CiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4
XzEwMTAwMCA9IDEwLjEwOwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDExMDAg
PSAxMC4xMTsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3hfMTAxMjAwID0gMTAuMTI7
CiAKIFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllbc2RrPW1hY29zeCpdID0gJChXRUJL
SVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJT
SU9OX01BSk9SKSk7Ci1XRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21hY29zeF8xMDkw
ID0gV2ViS2l0U3lzdGVtSW50ZXJmYWNlTWF2ZXJpY2tzOwogV0VCS0lUX1NZU1RFTV9JTlRFUkZB
Q0VfTElCUkFSWV9tYWNvc3hfMTAxMDAwID0gV2ViS2l0U3lzdGVtSW50ZXJmYWNlWW9zZW1pdGU7
CiBXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21hY29zeF8xMDExMDAgPSBXZWJLaXRT
eXN0ZW1JbnRlcmZhY2VFbENhcGl0YW47CiBXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZ
X21hY29zeF8xMDEyMDAgPSAkKFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllfbWFjb3N4
XzEwMTEwMCk7CkluZGV4OiBUb29scy9MYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvRGVi
dWdSZWxlYXNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0xheW91dFRlc3RSZWxheS9D
b25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWcJKHJldmlzaW9uIDE5NDMxNikKKysr
IFRvb2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIEFSQ0hTID0gJChBUkNIU19TVEFO
REFSRF82NF9CSVQpOwogCiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAkKE1BQ09TWF9ERVBM
T1lNRU5UX1RBUkdFVF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSkKLU1BQ09TWF9E
RVBMT1lNRU5UX1RBUkdFVF8xMDkwID0gMTAuOTsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8x
MDEwMDAgPSAxMC4xMDsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8xMDExMDAgPSAxMC4xMTsK
IE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8xMDEyMDAgPSAxMC4xMjsKSW5kZXg6IFRvb2xzL01p
bmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25m
aWcJKHJldmlzaW9uIDE5NDMxNikKKysrIFRvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQCBB
UkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNUSVZFX0FSQ0ggPSBZ
RVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExPWU1FTlRfVEFS
R0VUXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQotTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUXzEwOTAgPSAxMC45OwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXzEwMTAwMCA9IDEw
LjEwOwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXzEwMTEwMCA9IDEwLjExOwogTUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VUXzEwMTIwMCA9IDEwLjEyOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIv
bWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJy
b3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHJldmlzaW9uIDE5NDMxNikKKysr
IFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw5ICszOSw3IEBAIC0gKGlkKWluaXRXaXRoV2luZG93OihOU1dpbmRvdyAq
KXdpbmRvdwogCiAtICh2b2lkKXdpbmRvd0RpZExvYWQKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogICAgIHNlbGYud2luZG93LnN0eWxlTWFzayB8PSBO
U0Z1bGxTaXplQ29udGVudFZpZXdXaW5kb3dNYXNrOwotI2VuZGlmCiAKICAgICBbc3VwZXIgd2lu
ZG93RGlkTG9hZF07CiB9CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkocmV2aXNpb24gMTk0MzE2KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAgQVJDSFMgPSAkKEFSQ0hTX1NUQU5E
QVJEXzMyXzY0X0JJVCk7CiBPTkxZX0FDVElWRV9BUkNIID0gWUVTOwogCiBNQUNPU1hfREVQTE9Z
TUVOVF9UQVJHRVQgPSAkKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8kKFRBUkdFVF9NQUNfT1Nf
WF9WRVJTSU9OX01BSk9SKSkKLU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8xMDkwID0gMTAuOTsK
IE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8xMDEwMDAgPSAxMC4xMDsKIE1BQ09TWF9ERVBMT1lN
RU5UX1RBUkdFVF8xMDExMDAgPSAxMC4xMTsKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVF8xMDEy
MDAgPSAxMC4xMjsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0F0dHJpYnV0
ZWRTdHJpbmcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMv
QXR0cmlidXRlZFN0cmluZy5tbQkocmV2aXNpb24gMTk0MzE2KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvQXR0cmlidXRlZFN0cmluZy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzgs
MjYgKzM4LDE0IEBAIHN0YXRpYyBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHIKICAg
ICByZXR1cm4gWyhOU1ZpZXcgPE5TVGV4dElucHV0PiAqKVtbW3dlYlZpZXcgbWFpbkZyYW1lXSBm
cmFtZVZpZXddIGRvY3VtZW50Vmlld10gYXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZTpyYW5n
ZV07CiB9CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwOTAKLXN0
YXRpYyBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmcoV0tWaWV3ICp3a1ZpZXcs
IE5TUmFuZ2UgcmFuZ2UpCi17Ci0gICAgTlNSYW5nZSBhY3R1YWxSYW5nZTsKLSAgICByZXR1cm4g
W3drVmlldyBhdHRyaWJ1dGVkU3Vic3RyaW5nRm9yUHJvcG9zZWRSYW5nZTpyYW5nZSBhY3R1YWxS
YW5nZTomYWN0dWFsUmFuZ2VdOwotfQotI2VuZGlmCi0KIGNsYXNzIEF0dHJpYnV0ZWRTdHJpbmdU
ZXN0X0N1c3RvbUZvbnQgOiBwdWJsaWMgV2ViS2l0QWdub3N0aWNUZXN0IHsKIHB1YmxpYzoKICAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlldz4gdm9pZCBydW5TeW5jVGVzdChWaWV3KTsKIAogICAg
IC8vIFdlYktpdEFnbm9zdGljVGVzdAogICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkVVJMKFdlYlZp
ZXcgKndlYlZpZXcpIHsgcnVuU3luY1Rlc3Qod2ViVmlldyk7IH0KLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwOTAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkTG9hZFVSTChX
S1ZpZXcgKndrVmlldykgeyBydW5TeW5jVGVzdCh3a1ZpZXcpOyB9Ci0jZWxzZQogICAgIC8vIEZJ
WE1FOiBSZWltcGxlbWVudCB0aGUgdGVzdCB1c2luZyBhc3luYyBOU1RleHRJbnB1dENsaWVudCBp
bnRlcmZhY2UuCiAgICAgdmlydHVhbCB2b2lkIGRpZExvYWRVUkwoV0tWaWV3ICp3a1ZpZXcpIHsg
fQotI2VuZGlmCiAKICAgICB2aXJ0dWFsIE5TVVJMICp1cmwoKSBjb25zdCB7IHJldHVybiBbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiYXR0cmlidXRlZFN0cmluZ0N1c3Rv
bUZvbnQiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJ
LnJlc291cmNlcyJdOyB9CiB9OwpAQCAtNzQsMjUgKzYyLDE0IEBAIFRFU1RfRihBdHRyaWJ1dGVk
U3RyaW5nVGVzdF9DdXN0b21Gb250LCAKICAgICBydW5XZWJLaXQxVGVzdCgpOwogfQogCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8PSAxMDkwCi1URVNUX0YoQXR0cmlidXRl
ZFN0cmluZ1Rlc3RfQ3VzdG9tRm9udCwgV2ViS2l0MikKLXsKLSAgICBydW5XZWJLaXQyVGVzdCgp
OwotfQotI2VuZGlmCi0KIGNsYXNzIEF0dHJpYnV0ZWRTdHJpbmdUZXN0X1N0cmlrZXRocm91Z2gg
OiBwdWJsaWMgV2ViS2l0QWdub3N0aWNUZXN0IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVmlldz4gdm9pZCBydW5TeW5jVGVzdChWaWV3KTsKIAogICAgIC8vIFdlYktpdEFnbm9z
dGljVGVzdAogICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkVVJMKFdlYlZpZXcgKndlYlZpZXcpIHsg
cnVuU3luY1Rlc3Qod2ViVmlldyk7IH0KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDw9IDEwOTAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkTG9hZFVSTChXS1ZpZXcgKndrVmlldykg
eyBydW5TeW5jVGVzdCh3a1ZpZXcpOyB9Ci0jZWxzZQogICAgIC8vIEZJWE1FOiBSZWltcGxlbWVu
dCB0aGUgdGVzdCB1c2luZyBhc3luYyBOU1RleHRJbnB1dENsaWVudCBpbnRlcmZhY2UuCiAgICAg
dmlydHVhbCB2b2lkIGRpZExvYWRVUkwoV0tWaWV3ICp3a1ZpZXcpIHsgfQotI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIE5TVVJMICp1cmwoKSBjb25zdCB7IHJldHVybiBbW05TQnVuZGxlIG1haW5CdW5k
bGVdIFVSTEZvclJlc291cmNlOkAiYXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2giIHdpdGhF
eHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJd
OyB9CiB9OwpAQCAtMTE1LDExICs5Miw0IEBAIFRFU1RfRihBdHRyaWJ1dGVkU3RyaW5nVGVzdF9T
dHJpa2V0aHJvdWcKICAgICBydW5XZWJLaXQxVGVzdCgpOwogfQogCi0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8PSAxMDkwCi1URVNUX0YoQXR0cmlidXRlZFN0cmluZ1Rlc3Rf
U3RyaWtldGhyb3VnaCwgV2ViS2l0MikKLXsKLSAgICBydW5XZWJLaXQyVGVzdCgpOwotfQotI2Vu
ZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhj
Y29uZmlnCShyZXZpc2lvbiAxOTQzMTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZp
Z3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMjgsNyAr
MjgsNiBAQCBBUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNUSVZF
X0FSQ0ggPSBZRVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQotTUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VUXzEwOTAgPSAxMC45OwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXzEw
MTAwMCA9IDEwLjEwOwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXzEwMTEwMCA9IDEwLjExOwog
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXzEwMTIwMCA9IDEwLjEyOwpAQCAtMzYsNyArMzUsNiBA
QCBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfMTAxMjAwID0gMTAuMTI7CiBXRUJLSVRfU1lTVEVN
X0lOVEVSRkFDRV9MSUJSQVJZW3Nkaz1pcGhvbmVvcypdID0gV2ViS2l0U3lzdGVtSW50ZXJmYWNl
SU9TRGV2aWNlJChJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCk7CiBXRUJLSVRfU1lTVEVNX0lO
VEVSRkFDRV9MSUJSQVJZW3Nkaz1pcGhvbmVzaW11bGF0b3IqXSA9IFdlYktpdFN5c3RlbUludGVy
ZmFjZUlPU1NpbXVsYXRvciQoSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQpOwogV0VCS0lUX1NZ
U1RFTV9JTlRFUkZBQ0VfTElCUkFSWVtzZGs9bWFjb3N4Kl0gPSAkKFdFQktJVF9TWVNURU1fSU5U
RVJGQUNFX0xJQlJBUllfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsK
LVdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllfbWFjb3N4XzEwOTAgPSBXZWJLaXRTeXN0
ZW1JbnRlcmZhY2VNYXZlcmlja3M7CiBXRUJLSVRfU1lTVEVNX0lOVEVSRkFDRV9MSUJSQVJZX21h
Y29zeF8xMDEwMDAgPSBXZWJLaXRTeXN0ZW1JbnRlcmZhY2VZb3NlbWl0ZTsKIFdFQktJVF9TWVNU
RU1fSU5URVJGQUNFX0xJQlJBUllfbWFjb3N4XzEwMTEwMCA9IFdlYktpdFN5c3RlbUludGVyZmFj
ZUVsQ2FwaXRhbjsKIFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUllfbWFjb3N4XzEwMTIw
MCA9ICQoV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWV9tYWNvc3hfMTAxMTAwKTsKSW5k
ZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbQko
cmV2aXNpb24gMTk0MzE2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5k
ZXJQcm94eS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNiBAQCAtICh2b2lkKV9wb3N0
RGVsYXllZDsKIEBlbmQKIAogI2lmIGRlZmluZWQoX19MUDY0X18pCi0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIHN0cnVjdCBXS1RSQ0dTRXZlbnRSZWNvcmQg
ewogICAgIGNoYXIgb2Zmc2V0MVsxNTBdOwogICAgIHVpbnQ4X3QgcGhhc2U7CkBAIC01NSwxNiAr
NTQsNiBAQCBzdHJ1Y3QgV0tUUkNHU0V2ZW50UmVjb3JkIHsKICAgICBmbG9hdCBkZWx0YVk7CiAg
ICAgY2hhciBvZmZzZXQzWzc2XTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Ci0jZWxzZQot
c3RydWN0IFdLVFJDR1NFdmVudFJlY29yZCB7Ci0gICAgY2hhciBvZmZzZXQxWzE1NF07Ci0gICAg
dWludDhfdCBwaGFzZTsKLSAgICBjaGFyIG9mZnNldDJbNV07Ci0gICAgZmxvYXQgZGVsdGFYOwot
ICAgIGZsb2F0IGRlbHRhWTsKLSAgICBjaGFyIG9mZnNldDNbODBdOwotfSBfX2F0dHJpYnV0ZV9f
KChwYWNrZWQpKTsKLSNlbmRpZgogI2VuZGlmCiAKIEBpbnRlcmZhY2UgRXZlbnRTZW5kZXJTeW50
aGV0aWNFdmVudCA6IE5TRXZlbnQgewpAQCAtMTMzLDE3ICsxMjIsMTAgQEAgLSAoTlNFdmVudFR5
cGUpdHlwZQogICAgIHJldHVybiBfZXZlbnRTZW5kZXJfdHlwZTsKIH0KIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAtIChOU0V2ZW50U3VidHlwZSlzdWJ0
eXBlCiB7CiAgICAgcmV0dXJuIChOU0V2ZW50U3VidHlwZSlfZXZlbnRTZW5kZXJfc3VidHlwZTsK
IH0KLSNlbHNlCi0tIChzaG9ydClzdWJ0eXBlCi17Ci0gICAgcmV0dXJuIF9ldmVudFNlbmRlcl9z
dWJ0eXBlOwotfQotI2VuZGlmCiAKIC0gKE5TUG9pbnQpbG9jYXRpb25JbldpbmRvdwogewpJbmRl
eDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJp
ZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTQzMTYpCisrKyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMTItMTkgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJLaXQgY29udGFpbnMg
ZGVhZCBzb3VyY2UgY29kZSBmb3IgT1MgWCBNYXZlcmlja3MgYW5kIGVhcmxpZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjQ2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbGliV2ViS2l0U3lzdGVt
SW50ZXJmYWNlTWF2ZXJpY2tzLmE6IFJlbW92ZWQuCisKIDIwMTUtMTItMTYgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbRmV0Y2ggQVBJXSBB
ZGQgZmV0Y2ggQVBJIGNvbXBpbGUgdGltZSBmbGFnCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvbGli
V2ViS2l0U3lzdGVtSW50ZXJmYWNlTWF2ZXJpY2tzLmEKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>