<?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>125745</bug_id>
          
          <creation_ts>2013-12-14 17:31:40 -0800</creation_ts>
          <short_desc>[iOS] Upstream changes to WebKit Public and Private headers</short_desc>
          <delta_ts>2013-12-15 13:10:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959879</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-12-14 17:31:40 -0800</bug_when>
    <thetext>[iOS] Upstream changes to WebKit Public and Private headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959880</commentid>
    <comment_count>1</comment_count>
      <attachid>219264</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-12-14 17:34:48 -0800</bug_when>
    <thetext>Created attachment 219264
[iOS] Upstream changes to WebKit Public and Private headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959882</commentid>
    <comment_count>2</comment_count>
      <attachid>219264</attachid>
    <who name="">mitz</who>
    <bug_when>2013-12-14 17:52:27 -0800</bug_when>
    <thetext>Comment on attachment 219264
[iOS] Upstream changes to WebKit Public and Private headers

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

&gt; Source/WebKit/mac/Misc/WebLocalizableStrings.h:41
&gt; +#if TARGET_OS_IPHONE
&gt; +#if defined(__cplusplus)
&gt; +extern &quot;C&quot; {
&gt; +#endif        
&gt; +#endif

Can this be done unconditionally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959885</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-12-14 18:12:45 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 219264 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219264&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/Misc/WebLocalizableStrings.h:41
&gt; &gt; +#if TARGET_OS_IPHONE
&gt; &gt; +#if defined(__cplusplus)
&gt; &gt; +extern &quot;C&quot; {
&gt; &gt; +#endif        
&gt; &gt; +#endif
&gt; 
&gt; Can this be done unconditionally?

Yes, I think so.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959886</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-12-14 18:14:39 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 219264 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219264&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/mac/Misc/WebLocalizableStrings.h:41
&gt; &gt; &gt; +#if TARGET_OS_IPHONE
&gt; &gt; &gt; +#if defined(__cplusplus)
&gt; &gt; &gt; +extern &quot;C&quot; {
&gt; &gt; &gt; +#endif        
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Can this be done unconditionally?
&gt; 
&gt; Yes, I think so.
&gt; 
&gt; Thanks for the review!

Actually, it duplicates an unconditional extern &quot;C&quot; that already exists, so I&apos;ll just remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959943</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-12-15 13:10:57 -0800</bug_when>
    <thetext>Committed r160622: &lt;http://trac.webkit.org/changeset/160622&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219264</attachid>
            <date>2013-12-14 17:34:48 -0800</date>
            <delta_ts>2013-12-14 17:52:26 -0800</delta_ts>
            <desc>[iOS] Upstream changes to WebKit Public and Private headers</desc>
            <filename>bug-125745-20131214173446.patch</filename>
            <type>text/plain</type>
            <size>100100</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZDY3YmUwZDA1
MzJmZDk4ZWUyZmUyYmFmYjZlZGZiNGI1MDRmYWY3ZC4uZTAzZjkxNjVlNmU1MWNmMjhiOWJlODkz
ZTVkNGM0ZTllYjYyYzU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcxIEBACiAyMDEz
LTEyLTE0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TXSBV
cHN0cmVhbSBjaGFuZ2VzIHRvIFdlYktpdCBQdWJsaWMgYW5kIFByaXZhdGUgaGVhZGVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NzQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWc6IElnbm9yZSBoZWFkZXJzIHRoYXQgYXJlIGNvbXBsZXRlbHkK
KyAgICAgICAgZXhjbHVkZWQgb24gaU9TLiBUaGlzIHByZXZlbnRzIGVtcHR5IGhlYWRlcnMgZnJv
bSBiZWluZyBpbnN0YWxsZWQgaW50bworICAgICAgICB0aGUgaU9TIFNESy4KKyAgICAgICAgKiBE
T00vV2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaDogVXBzdHJlYW0gaU9TIGNoYW5nZXMuCisgICAg
ICAgICogSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlLmg6IERpdHRvLgorICAgICAg
ICAqIEhpc3RvcnkvV2ViSGlzdG9yeUl0ZW0uaDogRGl0dG8uCisgICAgICAgICogSGlzdG9yeS9X
ZWJIaXN0b3J5SXRlbVByaXZhdGUuaDogRGl0dG8uCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5o
OiBEaXR0by4KKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5oOiBEaXR0by4KKyAgICAg
ICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZVByaXZhdGUuaDogRGl0dG8uCisgICAgICAgICogTWlz
Yy9XZWJLaXROU1N0cmluZ0V4dHJhcy5oOiBEaXR0by4KKyAgICAgICAgKiBNaXNjL1dlYkxvY2Fs
aXphYmxlU3RyaW5ncy5oOiBEaXR0by4KKyAgICAgICAgKiBNaXNjL1dlYk5TRXZlbnRFeHRyYXMu
aDogRGl0dG8uCisgICAgICAgICogTWlzYy9XZWJOU0ZpbGVNYW5hZ2VyRXh0cmFzLmg6IERpdHRv
LgorICAgICAgICAqIE1pc2MvV2ViTlNQYXN0ZWJvYXJkRXh0cmFzLmg6IERpdHRvLgorICAgICAg
ICAqIE1pc2MvV2ViTlNVUkxFeHRyYXMuaDogRGl0dG8uCisgICAgICAgICogTWlzYy9XZWJOU1Zp
ZXdFeHRyYXMuaDogRGl0dG8uCisgICAgICAgICogTWlzYy9XZWJOU1dpbmRvd0V4dHJhcy5oOiBE
aXR0by4KKyAgICAgICAgKiBQYW5lbHMvV2ViUGFuZWxBdXRoZW50aWNhdGlvbkhhbmRsZXIuaDog
RGl0dG8uCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW4uaDogRGl0dG8uCisgICAgICAgICog
UGx1Z2lucy9XZWJQbHVnaW5Db250YWluZXIuaDogRGl0dG8uCisgICAgICAgICogUGx1Z2lucy9X
ZWJQbHVnaW5Db250YWluZXJQcml2YXRlLmg6IERpdHRvLgorICAgICAgICAqIFBsdWdpbnMvV2Vi
UGx1Z2luRGF0YWJhc2UuaDogRGl0dG8uCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5Qcml2
YXRlLmg6IERpdHRvLgorICAgICAgICAqIFBsdWdpbnMvV2ViUGx1Z2luVmlld0ZhY3RvcnkuaDog
RGl0dG8uCisgICAgICAgICogUGx1Z2lucy9XZWJQbHVnaW5zUHJpdmF0ZS5oOiBEaXR0by4KKyAg
ICAgICAgKiBTdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUuaDogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQXBwbGljYXRpb25DYWNoZS5oOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwuaDogRGl0dG8u
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViS2V5R2VuZXJhdG9yLmg6IERpdHRvLgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZS5oOiBEaXR0by4K
KyAgICAgICAgKiBXZWJWaWV3L1dlYkRhc2hib2FyZFJlZ2lvbi5oOiBEaXR0by4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYkRhdGFTb3VyY2UuaDogRGl0dG8uCisgICAgICAgICogV2ViVmlldy9XZWJE
YXRhU291cmNlUHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkRvY3VtZW50
Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViRG9jdW1lbnRQcml2YXRlLmg6IERpdHRv
LgorICAgICAgICAqIFdlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lmg6IERpdHRvLgor
ICAgICAgICAqIFdlYlZpZXcvV2ViRWRpdGluZ0RlbGVnYXRlLmg6IERpdHRvLgorICAgICAgICAq
IFdlYlZpZXcvV2ViRWRpdGluZ0RlbGVnYXRlUHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYkZvcm1EZWxlZ2F0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkZy
YW1lTG9hZERlbGVnYXRlLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2
YXRlLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVWaWV3Lmg6IERpdHRvLgor
ICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVWaWV3UHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYkhUTUxWaWV3Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXdQ
cml2YXRlLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUG9saWN5RGVsZWdhdGUuaDog
RGl0dG8uCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDogRGl0
dG8uCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5oOiBEaXR0by4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYlJlbmRlckxheWVyLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3Vy
Y2VMb2FkRGVsZWdhdGVQcml2YXRlLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVz
b3VyY2VQcml2YXRlLmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZS5o
OiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmg6IERpdHRv
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmg6IERpdHRvLgorCisyMDEzLTEyLTE0ICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBVcHN0cmVhbSBjaGFuZ2VzIHRvIEZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjU3NDIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IDExYzc1MGEwZTg2NDUyYzMxNzVmMWZmOTRhMWRiODAy
OGU0NmY4OGEuLjIyOTg1N2VjNDI4YzFkODU4NjYyNmQ4NDA3NDc0ZWIxOWM2ZDEwOTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAg
LTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlICJWZXJzaW9uLnhjY29uZmlnIgogCiBFWENMVURFRF9T
T1VSQ0VfRklMRV9OQU1FUyA9ICQoRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChQTEFURk9S
TV9OQU1FKSk7Ci1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19pcGhvbmVvcyA9ICoubmliICou
cGRmICoudGlmZjsKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lwaG9uZW9zID0gKi5uaWIg
Ki5wZGYgKi50aWZmIFdlYkljb25EYXRhYmFzZS5oIFdlYkljb25EYXRhYmFzZVByaXZhdGUuaCBX
ZWJOU0V2ZW50RXh0cmFzLmggV2ViTlNQYXN0ZWJvYXJkRXh0cmFzLmggV2ViTlNXaW5kb3dFeHRy
YXMuaCBXZWJQYW5lbEF1dGhlbnRpY2F0aW9uSGFuZGxlci5oIFdlYlBsdWdpbnNQcml2YXRlLmgg
V2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLmggV2ViS2V5R2VuZXJhdG9yLmggV2ViRGFzaGJv
YXJkUmVnaW9uLmggV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lmg7CiBFWENMVURFRF9TT1VSQ0Vf
RklMRV9OQU1FU19pcGhvbmVzaW11bGF0b3IgPSAkKEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVT
X2lwaG9uZW9zKTsKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX21hY29zeCA9ICpJT1MubW0g
TWVtb3J5TWVhc3VyZS5oIFdlYkdlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIuaCBXZWJH
ZW9sb2NhdGlvblByb3ZpZGVySU9TLmggV2ViTlNTdHJpbmdEcmF3aW5nLmggV2ViTlNTdHJpbmdF
eHRyYXNJT1MuaCBXZWJOU1N0cmluZ0V4dHJhc0lQaG9uZS5oIFdlYlVJS2l0U3VwcG9ydC5oIFdl
YkNhcmV0Q2hhbmdlTGlzdGVuZXIuaCBXZWJGaXhlZFBvc2l0aW9uQ29udGVudC5oIFdlYkZyYW1l
SU9TLmggV2ViRnJhbWVJUGhvbmUuaCBXZWJHZW9sb2NhdGlvblByaXZhdGUuaCBXZWJNSU1FVHlw
ZVJlZ2lzdHJ5LmggV2ViU2VsZWN0aW9uUmVjdC5oIFdlYlZpc2libGVQb3NpdGlvbi5oIFdlYlVJ
S2l0RGVsZWdhdGUuaCBXZWJQREZWaWV3SU9TLmggV2ViUERGVmlld0lQaG9uZS5oIFdlYlBERlZp
ZXdQbGFjZWhvbGRlci5oOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2Vi
RE9NT3BlcmF0aW9uc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVy
YXRpb25zUHJpdmF0ZS5oCmluZGV4IDNjN2Q2YTA3N2ZjODVjZDc2NWJmOGI1ODYzODJlM2RmOGZi
NWZjNmEuLjdhZmVjNTk5YTQ2OGNhYmYzOTI2Yjk5NGZhNWI5YWQ0MDg2Y2ZhY2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCkBAIC00Niw0
ICs0Niw5IEBAIHR5cGVkZWYgQk9PTCAoXldlYkFyY2hpdmVTdWJmcmFtZUZpbHRlcikoV2ViRnJh
bWUqIHN1YmZyYW1lKTsKIAogQGludGVyZmFjZSBET01Ob2RlIChXZWJET01Ob2RlT3BlcmF0aW9u
c1ByaXZhdGUpCiAtIChXZWJBcmNoaXZlICopd2ViQXJjaGl2ZUJ5RmlsdGVyaW5nU3ViZnJhbWVz
OihXZWJBcmNoaXZlU3ViZnJhbWVGaWx0ZXIpd2ViQXJjaGl2ZVN1YmZyYW1lRmlsdGVyOworI2lm
IFRBUkdFVF9PU19JUEhPTkUKKy0gKEJPT0wpaXNIb3Jpem9udGFsV3JpdGluZ01vZGU7CistICh2
b2lkKWhpZGVQbGFjZWhvbGRlcjsKKy0gKHZvaWQpc2hvd1BsYWNlaG9sZGVySWZOZWNlc3Nhcnk7
CisjZW5kaWYKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2Vi
QmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJC
YWNrRm9yd2FyZExpc3RQcml2YXRlLmgKaW5kZXggN2U3NmU5YjJlZjU5YjkwMGU0MDIyMGJhY2I0
MjA5MGIwMDM0ZjUxOS4uOGU4YmZlOGYwMGI2ZmYwNjcyNTJhNDU3YzYxNjdmNmJiNDc5YjRlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3RQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExp
c3RQcml2YXRlLmgKQEAgLTI2LDggKzI2LDcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9y
dCA8Q29jb2EvQ29jb2EuaD4KLQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViQmFja0ZvcndhcmRMaXN0Lmg+CiAKIEBpbnRlcmZhY2UgV2ViQmFj
a0ZvcndhcmRMaXN0IChXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlKQpAQCAtMzksNCArMzgsMTEg
QEAKICovICAgIAogLSAodm9pZClyZW1vdmVJdGVtOihXZWJIaXN0b3J5SXRlbSAqKWl0ZW07CiAK
KyNpZiBUQVJHRVRfT1NfSVBIT05FCisvLyBUaGVzZSBtZXRob2RzIGFyZSB1c2VkIGJ5IE1vYmls
ZVNhZmFyaSB0byBzYXZlIHRoZSBiYWNrL2ZvcndhcmQgc3RhdGUKKy8vIHRvIGRpc2suCistIChO
U0RpY3Rpb25hcnkgKilkaWN0aW9uYXJ5UmVwcmVzZW50YXRpb247CistICh2b2lkKXNldFRvTWF0
Y2hEaWN0aW9uYXJ5UmVwcmVzZW50YXRpb246KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnk7Cisj
ZW5kaWYKKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJI
aXN0b3J5SXRlbS5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5o
CmluZGV4IGFlZTRmYzE5ZWM3ZjIxNzg5MDM0NjEyMzlmZGFlMTIzNGE1MDc0YjcuLjJlNjVhNzFl
Y2E2NjU5MGMxNWRiMzVlNzQ4MDI3ZjU4MDU0YmM5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9I
aXN0b3J5L1dlYkhpc3RvcnlJdGVtLmgKQEAgLTI2LDcgKzI2LDExIEBACiAgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLSNpbXBvcnQgPENvY29hL0NvY29hLmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKworI2lmICFUQVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxBcHBLaXQvQXBwS2l0
Lmg+CisjZW5kaWYKIAogQGNsYXNzIFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTsKIEBjbGFzcyBOU1VS
TDsKQEAgLTEwMywxMSArMTA3LDEzIEBAIGV4dGVybiBOU1N0cmluZyAqV2ViSGlzdG9yeUl0ZW1D
aGFuZ2VkTm90aWZpY2F0aW9uOwogKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0
cmluZyAqYWx0ZXJuYXRlVGl0bGU7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLyohCiAgICAg
QHByb3BlcnR5IGljb24KICAgICBAYWJzdHJhY3QgVGhlIGZhdm9yaXRlIGljb24gb2YgdGhlIHBh
Z2UgcmVwcmVzZW50ZWQgYnkgdGhpcyBpdGVtLgogICAgIEBkaXNjdXNzaW9uIFRoaXMgaWNvbiBy
ZXR1cm5lZCB3aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIFdlYktpdC4KICovCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHksIHN0cm9uZykgTlNJbWFnZSAqaWNvbjsKKyNlbmRpZgogCiBA
ZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVt
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbVByaXZh
dGUuaAppbmRleCAwMDczODNiMDhiZjlkYjBhY2UyOWFhNDRlYjJmNDcxNTllZWZhNDkyLi43ZDk4
ZjAzNzI2YTE0ODE0ODg5ZmEwMDQyZWIxMzQ2MWI5MGExNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW1Qcml2YXRlLmgKQEAgLTI4LDkgKzI4LDIz
IEBACiAKICNpbXBvcnQgPFdlYktpdC9XZWJIaXN0b3J5SXRlbS5oPgogCisjaWYgVEFSR0VUX09T
X0lQSE9ORQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0NhbGVuZGFyRGF0ZS5oPgorCitleHRlcm4g
TlNTdHJpbmcgKldlYlZpZXdwb3J0SW5pdGlhbFNjYWxlS2V5OworZXh0ZXJuIE5TU3RyaW5nICpX
ZWJWaWV3cG9ydE1pbmltdW1TY2FsZUtleTsKK2V4dGVybiBOU1N0cmluZyAqV2ViVmlld3BvcnRN
YXhpbXVtU2NhbGVLZXk7CitleHRlcm4gTlNTdHJpbmcgKldlYlZpZXdwb3J0VXNlclNjYWxhYmxl
S2V5OworZXh0ZXJuIE5TU3RyaW5nICpXZWJWaWV3cG9ydFdpZHRoS2V5OworZXh0ZXJuIE5TU3Ry
aW5nICpXZWJWaWV3cG9ydEhlaWdodEtleTsKK2V4dGVybiBOU1N0cmluZyAqV2ViVmlld3BvcnRN
aW5pbWFsVUlLZXk7CisjZW5kaWYKKwogQGludGVyZmFjZSBXZWJIaXN0b3J5SXRlbSAoV2ViUHJp
dmF0ZSkKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiArICh2b2lkKV9yZWxlYXNlQWxsUGVuZGlu
Z1BhZ2VDYWNoZXM7CisjZW5kaWYKIAogLSAoaWQpaW5pdFdpdGhVUkw6KE5TVVJMICopVVJMIHRp
dGxlOihOU1N0cmluZyAqKXRpdGxlOwogCkBAIC01MSw2ICs2NSw5IEBACiAtIChCT09MKWlzVGFy
Z2V0SXRlbTsKIC0gKE5TQXJyYXkgKiljaGlsZHJlbjsKIC0gKE5TRGljdGlvbmFyeSAqKWRpY3Rp
b25hcnlSZXByZXNlbnRhdGlvbjsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistIChOU0RpY3Rpb25h
cnkgKilkaWN0aW9uYXJ5UmVwcmVzZW50YXRpb25JbmNsdWRpbmdDaGlsZHJlbjooQk9PTClpbmNs
dWRlc0NoaWxkcmVuOworI2VuZGlmCiAKIC8vIFRoaXMgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGly
ZWN0bHkgZm9yIFdlYkhpc3RvcnlJdGVtcyB0aGF0IGFyZSBhbHJlYWR5IGluY2x1ZGVkCiAvLyBp
biBXZWJIaXN0b3J5LiBVc2UgLVtXZWJIaXN0b3J5IHNldExhc3RWaXNpdGVkVGltZUludGVydmFs
OmZvckl0ZW06XSBpbnN0ZWFkLgpAQCAtNjMsNiArODAsMjEgQEAKIC0gKHNpemVfdClfZ2V0RGFp
bHlWaXNpdENvdW50czooY29uc3QgaW50KiopY291bnRzOwogLSAoc2l6ZV90KV9nZXRXZWVrbHlW
aXNpdENvdW50czooY29uc3QgaW50KiopY291bnRzOwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQor
LSAodm9pZClfc2V0U2NhbGU6KGZsb2F0KXNjYWxlIGlzSW5pdGlhbDooQk9PTClhRmxhZzsKKy0g
KGZsb2F0KV9zY2FsZTsKKy0gKEJPT0wpX3NjYWxlSXNJbml0aWFsOworLSAoTlNEaWN0aW9uYXJ5
ICopX3ZpZXdwb3J0QXJndW1lbnRzOworLSAodm9pZClfc2V0Vmlld3BvcnRBcmd1bWVudHM6KE5T
RGljdGlvbmFyeSAqKWFyZ3VtZW50czsKKy0gKENHUG9pbnQpX3Njcm9sbFBvaW50OworLSAodm9p
ZClfc2V0U2Nyb2xsUG9pbnQ6KENHUG9pbnQpc2Nyb2xsUG9pbnQ7CisKKy0gKHVpbnQzMl90KV9i
b29rbWFya0lEOworLSAodm9pZClfc2V0Qm9va21hcmtJRDoodWludDMyX3QpYm9va21hcmtJRDsK
Ky0gKE5TU3RyaW5nICopX3NoYXJlZExpbmtVbmlxdWVJZGVudGlmaWVyOworLSAodm9pZClfc2V0
U2hhcmVkTGlua1VuaXF1ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcjsKKyNlbmRp
ZgorCiAtIChCT09MKV9pc0luUGFnZUNhY2hlOwogLSAoQk9PTClfaGFzQ2FjaGVkUGFnZUV4cGly
ZWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ2FjaGUuaAppbmRleCAxYjU2NjJiMGUxNmRhZmE2OGNj
ODczNzFlNzY4NWVkYmU2NGQwY2ZlLi5jZDc5MTAwMzY2MjE5MDFkMmE4OGQ5M2NjZjg4NWU2MWRm
YzZlM2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNhY2hlLmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5oCkBAIC0yMywxMiArMjMsMjcgQEAK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAogICovCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xhc3MgV2Vi
RnJhbWU7CisjZW5kaWYKKwogQGludGVyZmFjZSBXZWJDYWNoZSA6IE5TT2JqZWN0CiB7CiB9CiAK
ICsgKE5TQXJyYXkgKilzdGF0aXN0aWNzOwogKyAodm9pZCllbXB0eTsKKyNpZiBUQVJHRVRfT1Nf
SVBIT05FCisrICh2b2lkKWVtcHR5SW5NZW1vcnlSZXNvdXJjZXM7CisrICh2b2lkKXNpemVPZkRl
YWRSZXNvdXJjZXM6KGludCAqKXJlc291cmNlczsKKysgKHZvaWQpY2xlYXJDYWNoZWRDcmVkZW50
aWFsczsKKy8vIFNQSSB0byBhZGQgYSBDR0ltYWdlUmVmIGRpcmVjdGx5IHRvIHRoZSBXZWJDb3Jl
IGNhY2hlLgorKyAoYm9vbClhZGRJbWFnZVRvQ2FjaGU6KENHSW1hZ2VSZWYpaW1hZ2UgZm9yVVJM
OihOU1VSTCAqKXVybDsKKysgKGJvb2wpYWRkSW1hZ2VUb0NhY2hlOihDR0ltYWdlUmVmKWltYWdl
IGZvclVSTDooTlNVUkwgKil1cmwgZm9yRnJhbWU6KFdlYkZyYW1lICopZnJhbWU7CisrICh2b2lk
KXJlbW92ZUltYWdlRnJvbUNhY2hlRm9yVVJMOihOU1VSTCAqKXVybDsKKysgKHZvaWQpcmVtb3Zl
SW1hZ2VGcm9tQ2FjaGVGb3JVUkw6KE5TVVJMICopdXJsIGZvckZyYW1lOihXZWJGcmFtZSAqKWZy
YW1lOworKyAoQ0dJbWFnZVJlZilpbWFnZUZvclVSTDooTlNVUkwgKil1cmw7CisjZW5kaWYKICsg
KHZvaWQpc2V0RGlzYWJsZWQ6KEJPT0wpZGlzYWJsZWQ7CiArIChCT09MKWlzRGlzYWJsZWQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5oCmluZGV4IDhkYzNkNDVjNjQy
YmNhODBlNmZkMTY0Y2FhZTE4YzA0OTM5ZjE2YTIuLjUzNmEwMGNiZjA1NjhhOWU1ZWNiZDI1NmFl
OTI0ODA3NTU2ZWY4OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNv
bkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2Uu
aApAQCAtMTQyLDUgKzE0MiwzIEBAIGV4dGVybiBOU1NpemUgV2ViSWNvbkxhcmdlU2l6ZTsgIC8v
IDEyOCB4IDEyOAogLSAoaWQpZGVsZWdhdGU7CiAKIEBlbmQKLQotCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlUHJpdmF0ZS5oCmluZGV4IGU3YmRhZGJmOWYwNmM0
MDU3MjNiZTg5OWRjNWQ5Y2QxZTNlNzQwY2YuLmE5ZjNhNmM3NWM4Njg1ZDhhNzY5OGVhMzNlNjg1
NDI0ZWY2ZjBkNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRh
dGFiYXNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRhdGFi
YXNlUHJpdmF0ZS5oCkBAIC0yNiw2ICsyNiw4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpZiAh
VEFSR0VUX09TX0lQSE9ORQorCiAjaW1wb3J0IDxXZWJLaXQvV2ViSWNvbkRhdGFiYXNlLmg+CiAK
IC8vIEZJWE1FOiBTb21lIG9mIHRoZSBmb2xsb3dpbmcgaXMgbm90IEFQSSBhbmQgc2hvdWxkIGJl
IG1vdmVkCkBAIC02OCwzICs3MCw0IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViSWNvbkRhdGFiYXNl
RGlkUmVtb3ZlQWxsSWNvbnNOb3RpZmljYXRpb247CiAKIEBlbmQKIAorI2VuZGlmIC8vICFUQVJH
RVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5T
U3RyaW5nRXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0
cmFzLmgKaW5kZXggZGRjNDlmMDMxZjg4NWU1Y2U0NmY0YzUxOTliNDlkMTgxMTY4NWYyZC4uMDY3
OGU5NDExN2NjNWVkODI0YzhiY2MyMGNmNmExNTMxNDA5ODRiMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMuaApAQCAtMjYsMTcgKzI2LDIzIEBACiAg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPENvY29hL0NvY29hLmg+CisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lmICFUQVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxB
cHBLaXQvQXBwS2l0Lmg+CisjZW5kaWYKIAogZXh0ZXJuIE5TU3RyaW5nICpXZWJLaXRMb2NhbENh
Y2hlRGVmYXVsdHNLZXk7CiAKIEBpbnRlcmZhY2UgTlNTdHJpbmcgKFdlYktpdEV4dHJhcykKIAor
I2lmICFUQVJHRVRfT1NfSVBIT05FCiAtICh2b2lkKV93ZWJfZHJhd0F0UG9pbnQ6KE5TUG9pbnQp
cG9pbnQgZm9udDooTlNGb250ICopZm9udCB0ZXh0Q29sb3I6KE5TQ29sb3IgKil0ZXh0Q29sb3Ig
YWxsb3dpbmdGb250U21vb3RoaW5nOihCT09MKWZvbnRTbW9vdGhpbmdJc0FsbG93ZWQ7CiAtICh2
b2lkKV93ZWJfZHJhd0F0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgZm9udDooTlNGb250ICopZm9udCB0
ZXh0Q29sb3I6KE5TQ29sb3IgKil0ZXh0Q29sb3I7CiAtICh2b2lkKV93ZWJfZHJhd0RvdWJsZWRB
dFBvaW50OihOU1BvaW50KXRleHRQb2ludCB3aXRoVG9wQ29sb3I6KE5TQ29sb3IgKil0b3BDb2xv
ciBib3R0b21Db2xvcjooTlNDb2xvciAqKWJvdHRvbUNvbG9yIGZvbnQ6KE5TRm9udCAqKWZvbnQ7
CiAKIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDooTlNGb250ICopZm9udDsKKyNlbmRpZgog
CiAvLyBIYW5kbGVzIGhvbWUgZGlyZWN0b3JpZXMgdGhhdCBoYXZlIHN5bWxpbmtzIGluIHRoZWly
IHBhdGhzLgogLy8gVGhpcyB3b3JrcyBhcm91bmQgMjc3NDI1MC4KQEAgLTQ0LDcgKzUwLDkgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpXZWJLaXRMb2NhbENhY2hlRGVmYXVsdHNLZXk7CiAKIC0gKE5TU3Ry
aW5nICopX3dlYl9zdHJpbmdCeVN0cmlwcGluZ1JldHVybkNoYXJhY3RlcnM7CiAKKyNpZiAhVEFS
R0VUX09TX0lQSE9ORQogKyAoTlNTdHJpbmdFbmNvZGluZylfd2ViX2VuY29kaW5nRm9yUmVzb3Vy
Y2U6KEhhbmRsZSlyZXNvdXJjZTsKKyNlbmRpZgogCiAtIChCT09MKV93ZWJraXRfaXNDYXNlSW5z
ZW5zaXRpdmVFcXVhbFRvU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZzsKIC0gKEJPT0wpX3dlYmtp
dF9oYXNDYXNlSW5zZW5zaXRpdmVQcmVmaXg6KE5TU3RyaW5nICopc3VmZml4OwpAQCAtNTUsNyAr
NjMsMTMgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJLaXRMb2NhbENhY2hlRGVmYXVsdHNLZXk7CiAt
IChOU1N0cmluZyAqKV93ZWJraXRfc3RyaW5nQnlUcmltbWluZ1doaXRlc3BhY2U7CiAtIChOU1N0
cmluZyAqKV93ZWJraXRfc3RyaW5nQnlDb2xsYXBzaW5nTm9uUHJpbnRpbmdDaGFyYWN0ZXJzOwog
LSAoTlNTdHJpbmcgKilfd2Via2l0X3N0cmluZ0J5Q29sbGFwc2luZ1doaXRlc3BhY2VDaGFyYWN0
ZXJzOworI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtIChOU1N0cmluZyAqKV93ZWJraXRfZml4ZWRD
YXJib25QT1NJWFBhdGg7CisjZW5kaWYKKworI2lmIFRBUkdFVF9PU19JUEhPTkUKKysgKE5TU3Ry
aW5nICopX3dlYl9zdHJpbmdXaXRoRGF0YTooTlNEYXRhICopZGF0YSB0ZXh0RW5jb2RpbmdOYW1l
OihOU1N0cmluZyAqKXRleHRFbmNvZGluZ05hbWU7CisjZW5kaWYKIAogKyAoTlNTdHJpbmcgKilf
d2Via2l0X2xvY2FsQ2FjaGVEaXJlY3RvcnlXaXRoQnVuZGxlSWRlbnRpZmllcjooTlNTdHJpbmcq
KWJ1bmRsZUlkZW50aWZpZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViTG9jYWxpemFibGVTdHJpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkxvY2Fs
aXphYmxlU3RyaW5ncy5oCmluZGV4IDE1YjAyMDRlZjQ2OGY1NTFlN2UwODk1NGZhYTQ3YWQzOGU3
ZWM5YTQuLjlkMzlhODUyYzQ1NjUyMDliNzMyYWYzZmU5ZDYwMGEyOWIwYzM2MWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTG9jYWxpemFibGVTdHJpbmdzLmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuaApAQCAtMzQsNiAr
MzQsMTIgQEAgY2xhc3MgTlNCdW5kbGU7CiB0eXBlZGVmIHN0cnVjdCBOU0J1bmRsZSBOU0J1bmRs
ZTsKICNlbmRpZgogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorI2lmIGRlZmluZWQoX19jcGx1c3Bs
dXMpCitleHRlcm4gIkMiIHsKKyNlbmRpZiAgICAgICAgCisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1
Y3QgewogICAgIGNvbnN0IGNoYXIgKmlkZW50aWZpZXI7CiAgICAgX191bnNhZmVfdW5yZXRhaW5l
ZCBOU0J1bmRsZSAqYnVuZGxlOwpAQCAtNDksNiArNTUsMTAgQEAgTlNTdHJpbmcgKldlYkxvY2Fs
aXplZFN0cmluZyhXZWJMb2NhbGl6YWJsZVN0cmluZ3NCdW5kbGUgKmJ1bmRsZSwgY29uc3QgY2hh
ciAqa2UKIENGU3RyaW5nUmVmIFdlYkxvY2FsaXplZFN0cmluZyhXZWJMb2NhbGl6YWJsZVN0cmlu
Z3NCdW5kbGUgKmJ1bmRsZSwgY29uc3QgY2hhciAqa2V5KTsKICNlbmRpZgogCisjaWYgVEFSR0VU
X09TX0lQSE9ORQordm9pZCBMb2FkV2ViTG9jYWxpemVkU3RyaW5ncyh2b2lkKTsgLy8gVGhlIGZp
cnN0IFdlYkxvY2FsaXplZFN0cmluZyBjYWxsIGNhbiB0YWtlIG92ZXIgMjBtcyB1bmxlc3MgdGhp
cyBmdW5jdGlvbiBpcyBjYWxsZWQgYmVmb3JlaGFuZC4KKyNlbmRpZgorCiAjaWZkZWYgX19jcGx1
c3BsdXMKIH0KICNlbmRpZgpAQCAtNjgsMyArNzgsOSBAQCBleHRlcm4gV2ViTG9jYWxpemFibGVT
dHJpbmdzQnVuZGxlIExPQ0FMSVpBQkxFX1NUUklOR1NfQlVORExFKEZSQU1FV09SS19OQU1FKTsK
ICNkZWZpbmUgVUlfU1RSSU5HX0tFWShzdHJpbmcsIGtleSwgY29tbWVudCkgV2ViTG9jYWxpemVk
U3RyaW5nKDAsIGtleSkKIAogI2VuZGlmCisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisjaWYgZGVm
aW5lZChfX2NwbHVzcGx1cykKK30KKyNlbmRpZiAgICAgICAgCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNFdmVudEV4dHJhcy5oIGIvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJOU0V2ZW50RXh0cmFzLmgKaW5kZXggZTM1ZmY1MjliZGU3ZDA0Y2NiM2M3
ZTMzZDQxMGI1ZWVmNTg5ZGRhZS4uNWI5ZDNjNWI4Mzk1NzEwZjA3MzE0OWFmYjY3NGU3MmYzYmM2
OTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0V2ZW50RXh0cmFz
LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0V2ZW50RXh0cmFzLmgKQEAgLTI2
LDYgKzI2LDggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCisK
ICNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KIAogQGludGVyZmFjZSBOU0V2ZW50IChXZWJFeHRy
YXMpCkBAIC0zOSwzICs0MSw1IEBACiAtKEJPT0wpX3dlYl9pc1RhYktleUV2ZW50OwogCiBAZW5k
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0ZpbGVN
YW5hZ2VyRXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TRmlsZU1hbmFnZXJF
eHRyYXMuaAppbmRleCBlOWEwZmVjNDc4ZTAyZTIwNWE3N2JjYWEzMTBiNWQ2M2U2NGY2ZmI1Li40
NTUyOWVhMjczOGYzNThiMTRjYTg3YWNkZGM2MjQ3MDhhN2E5ODZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TRmlsZU1hbmFnZXJFeHRyYXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9NaXNjL1dlYk5TRmlsZU1hbmFnZXJFeHRyYXMuaApAQCAtMjksOSArMjksMTMg
QEAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogCiBAaW50ZXJmYWNlIE5TRmls
ZU1hbmFnZXIgKFdlYk5TRmlsZU1hbmFnZXJFeHRyYXMpCisjaWYgIVRBUkdFVF9PU19JUEhPTkUK
IC0gKHZvaWQpX3dlYmtpdF9zZXRNZXRhZGF0YVVSTDooTlNTdHJpbmcgKilVUkxTdHJpbmcgcmVm
ZXJyZXI6KE5TU3RyaW5nICopcmVmZXJyZXIgYXRQYXRoOihOU1N0cmluZyAqKXBhdGg7CiAtIChO
U1N0cmluZyAqKV93ZWJraXRfc3RhcnR1cFZvbHVtZU5hbWU7CisjZW5kaWYKIC0gKE5TU3RyaW5n
ICopX3dlYmtpdF9wYXRoV2l0aFVuaXF1ZUZpbGVuYW1lRm9yUGF0aDooTlNTdHJpbmcgKilwYXRo
OwotQGVuZAotCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistIChOU1N0cmluZyAqKV93ZWJraXRf
Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5V2l0aFRlbXBsYXRlUHJlZml4OihOU1N0cmluZyAqKXBy
ZWZpeDsKKyNlbmRpZgorQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJOU1Bhc3RlYm9hcmRFeHRyYXMuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNQYXN0
ZWJvYXJkRXh0cmFzLmgKaW5kZXggYjk5NDUxMjI5OThjNzcxZDY3OTkwODViMTA5NmM1ZWIyODY2
MDA5Ni4uM2RhNzYxYzQ2M2ZkYTFkNWVhNTFjYzE5YjNmMTg3ZGUwY2E4ZWEzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1Bhc3RlYm9hcmRFeHRyYXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TUGFzdGVib2FyZEV4dHJhcy5oCkBAIC0yNiw2ICsy
Niw4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorCiAjaW1w
b3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAogQGNsYXNzIERPTUVsZW1lbnQ7CkBAIC04
NywzICs4OSw1IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViVVJMTmFtZVBib2FyZFR5cGU7CiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgorCisjZW5kaWYgLy8gIVRBUkdFVF9PU19JUEhPTkUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNVUkxFeHRyYXMuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNVUkxFeHRyYXMuaAppbmRleCA5NjRkYjg0NGNiNWUz
YTNjZmZjOTFhYTkwNzRlYjdmMWUwMWE0NGMxLi5iZjJiYWE5YWY3NjlkMGFjNjBjNDU5M2RiYWQ5
ZDdmM2I2OGE5ODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TVVJM
RXh0cmFzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4dHJhcy5oCkBA
IC03MSw2ICs3MSwxMSBAQAogCiAtIChOU1VSTCAqKV93ZWJraXRfVVJMRnJvbVVSTE9yU2NoZW1l
bGVzc0ZpbGVVUkw7CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistIChOU1VSTCAqKV93ZWJraXRf
eW91VHViZVVSTDsKKworKyAoTlNVUkwgKil1bmlxdWVVUkxXaXRoUmVsYXRpdmVQYXJ0OihOU1N0
cmluZyAqKXJlbGF0aXZlUGFydDsKKyNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TU3RyaW5n
IChXZWJOU1VSTEV4dHJhcykKQEAgLTk0LDQgKzk5LDkgQEAKIC0gKE5TU3RyaW5nICopX3dlYmtp
dF9VUkxGcmFnbWVudDsKIC0gKE5TU3RyaW5nICopX3dlYmtpdF9zY3JpcHRJZkphdmFTY3JpcHRV
Ukw7CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistIChOU1N0cmluZyAqKV93ZWJraXRfdW5lc2Nh
cGVkUXVlcnlWYWx1ZTsKKy0gKE5TRGljdGlvbmFyeSAqKV93ZWJraXRfcXVlcnlLZXlzQW5kVmFs
dWVzOworI2VuZGlmCisKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViTlNWaWV3RXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TVmlld0V4dHJh
cy5oCmluZGV4IGE5YzI3MTc4ZmY4NGY1N2IzYjM5ZTRmNWFmYTU1NWE5ZWM2OGE3OTcuLjM4YjMx
OWViMTkwMmQwMWM2Y2NkNzA5MDY3NTY5YzQ3ODMyY2EyZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL01pc2MvV2ViTlNWaWV3RXh0cmFzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJOU1ZpZXdFeHRyYXMuaApAQCAtMjYsNyArMjYsMTQgQEAKICAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiAhVEFSR0VUX09T
X0lQSE9ORQogI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgorI2Vsc2UKKyNpbXBvcnQgPFdlYktp
dC9XQUtBcHBLaXRTdHVicy5oPgorI2ltcG9ydCA8V2ViS2l0L1dBS1ZpZXcuaD4KKyNlbmRpZgog
CiAjZGVmaW5lIFdlYkRyYWdJbWFnZUFscGhhIDAuNzVmCiAKQEAgLTM5LDggKzQ2LDExIEBACiAv
LyBSZXR1cm5zIHRoZSBuZWFyZXN0IGVuY2xvc2luZyB2aWV3IG9mIHRoZSBnaXZlbiBjbGFzcywg
b3IgbmlsIGlmIG5vbmUuCiAtIChOU1ZpZXcgKilfd2ViX3N1cGVydmlld09mQ2xhc3M6KENsYXNz
KXZpZXdDbGFzczsKIC0gKFdlYkZyYW1lVmlldyAqKV93ZWJfcGFyZW50V2ViRnJhbWVWaWV3Owor
I2lmICFUQVJHRVRfT1NfSVBIT05FCiAtIChXZWJWaWV3ICopX3dlYlZpZXc7CisjZW5kaWYKIAor
I2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyByZXR1cm5zIHdoZXRoZXIgYSBkcmFnIHNob3VsZCBi
ZWdpbiBzdGFydGluZyB3aXRoIG1vdXNlRG93bkV2ZW50OyBpZiB0aGUgdGltZQogLy8gcGFzc2Vz
IGV4cGlyYXRpb24gb3IgdGhlIG1vdXNlIG1vdmVzIGxlc3MgdGhhbiB0aGUgaHlzdGVyZXNpcyBi
ZWZvcmUgdGhlIG1vdXNlVXAgZXZlbnQsCiAvLyByZXR1cm5zIE5PLCBlbHNlIHJldHVybnMgWUVT
LgpAQCAtNjUsOSArNzUsMjAgQEAKICAgICAgICAgICAgICAgICAgICBwYXN0ZWJvYXJkOihOU1Bh
c3RlYm9hcmQgKilwYXN0ZWJvYXJkIAogICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6KGlk
KXNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6KE5TUG9pbnQgKilkcmFnSW1h
Z2VPZmZzZXQ7CisjZW5kaWYKIAogLSAoQk9PTClfd2ViX2ZpcnN0UmVzcG9uZGVySXNTZWxmT3JE
ZXNjZW5kYW50VmlldzsKIAogLSAoTlNSZWN0KV93ZWJfY29udmVydFJlY3Q6KE5TUmVjdClhUmVj
dCB0b1ZpZXc6KE5TVmlldyAqKWFWaWV3OwogCiBAZW5kCisKKyNpZiBUQVJHRVRfT1NfSVBIT05F
CitAY2xhc3MgV2ViRnJhbWU7CitAY2xhc3MgV2ViVmlldzsKKworQGludGVyZmFjZSBOU1ZpZXcg
KFdlYkRvY3VtZW50Vmlld0V4dHJhcykKKy0gKFdlYkZyYW1lICopX2ZyYW1lOworLSAoV2ViVmll
dyAqKV93ZWJWaWV3OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYk5TV2luZG93RXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5T
V2luZG93RXh0cmFzLmgKaW5kZXggZTZlMWIwMTQ2NzM5ZDAzNGZjOGRiY2E3MjFlNzdhMmM4NWM2
MzZkZC4uZmRjNzRkOTMxZDkxMjE2MDI3NzRiMDk5ZjBkZDYwNDBhZjEzMTljYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1dpbmRvd0V4dHJhcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNXaW5kb3dFeHRyYXMuaApAQCAtMjYsNiArMjYsOCBAQAog
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKwogI2ltcG9ydCA8Q29j
b2EvQ29jb2EuaD4KIAogQGludGVyZmFjZSBOU1dpbmRvdyAoV2ViRXh0cmFzKQpAQCAtMzMsMyAr
MzUsNSBAQAogLSAodm9pZCljZW50ZXJPdmVyTWFpbldpbmRvdzsKIC0gKHZvaWQpbWFrZVJlc3Bv
bmRlcjooTlNSZXNwb25kZXIgKilyZXNwb25kZXIgZmlyc3RSZXNwb25kZXJJZkRlc2NlbmRhbnRP
ZlZpZXc6KE5TVmlldyAqKXZpZXc7CiBAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGFuZWxzL1dlYlBhbmVsQXV0aGVudGljYXRpb25IYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QYW5lbHMvV2ViUGFuZWxBdXRoZW50aWNhdGlvbkhhbmRsZXIuaAppbmRl
eCBkNTRhMDg2MmI2ZmQxNWUwMWRlMWNiMTQxY2U4N2FhM2MwOTRjZDdmLi5jMzRiNTg3ZGJmZjc1
M2RiNTZmMjg3NDg3ZjhlMTNjOGQ4Y2JmZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9QYW5lbHMvV2ViUGFuZWxBdXRoZW50aWNhdGlvbkhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9QYW5lbHMvV2ViUGFuZWxBdXRoZW50aWNhdGlvbkhhbmRsZXIuaApAQCAtMjYsNiAr
MjYsOCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKwogI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJM
Q3JlZGVudGlhbFN0b3JhZ2UuaD4KIApAQCAtNDMsMyArNDUsNSBAQAogLSAodm9pZCljYW5jZWxB
dXRoZW50aWNhdGlvbjooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZTsK
IAogQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbi5oCmluZGV4
IDk1MzQ1ODNmMGU0YmVlZTFiOGMwMTBjYThmOTE2ODQ4MTcxNWJkMTAuLmMyNzk4ZWU5NWEwYjVi
M2IxNzE2YmQ3ODlmYmRlMmQ1N2FlZjYyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQ
bHVnaW4uaApAQCAtMjYsOSArMjYsMTMgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCA8
Q29jb2EvQ29jb2EuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9y
dCA8SmF2YVNjcmlwdENvcmUvV2ViS2l0QXZhaWxhYmlsaXR5Lmg+CiAKKyNpZiAhVEFSR0VUX09T
X0lQSE9ORQorI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgorI2VuZGlmCisKIC8qIQogICAgIFdl
YlBsdWdJbiBpcyBhbiBpbmZvcm1hbCBwcm90b2NvbCB0aGF0IGVuYWJsZXMgaW50ZXJhY3Rpb24g
YmV0d2VlbiBhbiBhcHBsaWNhdGlvbgogICAgIGFuZCB3ZWIgcmVsYXRlZCBwbHVnLWlucyBpdCBt
YXkgY29udGFpbi4KQEAgLTc2LDEyICs4MCwxNCBAQAogKi8KIC0gKHZvaWQpd2ViUGx1Z0luRGVz
dHJveTsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiEKICAgICBAbWV0aG9kIHdlYlBsdWdJ
blNldElzU2VsZWN0ZWQ6CiAgICAgQGRpc2N1c3NzaW9uIEluZm9ybXMgdGhlIHBsdWctaW4gd2hl
dGhlciBvciBub3QgaXQgaXMgc2VsZWN0ZWQuICBUaGlzIGlzIHR5cGljYWxseQogICAgIHVzZWQg
dG8gYWxsb3cgdGhlIHBsdWctaW4gdG8gYWx0ZXIgaXQncyBhcHBlYXJhbmNlIHdoZW4gc2VsZWN0
ZWQuCiAqLwogLSAodm9pZCl3ZWJQbHVnSW5TZXRJc1NlbGVjdGVkOihCT09MKWlzU2VsZWN0ZWQ7
CisjZW5kaWYKIAogLyohCiAgICAgQHByb3BlcnR5IG9iamVjdEZvcldlYlNjcmlwdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250YWluZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udGFpbmVyLmgKaW5kZXggYmRhNjIw
NDUxY2Y5YzAxZWM2ODI0YjE3MTQ4OGEwNjljNjZjNmVjMi4uMzA0NTdlOWRhZDJjYmZkOTEzMGIy
NmMwODFmMjYyNmQ5Njg0NDgzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJQbHVnaW5Db250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
YlBsdWdpbkNvbnRhaW5lci5oCkBAIC0yNiw3ICsyNiwxMSBAQAogICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci0jaW1wb3J0IDxDb2NvYS9Db2NvYS5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9u
Lmg+CisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgor
I2VuZGlmCiAKIC8qIQogICAgIFRoaXMgaW5mb3JtYWwgcHJvdG9jb2wgZW5hYmxlcyBhIHBsdWct
aW4gdG8gcmVxdWVzdCB0aGF0IGl0cyBjb250YWluaW5nIGFwcGxpY2F0aW9uCkBAIC01MywxMiAr
NTcsMTQgQEAKICovCiAtICh2b2lkKXdlYlBsdWdJbkNvbnRhaW5lclNob3dTdGF0dXM6KE5TU3Ry
aW5nICopbWVzc2FnZTsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiEKICAgICBAcHJvcGVy
dHkgd2ViUGx1Z0luQ29udGFpbmVyU2VsZWN0aW9uQ29sb3IKICAgICBAYWJzdHJhY3QgVGhlIGNv
bG9yIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIGFueSBzcGVjaWFsIGRyYXdpbmcgd2hlbgogICAg
IHBsdWctaW4gaXMgc2VsZWN0ZWQuCiAqLwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBzdHJvbmcpIE5TQ29sb3IgKndlYlBsdWdJbkNvbnRhaW5lclNlbGVjdGlvbkNvbG9yOworI2Vu
ZGlmCiAKIC8qIQogICAgIEBwcm9wZXJ0eSB3ZWJGcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250YWluZXJQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRhaW5lclByaXZhdGUuaAppbmRleCAxYjhkZTQx
OGM0ZmU1OGI5MGEyMTI4Yzc5MDEyZWViZTdmOTgzZmQwLi5iYTAyMTk1MTRlN2RhYTg1ZjUzNmMw
N2E5MjFjNWVlNGJiNjEzMTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L1dlYlBsdWdpbkNvbnRhaW5lclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYlBsdWdpbkNvbnRhaW5lclByaXZhdGUuaApAQCAtMjYsMTEgKzI2LDE3IEBACiAgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKLSNpbXBvcnQgPENvY29hL0NvY29hLmg+CisjaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxBcHBL
aXQvQXBwS2l0Lmg+CisjZW5kaWYKKworI2lmICFUQVJHRVRfT1NfSVBIT05FCiAjaWYgIWRlZmlu
ZWQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAjZGVmaW5lIEVOQUJMRV9QTFVHSU5f
UFJPWFlfRk9SX1ZJREVPIDAKICNlbmRpZgorI2VuZGlmCiAKICNpZiBFTkFCTEVfUExVR0lOX1BS
T1hZX0ZPUl9WSURFTwogQGNsYXNzIFdlYk1lZGlhUGxheWVyUHJveHk7CkBAIC00OCw0ICs1NCwy
MSBAQAogLSAodm9pZClfd2ViUGx1Z2luQ29udGFpbmVyUG9zdE1lZGlhUGxheWVyTm90aWZpY2F0
aW9uOihpbnQpbm90aWZpY2F0aW9uIGZvckVsZW1lbnQ6KERPTUVsZW1lbnQgKillbGVtZW50Owog
I2VuZGlmCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisvLyBDYWxsIHdoZW4gdGhlIHBsdWctaW4g
c2hvd3MvaGlkZXMgaXRzIGZ1bGwtc2NyZWVuIFVJLgorLSAodm9pZCl3ZWJQbHVnSW5Db250YWlu
ZXJXaWxsU2hvd0Z1bGxTY3JlZW5Gb3JWaWV3OihpZClwbHVnSW5WaWV3OworLSAodm9pZCl3ZWJQ
bHVnSW5Db250YWluZXJEaWRIaWRlRnVsbFNjcmVlbkZvclZpZXc6KGlkKXBsdWdJblZpZXc7CisK
Ky8qIQorIEBtZXRob2QgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlCisgQGRpc2N1c3Npb24gVGhlIHBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSBtZXRob2QgYWxsb3dzIHRoZSBwbHVnLWluIHRvIGZpbmQgb3V0
IGlmCisgYSB1c2VyIGdlc3R1cmUgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZC4gVGhlIHBs
dWctaW4gbWF5IHVzZSB0aGlzIGluZm9ybWF0aW9uCisgdG8gYWxsb3cgb3IgZGVueSBjZXJ0YWlu
IGFjdGlvbnMuICBUaGlzIG1ldGhvZCB3aWxsIG5vdCBiZSBpbXBsZW1lbnRlZCBieSBjb250YWlu
ZXJzIHRoYXQKKyBhcmUgbm90IFdlYktpdCBiYXNlZC4KKyBAcmVzdWx0IFJldHVybnMgYSBib29s
ZWFuIHZhbHVlLCBZRVMgdG8gaW5kaWNhdGUgdGhhdCBhIHVzZXIgZ2VzdHVyZSBpcyBiZWluZyBw
cm9jZXNzZWQsCisgTk8gb3RoZXJ3aXNlLgorICovCistIChCT09MKXByb2Nlc3NpbmdVc2VyR2Vz
dHVyZTsKKyNlbmRpZgorCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYlBsdWdpbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBs
dWdpbkRhdGFiYXNlLmgKaW5kZXggMmY3Y2NkNzJkMGUwOTk0YTc5Y2UzNjMwYTg3YTg5ZmM3NzAx
YWE1Yi4uZmQ4MTUyOTc3MWM3ZDc5MmRiMDIxOTQ4YTI1MjQxYTk5YTc1ODMzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luRGF0YWJhc2UuaApAQCAtMjgsNiArMjgs
MTAgQEAKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKKyNpZiBUQVJHRVRf
T1NfSVBIT05FCisjaW1wb3J0IDxXZWJLaXQvV0FLQXBwS2l0U3R1YnMuaD4KKyNlbmRpZgorCiBA
Y2xhc3MgV2ViQmFzZVBsdWdpblBhY2thZ2U7CiBAY2xhc3MgV2ViRnJhbWU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Qcml2YXRlLmgKaW5kZXggNTZlNGEzYWU5MDdm
NTUwMDljOWU0M2E0MzNkMWZhMTdjOGM5MjM5OS4uMjg2NjA5YjU4NGY2OTc4Y2QwNmQ0YjFiMmIz
MDZlZmFlYjViMGU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQ
bHVnaW5Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Q
cml2YXRlLmgKQEAgLTI4LDQgKzI4LDM3IEBACiAKIEBpbnRlcmZhY2UgTlNPYmplY3QgKFdlYlBs
dWdJblByaXZhdGUpCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisKKy8vIEZJWE1FOiBDb21tZW50
IG1lCistIChDbGFzcyl3ZWJQbHVnSW5GdWxsU2NyZWVuV2luZG93Q2xhc3M7CisKKy8vIEZJWE1F
OiBDb21tZW50IG1lCistICh2b2lkKXdlYlBsdWdJbldpbGxFbnRlckZ1bGxTY3JlZW5XaXRoRnJh
bWU6KENHUmVjdCluZXdGcmFtZTsKKworLy8gRklYTUU6IENvbW1lbnQgbWUKKy0gKHZvaWQpd2Vi
UGx1Z0luV2lsbExlYXZlRnVsbFNjcmVlbldpdGhGcmFtZTooQ0dSZWN0KW5ld0ZyYW1lOworCisv
LyBGSVhNRTogQ29tbWVudCBtZQorLSAoQk9PTCl3ZWJQbHVnSW5SZWNlaXZlc0V2ZW50c0RpcmVj
dGx5OworCisvLyBGSVhNRTogQ29tbWVudCBtZQorLSAodm9pZCl3ZWJQbHVnSW5MYXlvdXQ7CisK
Ky8vIEZJWE1FOiBDb21tZW50IG1lCistICh2b2lkKXdlYlBsdWdJbkRpZERyYXc7CisKKy8qIQor
IEBtZXRob2Qgd2ViUGx1Z0luU3RvcEZvclBhZ2VDYWNoZQorIEBhYnN0cmFjdCBUZWxsIHRoZSBw
bHVnLWluIHRvIHN0b3Agbm9ybWFsIG9wZXJhdGlvbiBiZWNhdXNlIHRoZSBwYWdlIHRoZSBwbHVn
LWluCisgYmVsb25ncyB0byBpcyBlbnRlcmluZyBhIGNhY2hlLgorIEBkaXNjdXNzaW9uIEEgcGFn
ZSBpbiB0aGUgUGFnZUNhY2hlIGNhbiBiZSBxdWlja2x5IHJlc3VtZWQuIFRoaXMgaXMgbXVjaCBs
aWtlCisgcGF1c2luZyBhbmQgcmVzdW1pbmcgYSBwbHVnLWluIGV4Y2VwdCB0aGUgZnJhbWUgY29u
dGFpbmluZyB0aGUgcGx1Zy1pbiB3aWxsCisgbm90IGJlIHZpc2libGUsIGlzIG5vdCBhY3RpdmUs
IGFuZCBtYXkgZXZlbiBoYXZlIGJlZW4gdG9ybiBkb3duLiBUaGUgQVBJIGNvbnRyYWN0CisgZm9y
IG1lc3NhZ2VzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBtZXNzYWdlIGFyZSB0aGUgc2FtZSBhcyAt
d2ViUGx1Z0luU3RvcC4KKyAqLworLSAodm9pZCl3ZWJQbHVnSW5TdG9wRm9yUGFnZUNhY2hlOwor
CisjZW5kaWYKKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJQbHVnaW5WaWV3RmFjdG9yeS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVn
aW5WaWV3RmFjdG9yeS5oCmluZGV4IGEyMTU5MDY2NTE4ODRhM2ZkNzU3YzMxOWQ2MGMzYTAyZjgx
NjNjZWYuLmY1YTQ3ZWZiZGM5ZDA1MmFjMGI5OGRlNTQ2M2RjYjk0Njc0MTMyZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luVmlld0ZhY3RvcnkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpblZpZXdGYWN0b3J5LmgKQEAgLTI2
LDkgKzI2LDEzIEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPENvY29hL0NvY29hLmg+
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oPgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKyNpbXBv
cnQgPEFwcEtpdC9BcHBLaXQuaD4KKyNlbmRpZgorCiAvKiEKICAgICBAY29uc3RhbnQgV2ViUGx1
Z0luQmFzZVVSTEtleSBSRVFVSVJFRC4gVGhlIGJhc2UgVVJMIG9mIHRoZSBkb2N1bWVudCBjb250
YWluaW5nCiAgICAgdGhlIHBsdWctaW4ncyB2aWV3LgpAQCAtODEsNiArODUsMTEgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJQbHVnSW5TaG91bGRMb2FkTWFpblJlc291cmNlS2V5IEFWQUlMQUJMRV9J
Tl9XRUJLSVRfVkVSU0lPTl8KICAgICBAcGFyYW0gYXJndW1lbnRzIFRoZSBhcmd1bWVudHMgZGlj
dGlvbmFyeSB3aXRoIHRoZSBtZW50aW9uZWQga2V5cyBhbmQgb2JqZWN0cy4gVGhpcyBtZXRob2Qg
aXMgcmVxdWlyZWQgdG8gaW1wbGVtZW50LgogICAgIEByZXN1bHQgUmV0dXJucyBhbiBOU1ZpZXcg
b2JqZWN0IHRoYXQgY29uZm9ybXMgdG8gdGhlIFdlYlBsdWdJbiBpbmZvcm1hbCBwcm90b2NvbC4K
ICovCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKICsgKE5TVmlldyAqKXBsdWdJblZpZXdXaXRoQXJn
dW1lbnRzOihOU0RpY3Rpb25hcnkgKilhcmd1bWVudHM7CisjZWxzZQorLy8gK3BsdWdJblZpZXdX
aXRoQXJndW1lbnRzOiByZXR1cm5zIGEgVUlWaWV3IHN1YmNsYXNzCisrIChpZClwbHVnSW5WaWV3
V2l0aEFyZ3VtZW50czooTlNEaWN0aW9uYXJ5ICopYXJndW1lbnRzOworI2VuZGlmCiAKIEBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luc1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luc1ByaXZhdGUuaAppbmRleCBm
YzAwNjdkNjYwODI0ZGJiNDQ0MmVhOGRlZDE0NjViMTgxYzZjNWQ3Li5jYzNmMzY5NmQzZWRmNDY1
YjQxOTc1Nzk2NWYwN2I5MGNlNjM0M2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYlBsdWdpbnNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJQbHVnaW5zUHJpdmF0ZS5oCkBAIC0yNiw4ICsyNiwxMiBAQAogICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKwogLy8gV2ViUGx1Z2luV2lsbFByZXNlbnROYXRp
dmVVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uIGlzIHNlbnQgYnkgcGx1Z2lucyB0byBub3RpZnkg
dGhlIFdlYktpdCBjbGllbnQKIC8vIGFwcGxpY2F0aW9uIHRoYXQgdGhlIHBsdWdpbiB3aWxsIHBy
ZXNlbnQgYSBkaWFsb2cgb3Igc29tZSBvdGhlciAibmF0aXZlIiB1c2VyIGludGVyZmFjZSB0byB0
aGUgdXNlci4KIC8vIFRoaXMgaXMgY3VycmVudGx5IG9ubHkgbmVlZGVkIGJ5IERhc2hib2FyZCwg
d2hpY2ggbXVzdCBoaWRlIGl0c2VsZiB3aGVuIGEgcGx1Z2luIHByZXNlbnRzIGEgZGlhbG9nCiAv
LyBib3ggKDQzMTg2MzIpLgogZXh0ZXJuIE5TU3RyaW5nICpXZWJQbHVnaW5XaWxsUHJlc2VudE5h
dGl2ZVVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb247CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUuaAppbmRleCA2
Y2U3ZTI1YWM2ZTU1MmI2NDhjM2I1MmQ3MDI3MzE3OGZhYTY2NjZhLi5jY2UzYjRjZGE2NDNjNzIw
N2QzYzA3NmYxOGQ0ZTIwOGU1YWMxMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUuaApAQCAtNDQsNiArNDQsMTMgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpXZWJEYXRhYmFzZURpZE1vZGlmeU9yaWdpbk5vdGlmaWNhdGlvbjsK
IGV4dGVybiBOU1N0cmluZyAqV2ViRGF0YWJhc2VEaWRNb2RpZnlEYXRhYmFzZU5vdGlmaWNhdGlv
bjsKIGV4dGVybiBOU1N0cmluZyAqV2ViRGF0YWJhc2VJZGVudGlmaWVyS2V5OwogCisjaWYgVEFS
R0VUX09TX0lQSE9ORQorI2ltcG9ydCA8V2ViS2l0L1dlYlVJS2l0U3VwcG9ydC5oPgorCisvLyBQ
b3N0ZWQgd2hlbiBvcmlnaW5zIGhhdmUgY2hhbmdlZC4KK2V4dGVybiBDRlN0cmluZ1JlZiBXZWJE
YXRhYmFzZU9yaWdpbnNEaWRDaGFuZ2VOb3RpZmljYXRpb247CisjZW5kaWYKKwogQGNsYXNzIFdl
YlNlY3VyaXR5T3JpZ2luOwogCiBAaW50ZXJmYWNlIFdlYkRhdGFiYXNlTWFuYWdlciA6IE5TT2Jq
ZWN0CkBAIC02Myw2ICs3MCw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViRGF0YWJhc2VJZGVudGlm
aWVyS2V5OwogLSAoQk9PTClkZWxldGVPcmlnaW46KFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2lu
OwogLSAoQk9PTClkZWxldGVEYXRhYmFzZTooTlNTdHJpbmcgKilkYXRhYmFzZUlkZW50aWZpZXIg
d2l0aE9yaWdpbjooV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW47CiAKKyNpZiBUQVJHRVRfT1Nf
SVBIT05FCisrICh2b2lkKXNjaGVkdWxlRW1wdHlEYXRhYmFzZVJlbW92YWw7CisjZW5kaWYKIEBl
bmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJBcHBsaWNhdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJBcHBsaWNhdGlvbkNhY2hlLmgKaW5kZXggNDk0ZDBjNDJhNjk2MzVkYTNmZDY0YjI3NjMz
NzQyYmRjMzQyYjlmYi4uZWM0YmZiMDRjNWMwNzljZGM5MzgxZmUwYWQ2MjgxOGQzMWY1ZGU4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQXBwbGljYXRp
b25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFwcGxp
Y2F0aW9uQ2FjaGUuaApAQCAtMjksNiArMjksOSBAQAogCiBAaW50ZXJmYWNlIFdlYkFwcGxpY2F0
aW9uQ2FjaGU6IE5TT2JqZWN0CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisrICh2b2lkKWluaXRp
YWxpemVXaXRoQnVuZGxlSWRlbnRpZmllcjooTlNTdHJpbmcgKilidW5kbGVJZGVudGlmaWVyOwor
I2VuZGlmCiArIChsb25nIGxvbmcpbWF4aW11bVNpemU7CiArICh2b2lkKXNldE1heGltdW1TaXpl
Oihsb25nIGxvbmcpc2l6ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwuaAppbmRleCAxZGZk
MmU0NmVmZDNjODQ0M2JkMGM3ZGNlYmRjMTQ3NDI0ZDE2YWRhLi40YTY2ODY4MzU3NDYzN2Q2MzEx
MTkyZjFlNWQzN2E1ZDJmNzcwZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwuaApAQCAt
MjYsNiArMjYsOCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUK
KwogI2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KIAogQGludGVyZmFjZSBXZWJKYXZhU2NyaXB0VGV4
dElucHV0UGFuZWwgOiBOU1dpbmRvd0NvbnRyb2xsZXIKQEAgLTQxLDMgKzQzLDUgQEAKIC0gKElC
QWN0aW9uKXByZXNzZWRPSzooaWQpc2VuZGVyOwogCiBAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViS2V5R2VuZXJhdG9yLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJLZXlHZW5lcmF0b3IuaAppbmRleCA3
NzI4Njk5NzJlOGRhMmM4NzgxMTBiZjYyNzllZjM0NWNiZjZkNDQwLi5kNTE3NjI1YjMxMGRiNzdk
NTM3ZWRhYTg4NTk2ZjY2NzI5YjNiOTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJLZXlHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJLZXlHZW5lcmF0b3IuaApAQCAtMjMsNiArMjMsOCBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpZiAhVEFSR0VUX09TX0lQSE9O
RQorCiB0eXBlZGVmIGVudW0gewogICAgIFdlYkNlcnRpZmljYXRlUGFyc2VSZXN1bHRTdWNjZWVk
ZWQgID0gMCwKICAgICBXZWJDZXJ0aWZpY2F0ZVBhcnNlUmVzdWx0RmFpbGVkICAgICA9IDEsCkBA
IC0zOSwzICs0MSw1IEBAIHR5cGVkZWYgZW51bSB7CiBAZW5kCiAKICNlbmRpZgorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5
T3JpZ2luUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2Vj
dXJpdHlPcmlnaW5Qcml2YXRlLmgKaW5kZXggZmFlNGMzMzgyY2MyN2VhYmE1OTZjZTM1MjA2MDE3
M2VmMWY2NmU3NC4uNDIyNTUwMjIxNzQxNjhkYzUyODdkMTdkMmYyMmU2YjMxOGFiYTI0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmln
aW5Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2Vj
dXJpdHlPcmlnaW5Qcml2YXRlLmgKQEAgLTQxLDYgKzQxLDkgQEAKIC0gKE5TU3RyaW5nICopaG9z
dDsKIAogLSAoTlNTdHJpbmcgKilkYXRhYmFzZUlkZW50aWZpZXI7CisjaWYgVEFSR0VUX09TX0lQ
SE9ORQorLSAoTlNTdHJpbmcgKil0b1N0cmluZzsKKyNlbmRpZgogLSAoTlNTdHJpbmcgKilzdHJp
bmdWYWx1ZTsKIAogLy8gUmV0dXJucyB6ZXJvIGlmIHRoZSBwb3J0IGlzIHRoZSBkZWZhdWx0IHBv
cnQgZm9yIHRoZSBwcm90b2NvbCwgbm9uLXplcm8gb3RoZXJ3aXNlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXNoYm9hcmRSZWdpb24uaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRGFzaGJvYXJkUmVnaW9uLmgKaW5kZXggNDlhNTc1Y2MwMGIyMjdj
ZjgxNTQ3ZjZiMGFmMWY1NjBmNjg4MTAzMC4uMmE3YWE0ZGMwMzYyMjUxMWRlYjBiMjhjNDg3Njk5
MzlhZGY3OTUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXNo
Ym9hcmRSZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhc2hib2Fy
ZFJlZ2lvbi5oCkBAIC0yMyw2ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCisjaWYg
IVRBUkdFVF9PU19JUEhPTkUKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkKICNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKICNlbmRpZgpAQCAtNDksMyAr
NTEsNSBAQCB0eXBlZGVmIGVudW0gewogQGVuZAogCiAjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5oCmluZGV4IDIxMDczZTg0NDE4N2MzYTAw
YTRkOTM4NzkyMmZjZmRkZTc3NDc4NzguLmM3MGVlYjIzOTZlM2RlMjUxZmZmOWEzNDFiYWQwMGUz
YWNlNGViNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5oCkBA
IC0yNiw4ICsyNiw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPENvY29hL0NvY29h
Lmg+Ci0KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0
L1dlYkRvY3VtZW50Lmg+CiAKIEBjbGFzcyBOU011dGFibGVVUkxSZXF1ZXN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlUHJpdmF0ZS5oCmluZGV4IDhhOWZh
MzU3ZjZkZmQwY2U3ZjVkOWZlYjE4Nzc5MWExYzgwYzRkYWIuLmMzNWNkYjU5ZWQ1N2I1ZGQ3OGQ4
OGI2Y2EyOWVlMmU3NTQzODExZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRGF0YVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkRhdGFTb3VyY2VQcml2YXRlLmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogQGludGVyZmFjZSBX
ZWJEYXRhU291cmNlIChXZWJQcml2YXRlKQogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0gKE5T
RmlsZVdyYXBwZXIgKilfZmlsZVdyYXBwZXJGb3JVUkw6KE5TVVJMICopVVJMOworI2VuZGlmCiAt
ICh2b2lkKV9hZGRTdWJmcmFtZUFyY2hpdmVzOihOU0FycmF5ICopIGFyY2hpdmVzOwogLSAoTlNF
cnJvciAqKV9tYWluRG9jdW1lbnRFcnJvcjsKIC0gKE5TU3RyaW5nICopX3Jlc3BvbnNlTUlNRVR5
cGU7CkBAIC00NSw2ICs0Nyw5IEBACiAKIC0gKHZvaWQpX3NldERlZmVyTWFpblJlc291cmNlRGF0
YUxvYWQ6KEJPT0wpZmxhZzsKIAorI2lmIFRBUkdFVF9PU19JUEhPTkUKKy0gKHZvaWQpX3NldE92
ZXJyaWRlVGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZzsKKyNlbmRpZgogLSAo
dm9pZClfc2V0QWxsb3dUb0JlTWVtb3J5TWFwcGVkOwogLSAodm9pZClzZXREYXRhU291cmNlRGVs
ZWdhdGU6KE5TT2JqZWN0PFdlYkRhdGFTb3VyY2VQcml2YXRlRGVsZWdhdGU+ICopZGF0YVNvdXJj
ZURlbGVnYXRlOwogLSAoTlNPYmplY3Q8V2ViRGF0YVNvdXJjZVByaXZhdGVEZWxlZ2F0ZT4gKilk
YXRhU291cmNlRGVsZWdhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkRvY3VtZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRvY3VtZW50LmgK
aW5kZXggYjE4MjE1YTJhN2NkOTE1MDViNmQ1ZTc1MDM3ZWE3MDlkZjFjNTMyMC4uYmYxZDRjODBj
MmIzMmVkNmIyZGZlNzZkZTU1NDliODQyNjNlNjhmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRG9jdW1lbnQuaApAQCAtMjYsNyArMjYsMTMgQEAKICAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAot
I2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKyNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KKyNl
bHNlCisjaW1wb3J0IDxXZWJLaXQvV0FLQXBwS2l0U3R1YnMuaD4KKyNlbmRpZgogCiBAY2xhc3Mg
TlNFcnJvcjsKIEBjbGFzcyBXZWJEYXRhU291cmNlOwpAQCAtMTE4LDExICsxMjQsMTMgQEAKICov
CiAtIChOU1N0cmluZyAqKXN0cmluZzsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiEKICAg
ICBAbWV0aG9kIGF0dHJpYnV0ZWRTdHJpbmcKICAgICBAcmVzdWx0IEF0dHJpYnV0ZWQgc3RyaW5n
IHRoYXQgcmVwcmVzZW50cyB0aGUgZW50aXJlIGRvY3VtZW50LgogKi8KIC0gKE5TQXR0cmlidXRl
ZFN0cmluZyAqKWF0dHJpYnV0ZWRTdHJpbmc7CisjZW5kaWYKIAogLyohCiAgICAgQG1ldGhvZCBz
ZWxlY3RlZFN0cmluZwpAQCAtMTMwLDExICsxMzgsMTMgQEAKICovCiAtIChOU1N0cmluZyAqKXNl
bGVjdGVkU3RyaW5nOwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8qIQogICAgIEBtZXRob2Qg
c2VsZWN0ZWRBdHRyaWJ1dGVkU3RyaW5nCiAgICAgQHJlc3VsdCBBdHRyaWJ1dGVkIHN0cmluZyB0
aGF0IHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLgogKi8KIC0gKE5TQXR0cmlidXRl
ZFN0cmluZyAqKXNlbGVjdGVkQXR0cmlidXRlZFN0cmluZzsKKyNlbmRpZgogCiAKIC8qIQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEb2N1bWVudFByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRG9jdW1lbnRQcml2YXRlLmgKaW5kZXggYTQ5
NWU0YjY3OGNmNGZlMzUzZDllODgyMDk0OGU0NGI2ZmE3OTU2MC4uZGY1MTM4MGVjYTc4MjM1MWVh
ZjQ2YTAzN2MzNmU5YzFlNzllY2NlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJEb2N1bWVudFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkRvY3VtZW50UHJpdmF0ZS5oCkBAIC0zMiw5ICszMiwxMSBAQAogQGNsYXNzIERPTURvY3Vt
ZW50OwogQGNsYXNzIFBERkRvY3VtZW50OwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIEBwcm90
b2NvbCBXZWJEb2N1bWVudEltYWdlIDxOU09iamVjdD4KIC0gKE5TSW1hZ2UgKilpbWFnZTsKIEBl
bmQKKyNlbmRpZgogCiAvLyBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFzIGl0IG5vdyBsaXZl
cyBvbiBXZWJGcmFtZS4KIEBwcm90b2NvbCBXZWJEb2N1bWVudERPTSA8TlNPYmplY3Q+CkBAIC00
Myw4ICs0NSwxMCBAQAogQGVuZAogCiBAcHJvdG9jb2wgV2ViRG9jdW1lbnRTZWxlY3Rpb24gPFdl
YkRvY3VtZW50VGV4dD4KKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLSAoTlNBcnJheSAqKXBhc3Rl
Ym9hcmRUeXBlc0ZvclNlbGVjdGlvbjsKIC0gKHZvaWQpd3JpdGVTZWxlY3Rpb25XaXRoUGFzdGVi
b2FyZFR5cGVzOihOU0FycmF5ICopdHlwZXMgdG9QYXN0ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilw
YXN0ZWJvYXJkOworI2VuZGlmCiAKIC8vIEFycmF5IG9mIHJlY3RzIHRoYXQgdGlnaHRseSBlbmNs
b3NlIHRoZSBzZWxlY3RlZCB0ZXh0LCBpbiBjb29yZGluYXRlcyBvZiBzZWxlY3RpblZpZXcuCiAt
IChOU0FycmF5ICopc2VsZWN0aW9uVGV4dFJlY3RzOwpAQCAtNTIsOSArNTYsMTMgQEAKIC8vIFJl
Y3QgdGlnaHRseSBlbmNsb3NpbmcgdGhlIGVudGlyZSBzZWxlY3RlZCBhcmVhLCBpbiBjb29yZGlu
YXRlcyBvZiBzZWxlY3Rpb25WaWV3LgogLSAoTlNSZWN0KXNlbGVjdGlvblJlY3Q7CiAKKyNpZiAh
VEFSR0VUX09TX0lQSE9ORQogLy8gTlNJbWFnZSBvZiB0aGUgcG9ydGlvbiBvZiB0aGUgc2VsZWN0
aW9uIHRoYXQncyBpbiB2aWV3LiBUaGlzIGRvZXMgbm90IGRyYXcgYmFja2dyb3VuZHMuIAogLy8g
VGhlIHRleHQgaXMgYWxsIGJsYWNrIGFjY29yZGluZyB0byB0aGUgcGFyYW1ldGVyLgogLSAoTlNJ
bWFnZSAqKXNlbGVjdGlvbkltYWdlRm9yY2luZ0JsYWNrVGV4dDooQk9PTClmb3JjZUJsYWNrVGV4
dDsKKyNlbHNlCistIChDR0ltYWdlUmVmKXNlbGVjdGlvbkltYWdlRm9yY2luZ0JsYWNrVGV4dDoo
Qk9PTClmb3JjZUJsYWNrVGV4dDsKKyNlbmRpZgogCiAvLyBSZWN0IHRpZ2h0bHkgZW5jbG9zaW5n
IHRoZSBlbnRpcmUgc2VsZWN0ZWQgYXJlYSwgaW4gY29vcmRpbmF0ZXMgb2Ygc2VsZWN0aW9uVmll
dy4KIC8vIE5PVEU6IFRoaXMgbWV0aG9kIGlzIGVxdWl2YWxlbnQgdG8gc2VsZWN0aW9uUmVjdCBh
bmQgc2hvdWxkbid0IGJlIHVzZWQ7IHVzZSBzZWxlY3Rpb25SZWN0IGluc3RlYWQuCkBAIC04NSwz
ICs5MywyMyBAQAogCiBAaW50ZXJmYWNlIFdlYkhUTUxWaWV3IChXZWJEb2N1bWVudFByaXZhdGVQ
cm90b2NvbHMpIDxXZWJEb2N1bWVudFNlbGVjdGlvbiwgV2ViRG9jdW1lbnRJbmNyZW1lbnRhbFNl
YXJjaGluZz4KIEBlbmQKKworI2lmIFRBUkdFVF9PU19JUEhPTkUKK0Bwcm90b2NvbCBXZWJQREZE
b2N1bWVudFJlcHJlc2VudGF0aW9uIDxXZWJEb2N1bWVudFJlcHJlc2VudGF0aW9uPgorLyohCisg
ICAgQG1ldGhvZCBzdXBwb3J0ZWRNSU1FVHlwZXMKKyAgICBAYWJzdHJhY3QgUmV0dXJucyBsaXN0
IG9mIE1JTUUgdHlwZXMgaGFuZGxlZCBieSB0aGlzIHZpZXcuCisgICAgQHJlc3VsdCBBcnJheSBv
ZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgc3VwcG9ydGVkIE1JTUUgdHlwZXMuCisqLworKyAo
TlNBcnJheSAqKXN1cHBvcnRlZE1JTUVUeXBlczsKK0BlbmQKKworQHByb3RvY29sIFdlYlBERkRv
Y3VtZW50VmlldyA8V2ViRG9jdW1lbnRWaWV3PgorLyohCisgICAgQG1ldGhvZCBzdXBwb3J0ZWRN
SU1FVHlwZXMKKyAgICBAYWJzdHJhY3QgUmV0dXJucyBsaXN0IG9mIE1JTUUgdHlwZXMgaGFuZGxl
ZCBieSB0aGlzIHZpZXcuCisgICAgQHJlc3VsdCBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGlu
ZyB0aGUgc3VwcG9ydGVkIE1JTUUgdHlwZXMuCisqLworKyAoTlNBcnJheSAqKXN1cHBvcnRlZE1J
TUVUeXBlczsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3LmgKaW5kZXggMzBiNGRhYTBhZWFlYmY1M2I4ZjJj
MGQyMjE5NTdiOThiNzA1MWFlMy4uYTQ4N2UxNjM0M2I1YjIzNTNkNDViN2EyMmZhODVhY2E0YjBk
YTExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Ny
b2xsQmFyc1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNT
Y3JvbGxCYXJzVmlldy5oCkBAIC0yMyw2ICsyMywxMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisvLyBJbiBpT1MgV2Vi
S2l0LCBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgaXMgYSBXQUtTY3JvbGxWaWV3LgorLy8gU2Vl
IFdlYkNvcmUvV0FLQXBwS2l0U3R1YnMuaC4KKyNlbHNlCiAvLyBUaGlzIGlzIGEgUHJpdmF0ZSBo
ZWFkZXIgKGNvbnRhaW5pbmcgU1BJKSwgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IGl0cyBuYW1lCiAv
LyBkb2VzIG5vdCBjb250YWluIHRoZSB3b3JkIFByaXZhdGUuCiAKQEAgLTYyLDMgKzY2LDUgQEAg
c3RydWN0IFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlld1ByaXZhdGU7CiAtIChCT09MKWhvcml6b250
YWxTY3JvbGxpbmdBbGxvd2VkOwogLSAoQk9PTCl2ZXJ0aWNhbFNjcm9sbGluZ0FsbG93ZWQ7CiBA
ZW5kCisKKyNlbmRpZiAvLyAhVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJFZGl0aW5nRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRWRpdGluZ0RlbGVnYXRlLmgKaW5kZXggNjBkZTAwODc4OGI3YTM0NjAyYzFm
M2M4MzQ2YjIwMDBmZTAzOWU1YS4uNWE3YjM0NTU0NDRiNjJmOWRlZGYxZWY0MjcxZWZhZGQ2MDNk
MTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJFZGl0aW5nRGVs
ZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkVkaXRpbmdEZWxlZ2F0
ZS5oCkBAIC0yNiw3ICsyNiwxMSBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxDb2Nv
YS9Db2NvYS5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiAhVEFS
R0VUX09TX0lQSE9ORQorI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgorI2VuZGlmCiAKIEBjbGFz
cyBET01DU1NTdHlsZURlY2xhcmF0aW9uOwogQGNsYXNzIERPTVJhbmdlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJFZGl0aW5nRGVsZWdhdGVQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkVkaXRpbmdEZWxlZ2F0ZVByaXZhdGUuaAppbmRl
eCBkOTI2YjkzODQ4YTQ4N2E1NTllZTJjMDEyOWZlYTg1MzA3MzdmODE5Li5hNjk0YzJlN2E2M2Vj
ZDZhYTA2NjEyN2JlZDQ0ZjIxYzY1NWNjMjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkVkaXRpbmdEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkVkaXRpbmdEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMzIsNiArMzIsMTEg
QEAKIAogQGludGVyZmFjZSBOU09iamVjdCAoV2ViVmlld0VkaXRpbmdEZWxlZ2F0ZVByaXZhdGUp
CiAtIChCT09MKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IHNob3VsZFNob3dEZWxldGVJbnRl
cmZhY2VGb3JFbGVtZW50OihET01IVE1MRWxlbWVudCAqKWVsZW1lbnQ7CisjaWYgIVRBUkdFVF9P
U19JUEhPTkUKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcgZGlkV3JpdGVTZWxl
Y3Rpb25Ub1Bhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBhc3RlYm9hcmQ7CisjZWxzZQorLSAo
TlNBcnJheSAqKXN1cHBvcnRlZFBhc3RlYm9hcmRUeXBlc0ZvckN1cnJlbnRTZWxlY3Rpb247Cist
IChET01Eb2N1bWVudEZyYWdtZW50ICopZG9jdW1lbnRGcmFnbWVudEZvclBhc3RlYm9hcmRJdGVt
QXRJbmRleDooTlNJbnRlZ2VyKWluZGV4OworI2VuZGlmCiAtIChCT09MKXdlYlZpZXc6KFdlYlZp
ZXcgKil3ZWJWaWV3IHNob3VsZE1vdmVSYW5nZUFmdGVyRGVsZXRlOihET01SYW5nZSAqKXJhbmdl
IHJlcGxhY2luZ1JhbmdlOihET01SYW5nZSAqKXJhbmdlVG9CZVJlcGxhY2VkOwogQGVuZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGb3JtRGVsZWdhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRm9ybURlbGVnYXRlLmgKaW5kZXggYjc0OTZlOTU0
OTBiNzgxYzQwMWUwNzU0MTQwZGJhZmZlZGI3N2FmZS4uODNjM2YwZTQzNjk4MTQyMzI5OWFhOGM2
MGVlNWQ4YzBiYTM2NzhkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGb3JtRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZvcm1E
ZWxlZ2F0ZS5oCkBAIC0yNiwxMiArMjYsMTkgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2ltcG9y
dCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogI2lt
cG9ydCA8QXBwS2l0L0FwcEtpdC5oPgorI2VuZGlmCiAKIEBjbGFzcyBET01FbGVtZW50OwogQGNs
YXNzIERPTUhUTUxGb3JtRWxlbWVudDsKIEBjbGFzcyBET01IVE1MSW5wdXRFbGVtZW50OwogQGNs
YXNzIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQ7CisjaWYgVEFSR0VUX09TX0lQSE9ORQorQGNsYXNz
IERPTU5vZGU7CisjZW5kaWYKIEBjbGFzcyBXZWJGcmFtZTsKIAogLyohCkBAIC01Nyw4ICs2NCw5
IEBACiAtICh2b2lkKWRpZEZvY3VzVGV4dEZpZWxkOihET01IVE1MSW5wdXRFbGVtZW50ICopZWxl
bWVudCBpbkZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOwogCiAtIChCT09MKXRleHRGaWVsZDooRE9N
SFRNTElucHV0RWxlbWVudCAqKWVsZW1lbnQgZG9Db21tYW5kQnlTZWxlY3RvcjooU0VMKWNvbW1h
bmRTZWxlY3RvciBpbkZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOworI2lmICFUQVJHRVRfT1NfSVBI
T05FCiAtIChCT09MKXRleHRGaWVsZDooRE9NSFRNTElucHV0RWxlbWVudCAqKWVsZW1lbnQgc2hv
dWxkSGFuZGxlRXZlbnQ6KE5TRXZlbnQgKilldmVudCBpbkZyYW1lOihXZWJGcmFtZSAqKWZyYW1l
OwotCisjZW5kaWYKIC8vIFNlbnQgd2hlbiBhIGZvcm0gaXMganVzdCBhYm91dCB0byBiZSBzdWJt
aXR0ZWQgKGJlZm9yZSB0aGUgbG9hZCBpcyBzdGFydGVkKQogLy8gbGlzdGVuZXIgbXVzdCBiZSBz
ZW50IGNvbnRpbnVlIHdoZW4gdGhlIGRlbGVnYXRlIGlzIGRvbmUuCiAtICh2b2lkKWZyYW1lOihX
ZWJGcmFtZSAqKWZyYW1lIHNvdXJjZUZyYW1lOihXZWJGcmFtZSAqKXNvdXJjZUZyYW1lIHdpbGxT
dWJtaXRGb3JtOihET01FbGVtZW50ICopZm9ybQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZUxvYWREZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJGcmFtZUxvYWREZWxlZ2F0ZS5oCmluZGV4IDU0NzUzY2U2MWNlODljODFjYzFmOGRk
ZjMxNDJjOTI3OTM3MWVlNWYuLjhkMzgxMzViZGRmMzdmNTY3ODA5NzY5MDM4NDM5ZDk1OTQwMjJj
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVMb2FkRGVs
ZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lTG9hZERlbGVn
YXRlLmgKQEAgLTI2LDEwICsyNiwxNCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxD
b2NvYS9Db2NvYS5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0
IDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1dlYktp
dEF2YWlsYWJpbGl0eS5oPgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKyNpbXBvcnQgPEFwcEtp
dC9BcHBLaXQuaD4KKyNlbmRpZgorCiBAY2xhc3MgTlNFcnJvcjsKIEBjbGFzcyBXZWJGcmFtZTsK
IEBjbGFzcyBXZWJTY3JpcHRPYmplY3Q7CkBAIC0xMDksNyArMTEzLDkgQEAKICAgICBAcGFyYW0g
aW1hZ2UgVGhlIGljb24gaW1hZ2UuIEFsc28ga25vd24gYXMgYSAiZmF2aWNvbiIuCiAgICAgQHBh
cmFtIGZyYW1lIFRoZSBmcmFtZSBmb3Igd2hpY2ggYSBwYWdlIGljb24gaGFzIGJlZW4gcmVjZWl2
ZWQKICovCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAq
KXNlbmRlciBkaWRSZWNlaXZlSWNvbjooTlNJbWFnZSAqKWltYWdlIGZvckZyYW1lOihXZWJGcmFt
ZSAqKWZyYW1lOworI2VuZGlmCiAKIC8qIQogICAgIEBtZXRob2Qgd2ViVmlldzpkaWRGaW5pc2hM
b2FkRm9yRnJhbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUu
aAppbmRleCAwZGQ2ZGNjYTNhN2ZlOGZhOTk2OWZlYWM4YzlmZWZhZTk3YWU0NjNkLi5lZjk0M2Jl
OTI5MTE2Nzg2MDA1MzNlYTRkY2IwMmU5YTIwY2ZjNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKQEAgLTMxLDkgKzMxLDE2IEBACiAjaW1wb3J0IDxX
ZWJLaXQvV2ViRnJhbWUuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogCisj
aWYgIVRBUkdFVF9PU19JUEhPTkUKICNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSkKICNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMQogI2VuZGlmCisjZW5k
aWYKKworI2lmIFRBUkdFVF9PU19JUEhPTkUKKyNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5o
PgorI2luY2x1ZGUgPFdlYktpdC9XQUtBcHBLaXRTdHVicy5oPgorI2VuZGlmCiAKIEBjbGFzcyBE
T01Eb2N1bWVudEZyYWdtZW50OwogQGNsYXNzIERPTU5vZGU7CkBAIC00MSw2ICs0OCwxMiBAQAog
QGNsYXNzIFdlYlNjcmlwdE9iamVjdDsKIEBjbGFzcyBXZWJTY3JpcHRXb3JsZDsKIAorI2lmIFRB
UkdFVF9PU19JUEhPTkUKK0BjbGFzcyBET01FbGVtZW50OworQGNsYXNzIERPTVJhbmdlOworQGNs
YXNzIFdlYkV2ZW50OworI2VuZGlmCisKIC8vIEtleXMgZm9yIGFjY2Vzc2luZyB0aGUgdmFsdWVz
IGluIHRoZSBwYWdlIGNhY2hlIGRpY3Rpb25hcnkuCiBleHRlcm4gTlNTdHJpbmcgKldlYlBhZ2VD
YWNoZUVudHJ5RGF0ZUtleTsKIGV4dGVybiBOU1N0cmluZyAqV2ViUGFnZUNhY2hlRGF0YVNvdXJj
ZUtleTsKQEAgLTcxLDExICs4NCwxMTcgQEAgdHlwZWRlZiBlbnVtIHsKIAogLSAoQk9PTClfaXNE
ZXNjZW5kYW50T2ZGcmFtZTooV2ViRnJhbWUgKilmcmFtZTsKIC0gKHZvaWQpX3NldFNob3VsZENy
ZWF0ZVJlbmRlcmVyczooQk9PTClzaG91bGRDcmVhdGVSZW5kZXJlcnM7CisjaWYgIVRBUkdFVF9P
U19JUEhPTkUKIC0gKE5TQ29sb3IgKilfYm9keUJhY2tncm91bmRDb2xvcjsKKyNlbHNlCistIChD
R0NvbG9yUmVmKV9ib2R5QmFja2dyb3VuZENvbG9yOworI2VuZGlmCiAtIChCT09MKV9pc0ZyYW1l
U2V0OwogLSAoQk9PTClfZmlyc3RMYXlvdXREb25lOwogLSAoQk9PTClfaXNWaXN1YWxseU5vbkVt
cHR5OwogLSAoV2ViRnJhbWVMb2FkVHlwZSlfbG9hZFR5cGU7CisjaWYgVEFSR0VUX09TX0lQSE9O
RQorLSAoQk9PTCluZWVkc0xheW91dDsgLy8gTmVlZGVkIGZvciBNYWlsIDxyZGFyOi8vcHJvYmxl
bS82MjI4MDM4PgorLSAodm9pZClfc2V0TG9hZHNTeW5jaHJvbm91c2x5OihCT09MKWZsYWc7Cist
IChCT09MKV9sb2Fkc1N5bmNocm9ub3VzbHk7CistICh1bnNpZ25lZClmb3JtRWxlbWVudHNDaGFy
YWN0ZXJDb3VudDsKKy0gKHZvaWQpc2V0VGltZW91dHNQYXVzZWQ6KEJPT0wpZmxhZzsKKworLyoh
CisgICAgQG1ldGhvZCBzZXRQbHVnaW5zUGF1c2VkCisgICAgQGFic3RyYWN0IFN0b3Avc3RhcnQg
YWxsIHBsdWdpbnMgYmFzZWQgb24gdGhlIGZsYWcgcGFzc2VkIGlmIHdlIGhhdmUgYSBXZWJIVE1M
VmlldworICAgIEBwYXJhbSBmbGFnIFlFUyB0byBzdG9wIHBsdWdpbnMgb24gdGhlIGh0bWwgdmll
dywgTk8gdG8gc3RhcnQgdGhlbQorICovCistICh2b2lkKXNldFBsdWdpbnNQYXVzZWQ6KEJPT0wp
ZmxhZzsKKy0gKHZvaWQpcHJlcGFyZUZvclBhdXNlOworLSAodm9pZClyZXN1bWVGcm9tUGF1c2U7
CistICh2b2lkKXVwZGF0ZUxheW91dDsKKy0gKHZvaWQpc2VsZWN0TlNSYW5nZTooTlNSYW5nZSly
YW5nZTsKKy0gKHZvaWQpc2VsZWN0V2l0aG91dENsb3NpbmdUeXBpbmdOU1JhbmdlOihOU1Jhbmdl
KXJhbmdlOworLSAoTlNSYW5nZSlzZWxlY3RlZE5TUmFuZ2U7CistICh2b2lkKWZvcmNlTGF5b3V0
QWRqdXN0aW5nVmlld1NpemU6KEJPT0wpYWRqdXN0OworLSAodm9pZClfaGFuZGxlS2V5RXZlbnQ6
KFdlYkV2ZW50ICopZXZlbnQ7CistICh2b2lkKV9zZWxlY3RBbGw7CistICh2b2lkKV9zZXRTZWxl
Y3Rpb25Gcm9tTm9uZTsKKy0gKHZvaWQpX3NhdmVWaWV3U3RhdGU7CistICh2b2lkKV9yZXN0b3Jl
Vmlld1N0YXRlOworLSAodm9pZClzZW5kT3JpZW50YXRpb25DaGFuZ2VFdmVudDooaW50KW5ld09y
aWVudGF0aW9uOworLSAodm9pZClzZXROZWVkc0xheW91dDsKKy0gKENHU2l6ZSlyZW5kZXJlZFNp
emVPZk5vZGU6KERPTU5vZGUgKilub2RlIGNvbnN0cmFpbmVkVG9XaWR0aDooZmxvYXQpd2lkdGg7
CistIChET01Ob2RlICopZGVlcGVzdE5vZGVBdFZpZXdwb3J0TG9jYXRpb246KENHUG9pbnQpYVZp
ZXdwb3J0TG9jYXRpb247CistIChET01Ob2RlICopc2Nyb2xsYWJsZU5vZGVBdFZpZXdwb3J0TG9j
YXRpb246KENHUG9pbnQpYVZpZXdwb3J0TG9jYXRpb247CistIChET01Ob2RlICopYXBwcm94aW1h
dGVOb2RlQXRWaWV3cG9ydExvY2F0aW9uOihDR1BvaW50ICopYVZpZXdwb3J0TG9jYXRpb247Cist
IChDR1JlY3QpcmVuZGVyUmVjdEZvclBvaW50OihDR1BvaW50KXBvaW50IGlzUmVwbGFjZWQ6KEJP
T0wgKilpc1JlcGxhY2VkIGZvbnRTaXplOihmbG9hdCAqKWZvbnRTaXplOworCistICh2b2lkKV9z
ZXRQcm9oaWJpdHNTY3JvbGxpbmc6KEJPT0wpZmxhZzsKKworLSAodm9pZClyZXZlYWxTZWxlY3Rp
b25BdEV4dGVudDooQk9PTClyZXZlYWxFeHRlbnQ7CistICh2b2lkKXJlc2V0U2VsZWN0aW9uOwor
LSAoQk9PTCloYXNFZGl0YWJsZVNlbGVjdGlvbjsKKworLSAoaW50KXByZWZlcnJlZEhlaWdodDsK
Ky8vIFJldHVybnMgdGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBpbm5lciBub2RlIG9mIGEgdGV4dCBj
b250cm9sLgorLy8gRm9yIG90aGVyIG5vZGVzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGlu
ZUhlaWdodC4KKy0gKGludClpbm5lckxpbmVIZWlnaHQ6KERPTU5vZGUgKilub2RlOworLSAodm9p
ZClzZXRJc0FjdGl2ZTooQk9PTClmbGFnOworLSAodm9pZClzZXRTZWxlY3Rpb25DaGFuZ2VDYWxs
YmFja3NEaXNhYmxlZDooQk9PTClmbGFnOworLSAoTlNSZWN0KWNhcmV0UmVjdDsKKy0gKE5TUmVj
dClyZWN0Rm9yU2Nyb2xsVG9WaXNpYmxlOyAvLyByZXR1cm4gY2FyZXRSZWN0IGlmIHNlbGVjdGlv
biBpcyBjYXJldCwgc2VsZWN0aW9uUmVjdCBvdGhlcndpc2UKKy0gKHZvaWQpc2V0Q2FyZXRDb2xv
cjooQ0dDb2xvclJlZiljb2xvcjsKKy0gKE5TVmlldyAqKWRvY3VtZW50VmlldzsKKy0gKGludCls
YXlvdXRDb3VudDsKKy0gKEJPT0wpaXNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nQWxsb3dlZDsKKy0g
KEJPT0wpaXNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZDsKKy0gKEJPT0wpbWVkaWFEYXRh
TG9hZHNBdXRvbWF0aWNhbGx5OworLSAodm9pZClzZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2Fs
bHk6KEJPT0wpZmxhZzsKKworLSAoRE9NUmFuZ2UgKilzZWxlY3RlZERPTVJhbmdlOworLSAodm9p
ZClzZXRTZWxlY3RlZERPTVJhbmdlOihET01SYW5nZSAqKXJhbmdlIGFmZmluaXR5OihOU1NlbGVj
dGlvbkFmZmluaXR5KWFmZmluaXR5IGNsb3NlVHlwaW5nOihCT09MKWNsb3NlVHlwaW5nOworLSAo
TlNTZWxlY3Rpb25BZmZpbml0eSlzZWxlY3Rpb25BZmZpbml0eTsKKy0gKHZvaWQpZXhwYW5kU2Vs
ZWN0aW9uVG9FbGVtZW50Q29udGFpbmluZ0NhcmV0U2VsZWN0aW9uOworLSAoRE9NUmFuZ2UgKill
bGVtZW50UmFuZ2VDb250YWluaW5nQ2FyZXRTZWxlY3Rpb247CistICh2b2lkKWV4cGFuZFNlbGVj
dGlvblRvV29yZENvbnRhaW5pbmdDYXJldFNlbGVjdGlvbjsKKy0gKHZvaWQpZXhwYW5kU2VsZWN0
aW9uVG9TdGFydE9mV29yZENvbnRhaW5pbmdDYXJldFNlbGVjdGlvbjsKKy0gKHVuaWNoYXIpY2hh
cmFjdGVySW5SZWxhdGlvblRvQ2FyZXRTZWxlY3Rpb246KGludClhbW91bnQ7CistICh1bmljaGFy
KWNoYXJhY3RlckJlZm9yZUNhcmV0U2VsZWN0aW9uOworLSAodW5pY2hhciljaGFyYWN0ZXJBZnRl
ckNhcmV0U2VsZWN0aW9uOworLSAoRE9NUmFuZ2UgKil3b3JkUmFuZ2VDb250YWluaW5nQ2FyZXRT
ZWxlY3Rpb247CistIChOU1N0cmluZyAqKXdvcmRJblJhbmdlOihET01SYW5nZSAqKXJhbmdlOwor
LSAoaW50KXdvcmRPZmZzZXRJblJhbmdlOihET01SYW5nZSAqKXJhbmdlOworLSAoQk9PTClzcGFj
ZUZvbGxvd3NXb3JkSW5SYW5nZTooRE9NUmFuZ2UgKilyYW5nZTsKKy0gKE5TQXJyYXkgKil3b3Jk
c0luQ3VycmVudFBhcmFncmFwaDsKKy0gKEJPT0wpc2VsZWN0aW9uQXREb2N1bWVudFN0YXJ0Owor
LSAoQk9PTClzZWxlY3Rpb25BdFNlbnRlbmNlU3RhcnQ7CistIChCT09MKXNlbGVjdGlvbkF0V29y
ZFN0YXJ0OworLSAoRE9NUmFuZ2UgKilyYW5nZUJ5TW92aW5nQ3VycmVudFNlbGVjdGlvbjooaW50
KWFtb3VudDsKKy0gKERPTVJhbmdlICopcmFuZ2VCeUV4dGVuZGluZ0N1cnJlbnRTZWxlY3Rpb246
KGludClhbW91bnQ7CistICh2b2lkKXNlbGVjdE5TUmFuZ2U6KE5TUmFuZ2UpcmFuZ2Ugb25FbGVt
ZW50OihET01FbGVtZW50ICopZWxlbWVudDsKKy0gKERPTVJhbmdlICopbWFya2VkVGV4dERPTVJh
bmdlOworLSAodm9pZClzZXRNYXJrZWRUZXh0OihOU1N0cmluZyAqKXRleHQgc2VsZWN0ZWRSYW5n
ZTooTlNSYW5nZSluZXdTZWxSYW5nZTsKKy0gKHZvaWQpc2V0TWFya2VkVGV4dDooTlNTdHJpbmcg
Kil0ZXh0IGZvckNhbmRpZGF0ZXM6KEJPT0wpZm9yQ2FuZGlkYXRlczsKKy0gKHZvaWQpY29uZmly
bU1hcmtlZFRleHQ6KE5TU3RyaW5nICopdGV4dDsKKy0gKHZvaWQpc2V0VGV4dDooTlNTdHJpbmcg
Kil0ZXh0IGFzQ2hpbGRPZkVsZW1lbnQ6KERPTUVsZW1lbnQgKillbGVtZW50OworLSAodm9pZClz
ZXREaWN0YXRpb25QaHJhc2VzOihOU0FycmF5ICopZGljdGF0aW9uUGhyYXNlcyBtZXRhZGF0YToo
aWQpbWV0YWRhdGEgYXNDaGlsZE9mRWxlbWVudDooRE9NRWxlbWVudCAqKWVsZW1lbnQ7CistIChO
U0FycmF5ICopaW50ZXJwcmV0YXRpb25zRm9yQ3VycmVudFJvb3Q7CistICh2b2lkKWdldERpY3Rh
dGlvblJlc3VsdFJhbmdlczooTlNBcnJheSAqKilyYW5nZXMgYW5kTWV0YWRhdGFzOihOU0FycmF5
ICoqKW1ldGFkYXRhczsKKy0gKGlkKWRpY3RhdGlvblJlc3VsdE1ldGFkYXRhRm9yUmFuZ2U6KERP
TVJhbmdlICopcmFuZ2U7CistICh2b2lkKXJlY3Vyc2l2ZVNldFVwZGF0ZUFwcGVhcmFuY2VFbmFi
bGVkOihCT09MKWVuYWJsZWQ7CisKKy8vIFdlYkNvcmVGcmFtZUJyaWRnZSBtZXRob2RzIHVzZWQg
YnkgaU9TIGFwcGxpY2F0aW9ucyBhbmQgZnJhbWV3b3JrcworKyAoTlNTdHJpbmcgKilzdHJpbmdX
aXRoRGF0YTooTlNEYXRhICopZGF0YSB0ZXh0RW5jb2RpbmdOYW1lOihOU1N0cmluZyAqKXRleHRF
bmNvZGluZ05hbWU7CisKKy0gKE5TUmVjdCljYXJldFJlY3RBdE5vZGU6KERPTU5vZGUgKilub2Rl
IG9mZnNldDooaW50KW9mZnNldCBhZmZpbml0eTooTlNTZWxlY3Rpb25BZmZpbml0eSlhZmZpbml0
eTsKKy0gKERPTVJhbmdlICopY2hhcmFjdGVyUmFuZ2VBdFBvaW50OihOU1BvaW50KXBvaW50Owor
LSAoTlNSYW5nZSljb252ZXJ0RE9NUmFuZ2VUb05TUmFuZ2U6KERPTVJhbmdlICopcmFuZ2U7Cist
IChET01SYW5nZSAqKWNvbnZlcnROU1JhbmdlVG9ET01SYW5nZTooTlNSYW5nZSluc3JhbmdlOwor
LSAoTlNSZWN0KWZpcnN0UmVjdEZvckRPTVJhbmdlOihET01SYW5nZSAqKXJhbmdlOworLSAoQ1RG
b250UmVmKWZvbnRGb3JTZWxlY3Rpb246KEJPT0wgKiloYXNNdWx0aXBsZUZvbnRzOworLSAodm9p
ZClzZW5kU2Nyb2xsRXZlbnQ7CistICh2b2lkKV91c2VyU2Nyb2xsZWQ7CistIChOU1N0cmluZyAq
KXN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5nOihOU1N0cmluZyAqKXN0cmlu
ZyBmb3JjZVVzZXJHZXN0dXJlOihCT09MKWZvcmNlVXNlckdlc3R1cmU7CistIChOU1N0cmluZyAq
KXN0cmluZ0ZvclJhbmdlOihET01SYW5nZSAqKXJhbmdlOworLSAodm9pZClfcmVwbGFjZVNlbGVj
dGlvbldpdGhUZXh0OihOU1N0cmluZyAqKXRleHQgc2VsZWN0UmVwbGFjZW1lbnQ6KEJPT0wpc2Vs
ZWN0UmVwbGFjZW1lbnQgc21hcnRSZXBsYWNlOihCT09MKXNtYXJ0UmVwbGFjZSBtYXRjaFN0eWxl
OihCT09MKW1hdGNoU3R5bGU7CisjZW5kaWYgLy8gVEFSR0VUX09TX0lQSE9ORQogCiAvLyBUaGVz
ZSBtZXRob2RzIHRha2UgYW5kIHJldHVybiBOU1JhbmdlcyBiYXNlZCBvbiB0aGUgcm9vdCBlZGl0
YWJsZSBlbGVtZW50IGFzIHRoZSBwb3NpdGlvbmFsIGJhc2UuCiAvLyBUaGlzIGZpdHMgd2l0aCBB
cHBLaXQncyBpZGVhIG9mIGFuIGlucHV0IGNvbnRleHQuIFRoZXNlIG1ldGhvZHMgYXJlIHNsb3cg
Y29tcGFyZWQgdG8gdGhlaXIgRE9NUmFuZ2UgZXF1aXZhbGVudHMuCkBAIC04Myw2ICsyMDIsMTMg
QEAgdHlwZWRlZiBlbnVtIHsKIC0gKE5TUmFuZ2UpX3NlbGVjdGVkTlNSYW5nZTsKIC0gKHZvaWQp
X3NlbGVjdE5TUmFuZ2U6KE5TUmFuZ2UpcmFuZ2U7CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisv
LyBGSVhNRTogc2VsZWN0aW9uCistIChOU0FycmF5ICopX3JlY3RzRm9yUmFuZ2U6KERPTVJhbmdl
ICopZG9tUmFuZ2U7CistIChET01SYW5nZSAqKV9zZWxlY3Rpb25SYW5nZUZvclBvaW50OihDR1Bv
aW50KXBvaW50OworLSAoRE9NUmFuZ2UgKilfc2VsZWN0aW9uUmFuZ2VGb3JGaXJzdFBvaW50OihD
R1BvaW50KWZpcnN0IHNlY29uZFBvaW50OihDR1BvaW50KXNlY29uZDsKKyNlbmRpZgorCiAtIChC
T09MKV9pc0Rpc3BsYXlpbmdTdGFuZGFsb25lSW1hZ2U7CiAKIC0gKHVuc2lnbmVkKV9wZW5kaW5n
RnJhbWVVbmxvYWRFdmVudENvdW50OwpAQCAtMTAzLDE2ICsyMjksMjMgQEAgdHlwZWRlZiBlbnVt
IHsKIC0gKHZvaWQpX3NldFZpc2libGVTaXplOihDR1NpemUpc2l6ZTsKIC0gKHZvaWQpX3NldFRl
eHRBdXRvc2l6aW5nV2lkdGg6KENHRmxvYXQpd2lkdGg7CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05F
CistICh2b2lkKV9yZXBsYWNlU2VsZWN0aW9uV2l0aFdlYkFyY2hpdmU6KFdlYkFyY2hpdmUgKil3
ZWJBcmNoaXZlIHNlbGVjdFJlcGxhY2VtZW50OihCT09MKXNlbGVjdFJlcGxhY2VtZW50IHNtYXJ0
UmVwbGFjZTooQk9PTClzbWFydFJlcGxhY2U7CisjZW5kaWYKKwogLSAodm9pZClfcmVwbGFjZVNl
bGVjdGlvbldpdGhGcmFnbWVudDooRE9NRG9jdW1lbnRGcmFnbWVudCAqKWZyYWdtZW50IHNlbGVj
dFJlcGxhY2VtZW50OihCT09MKXNlbGVjdFJlcGxhY2VtZW50IHNtYXJ0UmVwbGFjZTooQk9PTClz
bWFydFJlcGxhY2UgbWF0Y2hTdHlsZTooQk9PTCltYXRjaFN0eWxlOwogLSAodm9pZClfcmVwbGFj
ZVNlbGVjdGlvbldpdGhUZXh0OihOU1N0cmluZyAqKXRleHQgc2VsZWN0UmVwbGFjZW1lbnQ6KEJP
T0wpc2VsZWN0UmVwbGFjZW1lbnQgc21hcnRSZXBsYWNlOihCT09MKXNtYXJ0UmVwbGFjZTsKIC0g
KHZvaWQpX3JlcGxhY2VTZWxlY3Rpb25XaXRoTWFya3VwU3RyaW5nOihOU1N0cmluZyAqKW1hcmt1
cFN0cmluZyBiYXNlVVJMU3RyaW5nOihOU1N0cmluZyAqKWJhc2VVUkxTdHJpbmcgc2VsZWN0UmVw
bGFjZW1lbnQ6KEJPT0wpc2VsZWN0UmVwbGFjZW1lbnQgc21hcnRSZXBsYWNlOihCT09MKXNtYXJ0
UmVwbGFjZTsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtICh2b2lkKV9zbWFydEluc2VydEZv
clN0cmluZzooTlNTdHJpbmcgKilwYXN0ZVN0cmluZyByZXBsYWNpbmdSYW5nZTooRE9NUmFuZ2Ug
KilyYW5nZVRvUmVwbGFjZSBiZWZvcmVTdHJpbmc6KE5TU3RyaW5nICoqKWJlZm9yZVN0cmluZyBh
ZnRlclN0cmluZzooTlNTdHJpbmcgKiopYWZ0ZXJTdHJpbmc7CisjZW5kaWYKIAogLSAoTlNNdXRh
YmxlRGljdGlvbmFyeSAqKV9jYWNoZWFiaWxpdHlEaWN0aW9uYXJ5OwogCiAtIChCT09MKV9hbGxv
d3NGb2xsb3dpbmdMaW5rOihOU1VSTCAqKVVSTDsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAv
LyBTZXRzIHdoZXRoZXIgdGhlIHNjcm9sbGJhcnMsIGlmIGFueSwgc2hvdWxkIGJlIHNob3duIGlu
c2lkZSB0aGUgZG9jdW1lbnQncyBib3JkZXIgCiAvLyAodGh1cyBvdmVybGFwcGluZyBzb21lIGNv
bnRlbnQpIG9yIG91dHNpZGUgdGhlIHdlYlZpZXcncyBib3JkZXIgKGRlZmF1bHQgYmVoYXZpb3Ip
LiAKIC8vIENoYW5naW5nIHRoaXMgZmxhZyBjaGFuZ2VzIHRoZSBzaXplIG9mIHRoZSBjb250ZW50
VmlldyBhbmQgbWFpbnRhaW5zIHRoZSBzaXplIG9mIHRoZSBmcmFtZVZpZXcuCkBAIC0xMjIsNiAr
MjU1LDcgQEAgdHlwZWRlZiBlbnVtIHsKIC8vIFRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBzY3Jv
bGxhYmlsaXR5IG9mIHRoZSBkb2N1bWVudC4KIC0gKHZvaWQpc2V0QWx3YXlzSGlkZUhvcml6b250
YWxTY3JvbGxlcjooQk9PTClmbGFnOwogLSAodm9pZClzZXRBbHdheXNIaWRlVmVydGljYWxTY3Jv
bGxlcjooQk9PTClmbGFnOworI2VuZGlmCiAKIC8vIFNldHMgdGhlIG5hbWUgcHJlc2VudGVkIHRv
IGFjY2Vzc2liaWxpdHkgY2xpZW50cyBmb3IgdGhlIHdlYiBhcmVhIG9iamVjdC4KIC0gKHZvaWQp
c2V0QWNjZXNzaWJsZU5hbWU6KE5TU3RyaW5nICopbmFtZTsKQEAgLTEzNyw2ICsyNzEsMTkgQEAg
dHlwZWRlZiBlbnVtIHsKIC8vIFByaW50aW5nLgogLSAoTlNBcnJheSAqKV9jb21wdXRlUGFnZVJl
Y3RzV2l0aFByaW50U2NhbGVGYWN0b3I6KGZsb2F0KXByaW50V2lkdGhTY2FsZUZhY3RvciBwYWdl
U2l6ZTooTlNTaXplKXBhZ2VTaXplOwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAoRE9NRG9j
dW1lbnRGcmFnbWVudCAqKV9kb2N1bWVudEZyYWdtZW50Rm9yVGV4dDooTlNTdHJpbmcgKil0ZXh0
OworLy8gVGhlc2UgaGF2ZSB0aGUgc2lkZSBlZmZlY3Qgb2YgYWRkaW5nIHN1YnJlc291cmNlcyB0
byBvdXIgV2ViRGF0YVNvdXJjZSB3aGVyZSBhcHByb3ByaWF0ZS4KKy0gKERPTURvY3VtZW50RnJh
Z21lbnQgKilfZG9jdW1lbnRGcmFnbWVudEZvcldlYkFyY2hpdmU6KFdlYkFyY2hpdmUgKil3ZWJB
cmNoaXZlOworLSAoRE9NRG9jdW1lbnRGcmFnbWVudCAqKV9kb2N1bWVudEZyYWdtZW50Rm9ySW1h
Z2VEYXRhOihOU0RhdGEgKilkYXRhIHdpdGhSZWxhdGl2ZVVSTFBhcnQ6KE5TU3RyaW5nICopcmVs
YXRpdmVVUkxQYXJ0IGFuZE1JTUVUeXBlOihOU1N0cmluZyAqKW1pbWVUeXBlOworCistIChCT09M
KWZvY3VzZWROb2RlSGFzQ29udGVudDsKKworLSAodm9pZClfZGlzcGF0Y2hEaWRSZWNlaXZlVGl0
bGU6KE5TU3RyaW5nICopdGl0bGU7CistICh2b2lkKXJlbW92ZVVuY2hhbmdlYWJsZVN0eWxlczsK
Ky0gKEJPT0wpaGFzUmljaGx5RWRpdGFibGVTZWxlY3Rpb247CisjZW5kaWYKKwogLSAoSlNWYWx1
ZVJlZilqc1dyYXBwZXJGb3JOb2RlOihET01Ob2RlICopbm9kZSBpblNjcmlwdFdvcmxkOihXZWJT
Y3JpcHRXb3JsZCAqKXdvcmxkOwogCiAtIChOU0RpY3Rpb25hcnkgKillbGVtZW50QXRQb2ludDoo
TlNQb2ludClwb2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5oCmlu
ZGV4IGU4OTA2OGU5OGJiNGY5NjM0OGVhZGQwOTk0OGUyNmYzYzY5NjFmZTYuLjhiMDQxNzIyNDBi
MjQzZjViODg2NzdiNWJhMmFhYmE0ODdlMWI5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZVZpZXcuaApAQCAtMjYsNyArMjYsMTEgQEAKICAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAor
I2lmICFUQVJHRVRfT1NfSVBIT05FCiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPgorI2Vsc2UKKyNp
bXBvcnQgPFdlYktpdC9XQUtBcHBLaXRTdHVicy5oPgorI2VuZGlmCiAKIEBjbGFzcyBXZWJEYXRh
U291cmNlOwogQGNsYXNzIFdlYkZyYW1lOwpAQCAtNjIsNiArNjYsNyBAQAogKi8KIEBwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGFsbG93c1Njcm9sbGluZzsKIAorI2lmICFUQVJHRVRfT1NfSVBI
T05FCiAvKiEKICAgICBAcHJvcGVydHkgY2FuUHJpbnRIZWFkZXJzQW5kRm9vdGVycwogICAgIEBh
YnN0cmFjdCBXaGV0aGVyIHRoaXMgZnJhbWUgY2FuIHByaW50IGhlYWRlcnMgYW5kIGZvb3RlcnMK
QEAgLTc0LDYgKzc5LDcgQEAKICAgICBAcmVzdWx0IEEgbmV3bHkgY3JlYXRlZCBwcmludCBvcGVy
YXRpb24gb2JqZWN0CiAqLwogLSAoTlNQcmludE9wZXJhdGlvbiAqKXByaW50T3BlcmF0aW9uV2l0
aFByaW50SW5mbzooTlNQcmludEluZm8gKilwcmludEluZm87CisjZW5kaWYKIAogLyohCiAgICAg
QHByb3BlcnR5IGRvY3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3UHJpdmF0ZS5oCmluZGV4IDkzZDM2ZWMxYmU0NWVl
MTY4MGU0MjQ5YmVjNTNmNTAyMmVkMDVlZDUuLjUzN2JkZGYwYTc5ZWQyMGZkMTIxYjIxMTBmNWYw
MjY0ZDJiZTdmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWVWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVW
aWV3UHJpdmF0ZS5oCkBAIC03NiwxMSArNzYsMTMgQEAKICAqLwogLSAoQ2xhc3MpX2N1c3RvbVNj
cm9sbFZpZXdDbGFzczsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiEKICAgICBAbWV0aG9k
IF9zZXRDdXN0b21TY3JvbGxWaWV3Q2xhc3M6CiAgICAgQHJlc3VsdCBTd2l0Y2hlcyB0aGUgV2Vi
RnJhbWVWaWV3J3Mgc2Nyb2xsIHZpZXcgY2xhc3MsIHRoaXMgY2xhc3MgbmVlZHMgdG8gYmUgYSBz
dWJjbGFzcyBvZiBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcuCiAgICAgUGFzc2luZyBuaWwgd2ls
bCBzd2l0Y2ggYmFjayB0byB0aGUgZGVmYXVsdCBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgY2xh
c3MuCiAgKi8KIC0gKHZvaWQpX3NldEN1c3RvbVNjcm9sbFZpZXdDbGFzczooQ2xhc3Mpc2Nyb2xs
Vmlld0NsYXNzOworI2VuZGlmCiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFJlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCmluZGV4IGIwN2Q2NDg4Y2Q0YzE2NGM0NDI4MGVm
MTE2NWVmY2M3ODc0Y2ZlNWUuLmQ1NjcxMTIwNjg0YmQ2YjMyMzc3YTEwNTgxNDRjZmQ1YTlkMTA1
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFJlcHJlc2Vu
dGF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MUmVwcmVzZW50
YXRpb24uaApAQCAtNTMsNyArNTMsOSBAQAogKyAoTlNBcnJheSAqKXN1cHBvcnRlZEltYWdlTUlN
RVR5cGVzOwogKyAoTlNBcnJheSAqKXVuc3VwcG9ydGVkVGV4dE1JTUVUeXBlczsKIAorI2lmICFU
QVJHRVRfT1NfSVBIT05FCiAtIChOU0F0dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkU3RyaW5n
RnJvbTooRE9NTm9kZSAqKXN0YXJ0Tm9kZSBzdGFydE9mZnNldDooaW50KXN0YXJ0T2Zmc2V0IHRv
OihET01Ob2RlICopZW5kTm9kZSBlbmRPZmZzZXQ6KGludCllbmRPZmZzZXQ7CisjZW5kaWYKIAog
LSAoRE9NRWxlbWVudCAqKWVsZW1lbnRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lIGluRm9ybToo
RE9NRWxlbWVudCAqKWZvcm07CiAtIChCT09MKWVsZW1lbnREb2VzQXV0b0NvbXBsZXRlOihET01F
bGVtZW50ICopZWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcuaApp
bmRleCBhMTkxY2VmMmM1ODIzYWIzNjg3M2Y2MGJlNWY3MDU5YjQzYjE0MDU5Li5hNDA4NGE2MmRl
MTE1MDVhYTQ0NmI4Mjg0ZDYzOGIwMzQxMGYyMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5oCkBAIC0zNyw3ICszNywxMSBAQAogICAgIFdlYkhUTUxWaWV3IGlzIGEg
TlNDb250cm9sIGJlY2F1c2UgaXQgaG9zdHMgTlNDZWxscyB0aGF0IGFyZSBwYWludGVkIGJ5IFdl
YkNvcmUncyBBcXVhIHRoZW1lCiAgICAgcmVuZGVyZXIgKGFuZCB0aG9zZSBjZWxscyBtdXN0IGJl
IGhvc3RlZCBieSBhbiBlbmNsb3NpbmcgTlNDb250cm9sIGluIG9yZGVyIHRvIHBhaW50IHByb3Bl
cmx5KS4KICovCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIEBpbnRlcmZhY2UgV2ViSFRNTFZpZXcg
OiBOU0NvbnRyb2wgPFdlYkRvY3VtZW50VmlldywgV2ViRG9jdW1lbnRTZWFyY2hpbmc+CisjZWxz
ZQorQGludGVyZmFjZSBXZWJIVE1MVmlldyA6IE5TVmlldyA8V2ViRG9jdW1lbnRWaWV3LCBXZWJE
b2N1bWVudFNlYXJjaGluZz4KKyNlbmRpZgogewogQHByaXZhdGUKICAgICBXZWJIVE1MVmlld1By
aXZhdGUgKl9wcml2YXRlOwpAQCAtNTcsNyArNjEsOSBAQAogKi8KIC0gKHZvaWQpcmVhcHBseVN0
eWxlczsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtICh2b2lkKW91dGRlbnQ6KGlkKXNlbmRl
cjsKKyNlbmRpZgogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3UHJpdmF0ZS5oCmluZGV4IDFjNTYyNWE1M2E4MzU2OTU3YWM0MzU4NTk5YmRiNjUxODdk
YjFhMGIuLmVlNjBkNWExNjIyMDQ4ZThkYTM1MGFkMzU2MzlkZjBjZjNiOWNiNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXdQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlld1ByaXZhdGUuaApAQCAtMjgsOSAr
MjgsMTEgQEAKIAogI2ltcG9ydCA8V2ViS2l0L1dlYkhUTUxWaWV3Lmg+CiAKKyNpZiAhVEFSR0VU
X09TX0lQSE9ORQogI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJKQogI2Rl
ZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCiAjZW5kaWYKKyNlbmRpZgogCiBAY2xh
c3MgRE9NRG9jdW1lbnRGcmFnbWVudDsKIEBjbGFzcyBET01Ob2RlOwpAQCAtNTQsMzEgKzU2LDQx
IEBAIGV4dGVybiBjb25zdCBmbG9hdCBfV2ViSFRNTFZpZXdQcmludGluZ01heGltdW1TaHJpbmtG
YWN0b3I7CiAKIC0gKHZvaWQpY2xvc2U7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gTW9k
aWZpZXIgKGZsYWdzQ2hhbmdlZCkgdHJhY2tpbmcgU1BJCiArICh2b2lkKV9wb3N0RmxhZ3NDaGFu
Z2VkRXZlbnQ6KE5TRXZlbnQgKilmbGFnc0NoYW5nZWRFdmVudDsKIC0gKHZvaWQpX3VwZGF0ZU1v
dXNlb3ZlcldpdGhGYWtlRXZlbnQ7CiAKIC0gKHZvaWQpX3NldEFzaWRlU3Vidmlld3M7CiAtICh2
b2lkKV9yZXN0b3JlU3Vidmlld3M7CisjZW5kaWYKIAogLSAoQk9PTClfaW5zaWRlQW5vdGhlckhU
TUxWaWV3OwogLSAodm9pZClfY2xlYXJMYXN0SGl0Vmlld0lmU2VsZjsKKyNpZiAhVEFSR0VUX09T
X0lQSE9ORQogLSAodm9pZClfdXBkYXRlTW91c2VvdmVyV2l0aEV2ZW50OihOU0V2ZW50ICopZXZl
bnQ7CiAKICsgKE5TQXJyYXkgKilfaW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlczsKICsgKE5TQXJy
YXkgKilfc2VsZWN0aW9uUGFzdGVib2FyZFR5cGVzOwogLSAodm9pZClfd3JpdGVTZWxlY3Rpb25U
b1Bhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBhc3RlYm9hcmQ7CisjZW5kaWYKIAogLSAodm9p
ZClfZnJhbWVPckJvdW5kc0NoYW5nZWQ7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLSAodm9p
ZClfaGFuZGxlQXV0b3Njcm9sbEZvck1vdXNlRHJhZ2dlZDooTlNFdmVudCAqKWV2ZW50OworI2Vu
ZGlmCiAtIChXZWJQbHVnaW5Db250cm9sbGVyICopX3BsdWdpbkNvbnRyb2xsZXI7CiAKIC8vIEZJ
WE1FOiBfc2VsZWN0aW9uUmVjdCBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHNlbGVjdGlvblJl
Y3QsIHdoaWNoIGlzIGluIHByb3RvY29sIFdlYkRvY3VtZW50U2VsZWN0aW9uLgogLy8gV2UgY2Fu
J3QgcmVtb3ZlIHRoaXMgeWV0IGJlY2F1c2UgaXQncyBzdGlsbCBpbiB1c2UgYnkgTWFpbC4KIC0g
KE5TUmVjdClfc2VsZWN0aW9uUmVjdDsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtICh2b2lk
KV9zdGFydEF1dG9zY3JvbGxUaW1lcjooTlNFdmVudCAqKWV2ZW50OworI2Vsc2UKKy0gKHZvaWQp
X3N0YXJ0QXV0b3Njcm9sbFRpbWVyOihXZWJFdmVudCAqKWV2ZW50OworI2VuZGlmCiAtICh2b2lk
KV9zdG9wQXV0b3Njcm9sbFRpbWVyOwogCiAtIChCT09MKV9jYW5FZGl0OwpAQCAtOTMsNiArMTA1
LDcgQEAgZXh0ZXJuIGNvbnN0IGZsb2F0IF9XZWJIVE1MVmlld1ByaW50aW5nTWF4aW11bVNocmlu
a0ZhY3RvcjsKIAogLSAodm9pZClfc2V0VG9vbFRpcDooTlNTdHJpbmcgKilzdHJpbmc7CiAKKyNp
ZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gU1BJIHVzZWQgYnkgTWFpbC4KIC8vIEZJWE1FOiBUaGVz
ZSBzaG91bGQgYWxsIGJlIG1vdmVkIHRvIFdlYlZpZXc7IHdlIHdvbid0IGFsd2F5cyBoYXZlIGEg
V2ViSFRNTFZpZXcuCiAtIChOU0ltYWdlICopX3NlbGVjdGlvbkRyYWdnaW5nSW1hZ2U7CkBAIC0x
MDgsNiArMTIxLDcgQEAgZXh0ZXJuIGNvbnN0IGZsb2F0IF9XZWJIVE1MVmlld1ByaW50aW5nTWF4
aW11bVNocmlua0ZhY3RvcjsKIC0gKHZvaWQpX3NldEhpZ2hsaWdodGVyOihpZCA8V2ViSFRNTEhp
Z2hsaWdodGVyPiloaWdobGlnaHRlciBvZlR5cGU6KE5TU3RyaW5nICopdHlwZTsKIC0gKHZvaWQp
X3JlbW92ZUhpZ2hsaWdodGVyT2ZUeXBlOihOU1N0cmluZyAqKXR5cGU7CiAtIChET01Eb2N1bWVu
dEZyYWdtZW50ICopX2RvY3VtZW50RnJhZ21lbnRGcm9tUGFzdGVib2FyZDooTlNQYXN0ZWJvYXJk
ICopcGFzdGVib2FyZCBmb3JUeXBlOihOU1N0cmluZyAqKXBib2FyZFR5cGUgaW5Db250ZXh0OihE
T01SYW5nZSAqKWNvbnRleHQgc3VicmVzb3VyY2VzOihOU0FycmF5ICoqKXN1YnJlc291cmNlczsK
KyNlbmRpZgogCiAjaWYgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkKIC0gKHZvaWQpX3Jlc3Vt
ZU51bGxFdmVudHNGb3JBbGxOZXRzY2FwZVBsdWdpbnM7CkBAIC0xMTcsMTAgKzEzMSwxMiBAQCBl
eHRlcm4gY29uc3QgZmxvYXQgX1dlYkhUTUxWaWV3UHJpbnRpbmdNYXhpbXVtU2hyaW5rRmFjdG9y
OwogLSAoQk9PTClfaXNVc2luZ0FjY2VsZXJhdGVkQ29tcG9zaXRpbmc7CiAtIChOU1ZpZXcgKilf
Y29tcG9zaXRpbmdMYXllcnNIb3N0aW5nVmlldzsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAv
LyBTUEkgZm9yIHByaW50aW5nIChzaG91bGQgYmUgY29udmVydGVkIHRvIEFQSSBzb21lZGF5KS4g
V2hlbiB0aGUgV2ViSFRNTFZpZXcgaXNuJ3QgYmVpbmcgcHJpbnRlZAogLy8gZGlyZWN0bHksIHRo
aXMgbWV0aG9kIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBwYWdpbmF0aW5nLCBvciB0aGUgY29tcHV0
ZWQgaGVpZ2h0IG1pZ2h0IGJlIGluY29ycmVjdC4KIC8vIFR5cGljYWxseSB0aGlzIHdvdWxkIGJl
IGNhbGxlZCBmcm9tIGluc2lkZSBhbiBvdmVycmlkZSBvZiAtW05TVmlldyBrbm93c1BhZ2VSYW5n
ZTpdLgogLSAodm9pZClfbGF5b3V0Rm9yUHJpbnRpbmc7CisjZW5kaWYKIC0gKENHRmxvYXQpX2Fk
anVzdGVkQm90dG9tT2ZQYWdlV2l0aFRvcDooQ0dGbG9hdCl0b3AgYm90dG9tOihDR0Zsb2F0KWJv
dHRvbSBsaW1pdDooQ0dGbG9hdClib3R0b21MaW1pdDsKIC0gKEJPT0wpX2lzSW5QcmludE1vZGU7
CiAtIChCT09MKV9iZWdpblByaW50TW9kZVdpdGhQYWdlV2lkdGg6KGZsb2F0KXBhZ2VXaWR0aCBo
ZWlnaHQ6KGZsb2F0KXBhZ2VIZWlnaHQgc2hyaW5rVG9GaXQ6KEJPT0wpc2hyaW5rVG9GaXQ7CkBA
IC0xMzMsNiArMTQ5LDEyIEBAIGV4dGVybiBjb25zdCBmbG9hdCBfV2ViSFRNTFZpZXdQcmludGlu
Z01heGltdW1TaHJpbmtGYWN0b3I7CiAtIChCT09MKV9iZWdpblNjcmVlblBhZ2luYXRpb25Nb2Rl
V2l0aFBhZ2VTaXplOihDR1NpemUpcGFnZVNpemUgc2hyaW5rVG9GaXQ6KEJPT0wpc2hyaW5rVG9G
aXQ7CiAtICh2b2lkKV9lbmRTY3JlZW5QYWdpbmF0aW9uTW9kZTsKIAorI2lmICFUQVJHRVRfT1Nf
SVBIT05FCiAtIChCT09MKV9jYW5TbWFydFJlcGxhY2VXaXRoUGFzdGVib2FyZDooTlNQYXN0ZWJv
YXJkICopcGFzdGVib2FyZDsKKyNlbmRpZgorCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAoaWQp
YWNjZXNzaWJpbGl0eVJvb3RFbGVtZW50OworI2VuZGlmCiAKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUG9saWN5RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUG9saWN5RGVsZWdhdGUuaAppbmRleCA4NDZkMjhkOWZjMWFhNzZh
NzE1N2IzNGEzZDNmODJjNmNiZDI4ODg1Li4wMDQxYTY1YmYxMzllNjY2NjE5NWMzNDgzNmVhNzY2
YWFiNTllNTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBvbGlj
eURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQb2xpY3lEZWxl
Z2F0ZS5oCkBAIC0yNiw3ICsyNiwxMSBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxD
b2NvYS9Db2NvYS5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBU
QVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxBcHBLaXQvQXBwS2l0Lmg+CisjZW5kaWYKIAogQGNs
YXNzIE5TRXJyb3I7CiBAY2xhc3MgTlNVUkxSZXNwb25zZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGI1YTEzNTU0
YTQ2YTQyZjA1OTU5Y2NmOGQ0ODljZDg3YzRjOTAwMWUuLmM0ZGYyMjdjZjI0ZTk1ZWJhOGRhMjc1
ODk3NWUwZDY4YmJkOTZkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtNDQsOCArNDQsMTAgQEAKICNkZWZpbmUg
V2ViS2l0VXNlc0VuY29kaW5nRGV0ZWN0b3JQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc0VuY29k
aW5nRGV0ZWN0b3IiCiAjZGVmaW5lIFdlYktpdFVzZXJTdHlsZVNoZWV0RW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRVc2VyU3R5bGVTaGVldEVuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmlu
ZSBXZWJLaXRVc2VyU3R5bGVTaGVldExvY2F0aW9uUHJlZmVyZW5jZUtleSBAIldlYktpdFVzZXJT
dHlsZVNoZWV0TG9jYXRpb25QcmVmZXJlbmNlS2V5IgorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAj
ZGVmaW5lIFdlYktpdFNob3VsZFByaW50QmFja2dyb3VuZHNQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
U2hvdWxkUHJpbnRCYWNrZ3JvdW5kc1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFRleHRB
cmVhc0FyZVJlc2l6YWJsZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRUZXh0QXJlYXNBcmVSZXNpemFi
bGUiCisjZW5kaWYKICNkZWZpbmUgV2ViS2l0U2hyaW5rc1N0YW5kYWxvbmVJbWFnZXNUb0ZpdFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRTaHJpbmtzU3RhbmRhbG9uZUltYWdlc1RvRml0IgogI2RlZmlu
ZSBXZWJLaXRKYXZhRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRKYXZhRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SmF2YVNj
cmlwdEVuYWJsZWQiCkBAIC02MiwxMSArNjQsMTUgQEAKICNkZWZpbmUgV2ViS2l0RGlzcGxheUlt
YWdlc0tleSBAIldlYktpdERpc3BsYXlJbWFnZXNLZXkiCiAjZGVmaW5lIFdlYktpdExvYWRTaXRl
SWNvbnNLZXkgQCJXZWJLaXRMb2FkU2l0ZUljb25zS2V5IgogI2RlZmluZSBXZWJLaXRCYWNrRm9y
d2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsS2V5IEAiV2ViS2l0QmFja0ZvcndhcmRDYWNoZUV4
cGlyYXRpb25JbnRlcnZhbEtleSIKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogI2RlZmluZSBXZWJL
aXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSBAIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5
IgorI2VuZGlmCiAjZGVmaW5lIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5IEAiV2ViS2l0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViU21hcnRJbnNl
cnREZWxldGVFbmFibGVkIEAiV2ViU21hcnRJbnNlcnREZWxldGVFbmFibGVkIgorI2lmICFUQVJH
RVRfT1NfSVBIT05FCiAjZGVmaW5lIFdlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBA
IldlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViR3JhbW1hckNo
ZWNraW5nRW5hYmxlZCBAIldlYkdyYW1tYXJDaGVja2luZ0VuYWJsZWQiCisjZW5kaWYKICNkZWZp
bmUgV2ViQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkIEAiV2ViQXV0b21hdGljUXVv
dGVTdWJzdGl0dXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJBdXRvbWF0aWNMaW5rRGV0ZWN0aW9u
RW5hYmxlZCBAIldlYkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkIgogI2RlZmluZSBXZWJB
dXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCBAIldlYkF1dG9tYXRpY0Rhc2hTdWJzdGl0
dXRpb25FbmFibGVkIgpAQCAtMTI0LDYgKzEzMCwxMCBAQAogI2RlZmluZSBXZWJLaXRTaG91bGRE
aXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9ucyIKICNkZWZpbmUgV2ViS2l0Tm90aWZpY2F0aW9uc0VuYWJsZWRLZXkg
QCJXZWJLaXROb3RpZmljYXRpb25zRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3VwcHJlc3Nlc0lu
Y3JlbWVudGFsUmVuZGVyaW5nS2V5IEAiV2ViS2l0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVy
aW5nIgorI2lmIFRBUkdFVF9PU19JUEhPTkUKKyNkZWZpbmUgV2ViS2l0TWVkaWFQbGF5YmFja0Fs
bG93c0FpclBsYXlQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0FpclBs
YXkiCisjZGVmaW5lIFdlYktpdEF1ZGlvU2Vzc2lvbkNhdGVnb3J5T3ZlcnJpZGUgQCJXZWJLaXRB
dWRpb1Nlc3Npb25DYXRlZ29yeU92ZXJyaWRlIgorI2VuZGlmCiAjZGVmaW5lIFdlYktpdFJlZ2lv
bkJhc2VkQ29sdW1uc0VuYWJsZWRLZXkgQCJXZWJLaXRSZWdpb25CYXNlZENvbHVtbnNFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbktleSBAIldlYktp
dFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uIgogI2RlZmluZSBXZWJLaXRSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFJlcXVlc3RBbmltYXRpb25G
cmFtZUVuYWJsZWQiCkBAIC0xMzgsNiArMTQ4LDcgQEAKICNkZWZpbmUgV2ViS2l0VXNlTGVnYWN5
VGV4dEFsaWduUG9zaXRpb25lZEVsZW1lbnRCZWhhdmlvclByZWZlcmVuY2VLZXkgQCJXZWJLaXRV
c2VMZWdhY3lUZXh0QWxpZ25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9yIgogI2RlZmluZSBXZWJL
aXRNZWRpYVNvdXJjZUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFTb3VyY2VFbmFi
bGVkIgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGgg
YmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVj
YXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KICNkZWZp
bmUgV2ViS2l0UmVzcGVjdFN0YW5kYXJkU3R5bGVLZXlFcXVpdmFsZW50c1ByZWZlcmVuY2VLZXkg
QCJXZWJLaXRSZXNwZWN0U3RhbmRhcmRTdHlsZUtleUVxdWl2YWxlbnRzIgpAQCAtMTQ1LDYgKzE1
Niw3IEBACiAjZGVmaW5lIFdlYktpdFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0UHJlZmVy
ZW5jZUtleSBAIldlYktpdFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0IgogI2RlZmluZSBX
ZWJLaXRQREZEaXNwbGF5TW9kZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRQREZEaXNwbGF5TW9kZSIK
ICNkZWZpbmUgV2ViS2l0UERGU2NhbGVGYWN0b3JQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UERGU2Nh
bGVGYWN0b3IiCisjZW5kaWYKICNkZWZpbmUgV2ViS2l0VXNlU2l0ZVNwZWNpZmljU3Bvb2ZpbmdQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlU2l0ZVNwZWNpZmljU3Bvb2ZpbmciCiAjZGVmaW5lIFdl
YktpdEVkaXRhYmxlTGlua0JlaGF2aW9yUHJlZmVyZW5jZUtleSBAIldlYktpdEVkaXRhYmxlTGlu
a0JlaGF2aW9yIgogI2RlZmluZSBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtleSBAIldlYktp
dENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5IgpAQCAtMTY2LDcgKzE3OCwzMyBAQAogCiAjZGVmaW5l
IFdlYktpdE1pbmltdW1ab29tRm9udFNpemVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWluaW11bVpv
b21Gb250U2l6ZVByZWZlcmVuY2VLZXkiCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisjZGVmaW5l
IFdlYktpdE1heGltdW1JbWFnZVNpemVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWF4aW11bUltYWdl
U2l6ZSIKKyNkZWZpbmUgV2ViS2l0U3RhbmRhbG9uZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdGFu
ZGFsb25lUHJlZmVyZW5jZUtleSIKKyNkZWZpbmUgV2ViS2l0VGVsZXBob25lUGFyc2luZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VGVsZXBob25lUGFyc2luZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5IgorI2RlZmluZSBXZWJLaXRBbHdheXNVc2VCYXNlbGluZU9mUHJpbWFyeUZvbnRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0QWx3YXlzVXNlQmFzZWxpbmVPZlByaW1hcnlGb250UHJlZmVyZW5jZUtl
eSIKKyNkZWZpbmUgV2ViS2l0QWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9u
UHJlZmVyZW5jZUtleSBAIldlYktpdEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlz
c2lvblByZWZlcmVuY2VLZXkiCisjZGVmaW5lIFdlYktpdE5TVVJMTWVtb3J5Q2FjaGVTaXplUHJl
ZmVyZW5jZUtleSBAIldlYktpdE5TVVJMTWVtb3J5Q2FjaGVTaXplUHJlZmVyZW5jZUtleSIKKyNk
ZWZpbmUgV2ViS2l0TlNVUkxEaXNrQ2FjaGVTaXplUHJlZmVyZW5jZUtleSBAIldlYktpdE5TVVJM
RGlza0NhY2hlU2l6ZVByZWZlcmVuY2VLZXkiCisjZGVmaW5lIFdlYktpdEFsd2F5c1JlcXVlc3RH
ZW9sb2NhdGlvblBlcm1pc3Npb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWx3YXlzUmVxdWVzdEdl
b2xvY2F0aW9uUGVybWlzc2lvbiIKKyNkZWZpbmUgV2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0TGF5b3V0SW50ZXJ2YWxQcmVmZXJlbmNlS2V5IgorI2RlZmluZSBXZWJL
aXRNYXhQYXJzZUR1cmF0aW9uUHJlZmVyZW5jZUtleSBAIldlYktpdE1heFBhcnNlRHVyYXRpb25Q
cmVmZXJlbmNlS2V5IgorI2RlZmluZSBXZWJLaXRTdG9yYWdlVHJhY2tlckVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0U3RvcmFnZVRyYWNrZXJFbmFibGVkUHJlZmVyZW5jZUtleSIKKyNkZWZp
bmUgV2ViS2l0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsIgorI2RlZmluZSBXZWJL
aXRJbnRlcnBvbGF0aW9uUXVhbGl0eVByZWZlcmVuY2VLZXkgQCJXZWJLaXRJbnRlcnBvbGF0aW9u
UXVhbGl0eVByZWZlcmVuY2VLZXkiCisjZGVmaW5lIFdlYktpdFBhc3N3b3JkRWNob0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0RW5hYmxlUGFzc3dvcmRFY2hvUHJlZmVyZW5jZUtleSIKKyNk
ZWZpbmUgV2ViS2l0UGFzc3dvcmRFY2hvRHVyYXRpb25QcmVmZXJlbmNlS2V5IEAiV2ViS2l0UGFz
c3dvcmRFY2hvRHVyYXRpb25QcmVmZXJlbmNlS2V5IgorI2RlZmluZSBXZWJLaXROZXR3b3JrRGF0
YVVzYWdlVHJhY2tpbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE5ldHdvcmtEYXRhVXNh
Z2VUcmFja2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IgorI2RlZmluZSBXZWJLaXROZXR3b3JrSW50
ZXJmYWNlTmFtZVByZWZlcmVuY2VLZXkgQCJXZWJLaXROZXR3b3JrSW50ZXJmYWNlTmFtZVByZWZl
cmVuY2VLZXkiCisjZW5kaWYKKwogI2RlZmluZSBXZWJLaXREaXNrSW1hZ2VDYWNoZUVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0RGlza0ltYWdlQ2FjaGVFbmFibGVkIgogI2RlZmluZSBXZWJL
aXREaXNrSW1hZ2VDYWNoZU1pbmltdW1JbWFnZVNpemVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RGlz
a0ltYWdlQ2FjaGVNaW5pbXVtSW1hZ2VTaXplIgogI2RlZmluZSBXZWJLaXREaXNrSW1hZ2VDYWNo
ZU1heGltdW1DYWNoZVNpemVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RGlza0ltYWdlQ2FjaGVNYXhp
bXVtQ2FjaGVTaXplIgogI2RlZmluZSBXZWJLaXREaXNrSW1hZ2VDYWNoZVNhdmVkQ2FjaGVEaXJl
Y3RvcnlLZXkgQCJXZWJLaXREaXNrSW1hZ2VDYWNoZVNhdmVkQ2FjaGVEaXJlY3RvcnkiCisKKyNp
ZiBUQVJHRVRfT1NfSVBIT05FCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjZGVmaW5l
IFdlYktpdFRleHRGaWVsZFJlbW90ZUluc3BlY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFRleHRGaWVsZFJlbW90ZUluc3BlY3Rpb25FbmFibGVkIgorI2VuZGlmCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaAppbmRleCA2NjhkOTEyYjVi
YWZlMThkMmIzZDRjNDA0NmQwODQzMDZhNjRhYTAwLi40ZGQ1OTM0MjczY2UyYTk0MGUyMTYyZDRh
OTkwZGUyMmI0YWNkM2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5oCkBAIC0yMDYsMTAgKzIwNiwxMiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKICovCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBh
dXRvc2F2ZXM7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLyohCiAgICAgQHByb3BlcnR5IHNo
b3VsZFByaW50QmFja2dyb3VuZHMKICovCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBzaG91
bGRQcmludEJhY2tncm91bmRzOworI2VuZGlmCiAKIC8qIQogICAgIEBwcm9wZXJ0eSBwcml2YXRl
QnJvd3NpbmdFbmFibGVkOgpAQCAtMjE4LDEyICsyMjAsMTQgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247CiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHByaXZhdGVCcm93c2luZ0VuYWJsZWQ7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9O
RQogLyohCiAgICAgQHByb3BlcnR5IHRhYnNUb0xpbmtzCiAgICAgQGFic3RyYWN0IElmIHRhYnNU
b0xpbmtzIGlzIFlFUywgdGhlIHRhYiBrZXkgd2lsbCBmb2N1cyBsaW5rcyBhbmQgZm9ybSBjb250
cm9scy4KICAgICBUaGUgb3B0aW9uIGtleSB0ZW1wb3JhcmlseSByZXZlcnNlcyB0aGlzIHByZWZl
cmVuY2UuCiAqLwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdGFic1RvTGlua3M7CisjZW5k
aWYKIAogLyohCiAgICAgQHByb3BlcnR5IHVzZXNQYWdlQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDRmNjI2MzFlMTZm
MDM5OWYyYjkzN2RiYTg5ZmVhNDlkNThjZGFhZmQuLjEzMjIyNmE0MDk5OTA3OGJjZWYwMzRlMDRi
ZTlkOTJlYzdjMTUyNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjcsNyArMjcsMTAgQEAKICAqLwogCiAjaW1wb3J0IDxX
ZWJLaXQvV2ViUHJlZmVyZW5jZXMuaD4KKworI2lmICFUQVJHRVRfT1NfSVBIT05FCiAjaW1wb3J0
IDxRdWFydHovUXVhcnR6Lmg+CisjZW5kaWYKIAogdHlwZWRlZiBlbnVtIHsKICAgICBXZWJLaXRF
ZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IsCkBAIC03Niw2ICs3OSw3IEBAIGV4dGVybiBOU1N0
cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9u
OwogLSAoQk9PTCl1c2VzRW5jb2RpbmdEZXRlY3RvcjsKIC0gKHZvaWQpc2V0VXNlc0VuY29kaW5n
RGV0ZWN0b3I6KEJPT0wpZmxhZzsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAtIChCT09MKXJl
c3BlY3RTdGFuZGFyZFN0eWxlS2V5RXF1aXZhbGVudHM7CiAtICh2b2lkKXNldFJlc3BlY3RTdGFu
ZGFyZFN0eWxlS2V5RXF1aXZhbGVudHM6KEJPT0wpZmxhZzsKIApAQCAtOTAsNiArOTQsNyBAQCBl
eHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5v
dGlmaWNhdGlvbjsKIAogLSAoUERGRGlzcGxheU1vZGUpUERGRGlzcGxheU1vZGU7CiAtICh2b2lk
KXNldFBERkRpc3BsYXlNb2RlOihQREZEaXNwbGF5TW9kZSltb2RlOworI2VuZGlmCiAKIC0gKEJP
T0wpc2hyaW5rc1N0YW5kYWxvbmVJbWFnZXNUb0ZpdDsKIC0gKHZvaWQpc2V0U2hyaW5rc1N0YW5k
YWxvbmVJbWFnZXNUb0ZpdDooQk9PTClmbGFnOwpAQCAtMTA5LDYgKzExNCwxMSBAQCBleHRlcm4g
TlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNh
dGlvbjsKIC0gKEJPT0wpZGF0YWJhc2VzRW5hYmxlZDsKIC0gKHZvaWQpc2V0RGF0YWJhc2VzRW5h
YmxlZDooQk9PTClkYXRhYmFzZXNFbmFibGVkOwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAo
Qk9PTClzdG9yYWdlVHJhY2tlckVuYWJsZWQ7CistICh2b2lkKXNldFN0b3JhZ2VUcmFja2VyRW5h
YmxlZDooQk9PTClzdG9yYWdlVHJhY2tlckVuYWJsZWQ7CisjZW5kaWYKKwogLSAoQk9PTClsb2Nh
bFN0b3JhZ2VFbmFibGVkOwogLSAodm9pZClzZXRMb2NhbFN0b3JhZ2VFbmFibGVkOihCT09MKWxv
Y2FsU3RvcmFnZUVuYWJsZWQ7CiAKQEAgLTEzOSw5ICsxNDksMTEgQEAgZXh0ZXJuIE5TU3RyaW5n
ICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAt
IChCT09MKWlzU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOwogLSAodm9pZClzZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyB6
ZXJvIG1lYW5zIGRvIEF1dG9TY2FsZQogLSAoZmxvYXQpUERGU2NhbGVGYWN0b3I7CiAtICh2b2lk
KXNldFBERlNjYWxlRmFjdG9yOihmbG9hdClzY2FsZTsKKyNlbmRpZgogCiAtIChpbnQ2NF90KWFw
cGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhOwogLSAodm9pZClzZXRBcHBsaWNhdGlvbkNhY2hlVG90
YWxRdW90YTooaW50NjRfdClxdW90YTsKQEAgLTI0MiwxMSArMjU0LDYwIEBAIGV4dGVybiBOU1N0
cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9u
OwogLSAoQk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7CiAtICh2b2lkKXNldE1vY2tTY3JvbGxi
YXJzRW5hYmxlZDooQk9PTClmbGFnOwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLy8gVGhpcyBp
cyBhIGdsb2JhbCBzZXR0aW5nLgorLSAodW5zaWduZWQpYXVkaW9TZXNzaW9uQ2F0ZWdvcnlPdmVy
cmlkZTsKKy0gKHZvaWQpc2V0QXVkaW9TZXNzaW9uQ2F0ZWdvcnlPdmVycmlkZToodW5zaWduZWQp
b3ZlcnJpZGU7CisKKy8vIFdBUk5JTkc6IHRoaXMgYWZmZWN0IG5ldHdvcmsgcGVyZm9ybWFuY2Uu
IFRoaXMgbXVzdCBub3QgYmUgZW5hYmxlZCBmb3IgcHJvZHVjdGlvbiB1c2UuCisvLyBFbmFibGlu
ZyB0aGlzIG1ha2VzIFdlYkNvcmUgcmVwb3J0cyB0aGUgbmV0d29yayBkYXRhIHVzYWdlLgorLy8g
VGhpcyBpcyBhIGdsb2JhbCBzZXR0aW5nLgorLSAodm9pZClzZXROZXR3b3JrRGF0YVVzYWdlVHJh
Y2tpbmdFbmFibGVkOihib29sKXRyYWNraW5nRW5hYmxlZDsKKy0gKEJPT0wpbmV0d29ya0RhdGFV
c2FnZVRyYWNraW5nRW5hYmxlZDsKKworLSAodm9pZClzZXROZXR3b3JrSW50ZXJmYWNlTmFtZToo
TlNTdHJpbmcgKiluYW1lOworLSAoTlNTdHJpbmcgKiluZXR3b3JrSW50ZXJmYWNlTmFtZTsKKwor
LSAodm9pZClzZXRNZWRpYVBsYXliYWNrQWxsb3dzQWlyUGxheTooQk9PTClmbGFnOworLSAoQk9P
TCltZWRpYVBsYXliYWNrQWxsb3dzQWlyUGxheTsKKyNlbmRpZgorCiAvLyBUaGlzIGlzIGEgZ2xv
YmFsIHNldHRpbmcuCiAtIChCT09MKXNlYW1sZXNzSUZyYW1lc0VuYWJsZWQ7CiAtICh2b2lkKXNl
dFNlYW1sZXNzSUZyYW1lc0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAogLy8gT3RoZXIgcHJpdmF0
ZSBtZXRob2RzCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAoc2l6ZV90KV9tYXhpbXVtSW1hZ2VT
aXplOworLSAoQk9PTClfc3RhbmRhbG9uZTsKKy0gKHZvaWQpX3NldFN0YW5kYWxvbmU6KEJPT0wp
ZmxhZzsKKy0gKHZvaWQpX3NldFRlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkOihCT09MKWZs
YWc7CistIChCT09MKV90ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZDsKKy0gKHZvaWQpX3Nl
dEFsd2F5c1VzZUJhc2VsaW5lT2ZQcmltYXJ5Rm9udDooQk9PTClmbGFnOworLSAoQk9PTClfYWx3
YXlzVXNlQmFzZWxpbmVPZlByaW1hcnlGb250OworLSAodm9pZClfc2V0QWxsb3dNdWx0aUVsZW1l
bnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uOihCT09MKWZsYWc7CistIChCT09MKV9hbGxvd011bHRp
RWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1pc3Npb247CistICh2b2lkKV9zZXRBbHdheXNSZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uOihCT09MKWZsYWc7CistIChCT09MKV9hbHdheXNSZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uOworLSAodm9pZClfc2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRP
dmVyZmxvd1Njcm9sbDooQk9PTClmbGFnOworLSAoQk9PTClfYWx3YXlzVXNlQWNjZWxlcmF0ZWRP
dmVyZmxvd1Njcm9sbDsKKy0gKHZvaWQpX3NldExheW91dEludGVydmFsOihpbnQpbDsKKy0gKGlu
dClfbGF5b3V0SW50ZXJ2YWw7CistICh2b2lkKV9zZXRNYXhQYXJzZUR1cmF0aW9uOihmbG9hdClk
OworLSAoZmxvYXQpX21heFBhcnNlRHVyYXRpb247CistICh2b2lkKV9zZXRQYWdlQ2FjaGVTaXpl
OihpbnQpc2l6ZTsKKy0gKGludClfcGFnZUNhY2hlU2l6ZTsKKy0gKHZvaWQpX3NldE9iamVjdENh
Y2hlU2l6ZTooaW50KXNpemU7CistIChpbnQpX29iamVjdENhY2hlU2l6ZTsKKy0gKHZvaWQpX3Nl
dE5TVVJMTWVtb3J5Q2FjaGVTaXplOihpbnQpc2l6ZTsKKy0gKGludClfTlNVUkxNZW1vcnlDYWNo
ZVNpemU7CistICh2b2lkKV9zZXROU1VSTERpc2tDYWNoZVNpemU6KGludClzaXplOworLSAoaW50
KV9OU1VSTERpc2tDYWNoZVNpemU7CistICh2b2lkKV9zZXRJbnRlcnBvbGF0aW9uUXVhbGl0eToo
aW50KXF1YWxpdHk7CistIChpbnQpX2ludGVycG9sYXRpb25RdWFsaXR5OworLSAoQk9PTClfYWxs
b3dQYXNzd29yZEVjaG87CistIChmbG9hdClfcGFzc3dvcmRFY2hvRHVyYXRpb247CisjZW5kaWYK
IC0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247CiAtICh2b2lkKV9w
b3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uOwogKyAoV2ViUHJlZmVyZW5jZXMg
KilfZ2V0SW5zdGFuY2VGb3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXI7CkBAIC0z
MDEsNiArMzYyLDExIEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Q2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRSZWdpb25CYXNlZENvbHVt
bnNFbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKXJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQ7
CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistICh2b2lkKV9pbnZhbGlkYXRlQ2FjaGVkUHJlZmVy
ZW5jZXM7CistICh2b2lkKV9zeW5jaHJvbml6ZVdlYlN0b3JhZ2VQb2xpY3lXaXRoQ29va2llUG9s
aWN5OworI2VuZGlmCisKIC0gKHZvaWQpc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6
KEJPT0wpZmxhZzsKIC0gKEJPT0wpYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaAppbmRleCBlMDk5ODNkZGJi
NGI0ZDljMTVlZTQ5MDUyNzczZGFlYjc4YTc1ODEwLi5hMTE0MDNlZGQ3N2FlYTlhNjQxMGEwZWY1
NTRiMjNhNmRmNGRjYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlJlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJM
YXllci5oCkBAIC0yNSw2ICsyNSwxMCBAQAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRp
b24uaD4KIAorI2lmIFRBUkdFVF9PU19JUEhPTkUKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9t
ZXRyeS5oPgorI2VuZGlmCisKIEBjbGFzcyBXZWJGcmFtZTsKIAogQGludGVyZmFjZSBXZWJSZW5k
ZXJMYXllciA6IE5TT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlJlc291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZhdGUuaAppbmRleCA2MzA4ZjU1MWZmMjlm
OGEzMWJiMTkxMTRjZmJkNDczNjM3ZTczNWQ3Li4yNzcwNWEwZjU4N2RjNWI5MDBkMWM4MjJlNjQz
ZTVjNWE0YTdkMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJl
c291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVQcml2YXRlLmgKQEAgLTU0LDQgKzU0LDIzIEBACiAg
QHJlc3VsdCByZXR1cm4gWUVTIGlmIFdlYktpdCBzaG91bGQgcGFpbnQgdGhlIGRlZmF1bHQgYnJv
a2VuIGltYWdlLgogICovCiAtIChCT09MKXdlYlZpZXc6KFdlYlZpZXcqKXNlbmRlciBzaG91bGRQ
YWludEJyb2tlbkltYWdlRm9yVVJMOihOU1VSTCopaW1hZ2VVUkw7CisKKyNpZiBUQVJHRVRfT1Nf
SVBIT05FCistIChpZCl3ZWJUaHJlYWRXZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGlkZW50aWZp
ZXJGb3JJbml0aWFsUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBmcm9tRGF0YVNvdXJj
ZTooV2ViRGF0YVNvdXJjZSAqKWRhdGFTb3VyY2U7CistIChOU1VSTFJlcXVlc3QgKil3ZWJUaHJl
YWRXZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJlc291cmNlOihpZClpZGVudGlmaWVyIHdpbGxT
ZW5kUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZWRpcmVjdFJlc3BvbnNlOihOU1VS
TFJlc3BvbnNlICopcmVkaXJlY3RSZXNwb25zZSBmcm9tRGF0YVNvdXJjZTooV2ViRGF0YVNvdXJj
ZSAqKWRhdGFTb3VyY2U7CistICh2b2lkKXdlYlRocmVhZFdlYlZpZXc6KFdlYlZpZXcgKilzZW5k
ZXIgcmVzb3VyY2U6KGlkKWlkZW50aWZpZXIgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGg6KFdlYk5T
SW50ZWdlcilsZW5ndGggZnJvbURhdGFTb3VyY2U6KFdlYkRhdGFTb3VyY2UgKilkYXRhU291cmNl
OworLSAodm9pZCl3ZWJUaHJlYWRXZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJlc291cmNlOihp
ZClpZGVudGlmaWVyIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNl
IGZyb21EYXRhU291cmNlOihXZWJEYXRhU291cmNlICopZGF0YVNvdXJjZTsKKy0gKHZvaWQpd2Vi
VGhyZWFkV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9y
eUNhY2hlOihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICop
cmVzcG9uc2UgbGVuZ3RoOihXZWJOU0ludGVnZXIpbGVuZ3RoIGZyb21EYXRhU291cmNlOihXZWJE
YXRhU291cmNlICopZGF0YVNvdXJjZTsKKy0gKHZvaWQpd2ViVGhyZWFkV2ViVmlldzooV2ViVmll
dyAqKXNlbmRlciByZXNvdXJjZTooaWQpaWRlbnRpZmllciBkaWRGaW5pc2hMb2FkaW5nRnJvbURh
dGFTb3VyY2U6KFdlYkRhdGFTb3VyY2UgKilkYXRhU291cmNlOworLSAodm9pZCl3ZWJUaHJlYWRX
ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJlc291cmNlOihpZClpZGVudGlmaWVyIGRpZEZhaWxM
b2FkaW5nV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IgZnJvbURhdGFTb3VyY2U6KFdlYkRhdGFT
b3VyY2UgKilkYXRhU291cmNlOworLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKXdlYlRocmVhZFdl
YlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgcmVzb3VyY2U6KGlkKWlkZW50aWZpZXIgd2lsbENhY2hl
UmVzcG9uc2U6KE5TQ2FjaGVkVVJMUmVzcG9uc2UgKilyZXNwb25zZSBmcm9tRGF0YVNvdXJjZToo
V2ViRGF0YVNvdXJjZSAqKWRhdGFTb3VyY2U7CisKKy8qIQorIEBtZXRob2Qgd2ViVmlldzpjb25u
ZWN0aW9uUHJvcGVydGllc0ZvclJlc291cmNlOgorIEBhYnN0cmFjdCBQcm92aWRlIGEgQ0ZTdHJl
YW0gbGV2ZWwgcHJvcGVydGllcyBkaWN0aW9uYXJ5IHRvIGJlIHVzZWQgYnkgYSBjb25uZWN0aW9u
CisgQHJlc3VsdCByZXR1cm4gYW4gTlNEaWN0aW9uYXJ5IHdpdGggdGhlIGRlc2lyZWQgc3RyZWFt
IHByb3BlcnRpZXMgb3IgbmlsCisgKi8KKy0gKE5TRGljdGlvbmFyeSAqKXdlYlZpZXc6KFdlYlZp
ZXcgKilzZW5kZXIgY29ubmVjdGlvblByb3BlcnRpZXNGb3JSZXNvdXJjZTooaWQpaWRlbnRpZmll
ciBkYXRhU291cmNlOihXZWJEYXRhU291cmNlICopZGF0YVNvdXJjZTsKKyNlbmRpZgorCiBAZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlc291cmNlUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZVByaXZhdGUuaAppbmRl
eCA4MGQ5ODM1ZjIwMDdiMzFmYmYwOWY3MTUxMGIzZGExNjRlZDg3OGY3Li4wOWQ1YWY4ZjRkMjE4
Y2ZlZGZhYmVmNTA4NDdlMDIxMjlkMGQzNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlJlc291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUmVzb3VyY2VQcml2YXRlLmgKQEAgLTQyLDcgKzQyLDkgQEAKIAogLSAodm9pZClf
aWdub3JlV2hlblVuYXJjaGl2aW5nOwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0gKE5TRmls
ZVdyYXBwZXIgKilfZmlsZVdyYXBwZXJSZXByZXNlbnRhdGlvbjsKKyNlbmRpZgogLSAoTlNVUkxS
ZXNwb25zZSAqKV9yZXNwb25zZTsKIC0gKE5TU3RyaW5nICopX3N0cmluZ1ZhbHVlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZS5oCmluZGV4IDE1MDJjYTcxNzBlYmYx
MjUxYmNkOTYxYzJhMjI4YmU2ODFlNTE3NTUuLjFhMGU4YjQxY2EzMTRlMmQzMzNkODRkNzY1NTI4
NmNiNGY1MmI5NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlE
ZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZS5o
CkBAIC0yNiwxMCArMjYsMTYgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCA8Q29jb2Ev
Q29jb2EuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8Rm91
bmRhdGlvbi9OU1VSTFJlcXVlc3QuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1dlYktpdEF2
YWlsYWJpbGl0eS5oPgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXQuaD4KKyNlbHNlCisjaW1wb3J0IDxXZWJLaXQvV0FLQXBwS2l0U3R1YnMuaD4KKyNlbmRp
ZgorCiAvKiEKICAgICBAZW51bSBXZWJNZW51SXRlbVRhZwogICAgIEBkaXNjdXNzaW9uIEVhY2gg
bWVudSBpdGVtIGluIHRoZSBkZWZhdWx0IG1lbnUgaXRlbXMgYXJyYXkgcGFzc2VkIGluCkBAIC0x
MzUsNiArMTQxLDExIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXZWJEcmFnU291
cmNlQWN0aW9uKSB7CiAqLwogLSAodm9pZCljYW5jZWw7CiAKKyNpZiBUQVJHRVRfT1NfSVBIT05F
CistICh2b2lkKWNob29zZUZpbGVuYW1lOihOU1N0cmluZyAqKWZpbGVuYW1lIGRpc3BsYXlTdHJp
bmc6KE5TU3RyaW5nICopZGlzcGxheVN0cmluZyBpY29uSW1hZ2U6KENHSW1hZ2VSZWYpaW1hZ2VS
ZWY7CistICh2b2lkKWNob29zZUZpbGVuYW1lczooTlNBcnJheSAqKWZpbGVuYW1lcyBkaXNwbGF5
U3RyaW5nOihOU1N0cmluZyAqKWRpc3BsYXlTdHJpbmcgaWNvbkltYWdlOihDR0ltYWdlUmVmKWlt
YWdlUmVmOworI2VuZGlmCisKIEBlbmQKIAogQGNsYXNzIFdlYkZyYW1lOwpAQCAtNDM3LDYgKzQ0
OCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXZWJEcmFnU291cmNlQWN0aW9u
KSB7CiAqLwogLSAoTlNBcnJheSAqKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgY29udGV4dE1l
bnVJdGVtc0ZvckVsZW1lbnQ6KE5TRGljdGlvbmFyeSAqKWVsZW1lbnQgZGVmYXVsdE1lbnVJdGVt
czooTlNBcnJheSAqKWRlZmF1bHRNZW51SXRlbXM7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQog
LyohCiAgICAgQG1ldGhvZCB3ZWJWaWV3OnZhbGlkYXRlVXNlckludGVyZmFjZUl0ZW06ZGVmYXVs
dFZhbGlkYXRpb246CiAgICAgQGFic3RyYWN0IENvbnRyb2xzIFVJIHZhbGlkYXRpb24KQEAgLTQ0
OCw2ICs0NjAsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgV2ViRHJhZ1NvdXJj
ZUFjdGlvbikgewogICAgIE5TVmFsaWRhdGVkVXNlckludGVyZmFjZUl0ZW0gZm9yIGluZm9ybWF0
aW9uIGFib3V0IFVJIHZhbGlkYXRpb24uCiAqLwogLSAoQk9PTCl3ZWJWaWV3OihXZWJWaWV3ICop
d2ViVmlldyB2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtOihpZCA8TlNWYWxpZGF0ZWRVc2VySW50
ZXJmYWNlSXRlbT4paXRlbSBkZWZhdWx0VmFsaWRhdGlvbjooQk9PTClkZWZhdWx0VmFsaWRhdGlv
bjsKKyNlbmRpZgogCiAvKiEKICAgICBAbWV0aG9kIHdlYlZpZXc6c2hvdWxkUGVyZm9ybUFjdGlv
bjpmcm9tU2VuZGVyOgpAQCAtNDYyLDYgKzQ3NSw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJ
bnRlZ2VyLCBXZWJEcmFnU291cmNlQWN0aW9uKSB7CiAqLwogLSAoQk9PTCl3ZWJWaWV3OihXZWJW
aWV3ICopd2ViVmlldyBzaG91bGRQZXJmb3JtQWN0aW9uOihTRUwpYWN0aW9uIGZyb21TZW5kZXI6
KGlkKXNlbmRlcjsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiEKICAgICBAbWV0aG9kIHdl
YlZpZXc6ZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFza0ZvckRyYWdnaW5nSW5mbzoKICAgICBAYWJz
dHJhY3QgQ29udHJvbHMgYmVoYXZpb3Igd2hlbiBkcmFnZ2luZyB0byBhIFdlYlZpZXcKQEAgLTUw
Niw2ICs1MjAsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgV2ViRHJhZ1NvdXJj
ZUFjdGlvbikgewogICAgIHRoZSBjb250ZW50cyBvZiB0aGUgZHJhZ2dpbmcgcGFzdGVib2FyZC4K
ICovCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IHdpbGxQZXJmb3JtRHJhZ1Nv
dXJjZUFjdGlvbjooV2ViRHJhZ1NvdXJjZUFjdGlvbilhY3Rpb24gZnJvbVBvaW50OihOU1BvaW50
KXBvaW50IHdpdGhQYXN0ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYXN0ZWJvYXJkOworI2VuZGlm
IC8qICFUQVJHRVRfT1NfSVBIT05FICovCiAKIC8qIQogICAgIEBtZXRob2Qgd2ViVmlldzpwcmlu
dEZyYW1lVmlldzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlE
ZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0
ZVByaXZhdGUuaAppbmRleCBlYmIwMDdkNWQ3Njg3NWJlZWUxZjI2YjZjNzAyYjQwNDYyNjE3NzU2
Li41MjE0ZjM3NTVlY2YzZjZjMzY0ODMxMmMyNjkzNDU0MmYzMzg3ZDFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC0yOSwxMiAr
MjksMTggQEAKICNpbXBvcnQgPFdlYktpdC9XZWJBbGxvd0RlbnlQb2xpY3lMaXN0ZW5lci5oPgog
I2ltcG9ydCA8V2ViS2l0L1dlYlVJRGVsZWdhdGUuaD4KIAorI2lmICFUQVJHRVRfT1NfSVBIT05F
CiAjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQogI2RlZmluZSBFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQgMQogI2VuZGlmCisjZW5kaWYKIAogI2lmICFkZWZpbmVkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogI2RlZmluZSBFTkFCTEVf
RlVMTFNDUkVFTl9BUEkgMQorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAK
KyNlbmRpZgogI2VuZGlmCiAKIC8vIE1haWwgb24gVGlnZXIgZXhwZWN0cyB0aGUgb2xkIHZhbHVl
IGZvciBXZWJNZW51SXRlbVRhZ1NlYXJjaEluR29vZ2xlCkBAIC0xNzQsMTQgKzE4MCwxOCBAQCBl
eHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRXJyb3JNZXNzYWdlTGV2ZWw7CiAtICh2
b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGRhc2hib2FyZFJlZ2lvbnNDaGFuZ2VkOihO
U0RpY3Rpb25hcnkgKilyZWdpb25zOwogI2VuZGlmCiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQog
LSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYWdJbWFnZTooTlNJbWFnZSAqKWFu
SW1hZ2UgYXQ6KE5TUG9pbnQpdmlld0xvY2F0aW9uIG9mZnNldDooTlNTaXplKWluaXRpYWxPZmZz
ZXQgZXZlbnQ6KE5TRXZlbnQgKilldmVudCBwYXN0ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYm9h
cmQgc291cmNlOihpZClzb3VyY2VPYmogc2xpZGVCYWNrOihCT09MKXNsaWRlRmxhZyBmb3JWaWV3
OihOU1ZpZXcgKil2aWV3OworI2VuZGlmCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5k
ZXIgZGlkRHJhd1JlY3Q6KE5TUmVjdClyZWN0OwogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICop
c2VuZGVyIGRpZFNjcm9sbERvY3VtZW50SW5GcmFtZVZpZXc6KFdlYkZyYW1lVmlldyAqKWZyYW1l
VmlldzsKIC8vIEZJWE1FOiBJZiB3ZSBldmVyIG1ha2UgdGhpcyBtZXRob2QgcHVibGljLCBpdCBz
aG91bGQgaW5jbHVkZSBhIFdlYkZyYW1lIHBhcmFtZXRlci4KIC0gKEJPT0wpd2ViVmlld1Nob3Vs
ZEludGVycnVwdEphdmFTY3JpcHQ6KFdlYlZpZXcgKilzZW5kZXI7CisjaWYgIVRBUkdFVF9PU19J
UEhPTkUKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciB3aWxsUG9wdXBNZW51OihO
U01lbnUgKiltZW51OwogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkOihOU01lbnVJdGVtICopaXRlbSBmb3JFbGVtZW50OihOU0RpY3Rpb25h
cnkgKillbGVtZW50OwogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHNhdmVGcmFt
ZVZpZXc6KFdlYkZyYW1lVmlldyAqKWZyYW1lVmlldyBzaG93aW5nUGFuZWw6KEJPT0wpc2hvd2lu
Z1BhbmVsOworI2VuZGlmCiAtIChCT09MKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZGlkUHJl
c3NNaXNzaW5nUGx1Z2luQnV0dG9uOihET01FbGVtZW50ICopZWxlbWVudDsKIC8qIQogICAgIEBt
ZXRob2Qgd2ViVmlldzpmcmFtZTpleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdp
bjpkYXRhYmFzZToKQEAgLTI0NCw0ICsyNTQsMTUgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZUVycm9yTWVzc2FnZUxldmVsOwogCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcg
KilzZW5kZXIgZGlkRHJhd0ZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOwogCisjaWYgVEFSR0VUX09T
X0lQSE9ORQorLyohCisgQG1ldGhvZCB3ZWJWaWV3U3VwcG9ydGVkT3JpZW50YXRpb25zVXBkYXRl
ZDoKKyBAcGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhv
ZAorIEBhYnN0cmFjdCBOb3RpZnkgdGhlIGNsaWVudCB0aGF0IHRoZSBjb250ZW50IGhhcyB1cGRh
dGVkIHRoZSBvcmllbnRhdGlvbnMgaXQgY2xhaW1zIHRvIHN1cHBvcnQuCisgKi8KKy0gKHZvaWQp
d2ViVmlld1N1cHBvcnRlZE9yaWVudGF0aW9uc1VwZGF0ZWQ6KFdlYlZpZXcgKilzZW5kZXI7CisK
Ky0gKEJPT0wpd2ViVmlld0NhbkNoZWNrR2VvbG9jYXRpb25BdXRob3JpemF0aW9uU3RhdHVzOihX
ZWJWaWV3ICopc2VuZGVyOworI2VuZGlmCisKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3LmgKaW5kZXggNTk2ODYxY2RhNWZkN2E2YWE2ZjY1NzdhNmYzZjQwYWZjYmU0MDBlNS4uMWQ3
Y2FlYmU4NTk2MTc4MmUxODQ2ZTIxOTQxMzhhNjE4Nzc2Y2Q0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3LmgKQEAgLTI2LDcgKzI2LDE0IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNp
ZiAhVEFSR0VUX09TX0lQSE9ORQogI2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KKyNlbHNlCisjaW1w
b3J0IDxXZWJLaXQvV0FLQXBwS2l0U3R1YnMuaD4KKyNpZiAhZGVmaW5lZChJQkFjdGlvbikKKyNk
ZWZpbmUgSUJBY3Rpb24gdm9pZAorI2VuZGlmCisjZW5kaWYKIAogQGNsYXNzIERPTUNTU1N0eWxl
RGVjbGFyYXRpb247CiBAY2xhc3MgRE9NRG9jdW1lbnQ7CkBAIC02OSw3ICs3Niw5IEBAIGV4dGVy
biBOU1N0cmluZyAqV2ViRWxlbWVudExpbmtMYWJlbEtleTsgICAgICAgIC8vIE5TU3RyaW5nIG9m
IHRoZSB0ZXh0IHdpdGhpbiB0CiAqLwogZXh0ZXJuIE5TU3RyaW5nICpXZWJWaWV3UHJvZ3Jlc3NT
dGFydGVkTm90aWZpY2F0aW9uOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJWaWV3UHJvZ3Jlc3NFc3Rp
bWF0ZUNoYW5nZWROb3RpZmljYXRpb247CisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIGV4dGVybiBO
U1N0cmluZyAqV2ViVmlld1Byb2dyZXNzRmluaXNoZWROb3RpZmljYXRpb247CisjZW5kaWYKIAog
LyohCiAgICAgQGNsYXNzIFdlYlZpZXcKQEAgLTE0NCw2ICsxNTMsNyBAQCBleHRlcm4gTlNTdHJp
bmcgKldlYlZpZXdQcm9ncmVzc0ZpbmlzaGVkTm90aWZpY2F0aW9uOwogKi8KICsgKHZvaWQpc2V0
TUlNRVR5cGVzU2hvd25Bc0hUTUw6KE5TQXJyYXkgKilNSU1FVHlwZXM7CiAKKyNpZiAhVEFSR0VU
X09TX0lQSE9ORQogLyohCiAgICAgQG1ldGhvZCBVUkxGcm9tUGFzdGVib2FyZDoKICAgICBAYWJz
dHJhY3QgUmV0dXJucyBhIFVSTCBmcm9tIGEgcGFzdGVib2FyZApAQCAtMTYzLDYgKzE3Myw3IEBA
IGV4dGVybiBOU1N0cmluZyAqV2ViVmlld1Byb2dyZXNzRmluaXNoZWROb3RpZmljYXRpb247CiAg
ICAgd2hpY2ggaXMgdGhlIHRleHQgaW5zaWRlIHRoZSBhbmNob3IgdGFnLgogKi8KICsgKE5TU3Ry
aW5nICopVVJMVGl0bGVGcm9tUGFzdGVib2FyZDooTlNQYXN0ZWJvYXJkICopcGFzdGVib2FyZDsK
KyNlbmRpZgogCiAvKiEKICAgICBAbWV0aG9kIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbDoKQEAg
LTQ0Miw2ICs0NTMsNyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlZpZXdQcm9ncmVzc0ZpbmlzaGVk
Tm90aWZpY2F0aW9uOwogKi8KIC0gKE5TRGljdGlvbmFyeSAqKWVsZW1lbnRBdFBvaW50OihOU1Bv
aW50KXBvaW50OwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8qIQogICAgIEBwcm9wZXJ0eSBw
YXN0ZWJvYXJkVHlwZXNGb3JTZWxlY3Rpb24KICAgICBAYWJzdHJhY3QgVGhlIHBhc3RlYm9hcmQg
dHlwZXMgdGhhdCB0aGUgV2ViVmlldyBjYW4gdXNlIGZvciB0aGUgY3VycmVudCBzZWxlY3Rpb24K
QEAgLTQ4NSw2ICs0OTcsNyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlZpZXdQcm9ncmVzc0Zpbmlz
aGVkTm90aWZpY2F0aW9uOwogICAgIEBhYnN0cmFjdCBSZW1vdmVzIHRoZSBkcmFnIGNhcmV0IGZy
b20gdGhlIFdlYlZpZXcKICovCiAtICh2b2lkKXJlbW92ZURyYWdDYXJldDsKKyNlbmRpZiAvKiAh
VEFSR0VUX09TX0lQSE9ORSAqLwogCiAvKiEKICAgICBAcHJvcGVydHkgZHJhd3NCYWNrZ3JvdW5k
CkBAIC01MTksMTYgKzUzMiwyMSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlZpZXdQcm9ncmVzc0Zp
bmlzaGVkTm90aWZpY2F0aW9uOwogKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwg
Y29weSkgTlNTdHJpbmcgKm1haW5GcmFtZVRpdGxlOwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUK
IC8qIQogICAgIEBwcm9wZXJ0eSBtYWluRnJhbWVJY29uCiAgICAgQGFic3RyYWN0IFRoZSBzaXRl
IGljb24gZm9yIHRoZSBjdXJyZW50IHBhZ2UgbG9hZGVkIGluIHRoZSBtYWluRnJhbWUsIG9yIG5p
bC4KICovCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHN0cm9uZykgTlNJbWFnZSAq
bWFpbkZyYW1lSWNvbjsKKyNlbmRpZgogCiBAZW5kCiAKLQorI2lmIFRBUkdFVF9PU19JUEhPTkUK
K0BpbnRlcmZhY2UgV2ViVmlldyAoV2ViSUJBY3Rpb25zKQorI2Vsc2UKIEBpbnRlcmZhY2UgV2Vi
VmlldyAoV2ViSUJBY3Rpb25zKSA8TlNVc2VySW50ZXJmYWNlVmFsaWRhdGlvbnM+CisjZW5kaWYK
IC0gKElCQWN0aW9uKXRha2VTdHJpbmdVUkxGcm9tOihpZClzZW5kZXI7CiAtIChJQkFjdGlvbilz
dG9wTG9hZGluZzooaWQpc2VuZGVyOwogLSAoSUJBY3Rpb24pcmVsb2FkOihpZClzZW5kZXI7CkBA
IC01NDMsOCArNTYxLDEzIEBAIGV4dGVybiBOU1N0cmluZyAqV2ViVmlld1Byb2dyZXNzRmluaXNo
ZWROb3RpZmljYXRpb247CiAtIChJQkFjdGlvbiltYWtlVGV4dFNtYWxsZXI6KGlkKXNlbmRlcjsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBjYW5NYWtlVGV4dFN0YW5kYXJk
U2l6ZTsKIC0gKElCQWN0aW9uKW1ha2VUZXh0U3RhbmRhcmRTaXplOihpZClzZW5kZXI7CisjaWYg
IVRBUkdFVF9PU19JUEhPTkUKIC0gKElCQWN0aW9uKXRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNr
aW5nOihpZClzZW5kZXI7CiAtIChJQkFjdGlvbil0b2dnbGVTbWFydEluc2VydERlbGV0ZTooaWQp
c2VuZGVyOworI2VuZGlmCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAodm9pZClzdG9wTG9hZGlu
Z0FuZENsZWFyOworI2VuZGlmCiBAZW5kCiAKIApAQCAtNTcwLDcgKzU5Myw5IEBAIGV4dGVybiBO
U1N0cmluZyAqIGNvbnN0IFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb247CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBET01DU1NTdHlsZURlY2xhcmF0aW9uICp0eXBp
bmdTdHlsZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNDb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQpIEJPT0wgY29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOworI2lmICFU
QVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TSW50ZWdl
ciBzcGVsbENoZWNrZXJEb2N1bWVudFRhZzsKKyNlbmRpZgogQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5LCBzdHJvbmcpIE5TVW5kb01hbmFnZXIgKnVuZG9NYW5hZ2VyOwogQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZykgaWQgZWRpdGluZ0RlbGVnYXRlOwogLSAoRE9NQ1NTU3R5bGVE
ZWNsYXJhdGlvbiAqKXN0eWxlRGVjbGFyYXRpb25XaXRoVGV4dDooTlNTdHJpbmcgKil0ZXh0OwpA
QCAtNjIxLDYgKzY0NiwxNCBAQCBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uOwogCiAtICh2b2lkKW92ZXJXcml0ZTooaWQpc2VuZGVy
OwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAodm9pZCljbGVhclRleHQ6KGlkKXNlbmRlcjsK
Ky0gKHZvaWQpaW5zZXJ0RGljdGF0aW9uUGhyYXNlczooTlNBcnJheSAqKWRpY3RhdGlvblBocmFz
ZXMgbWV0YWRhdGE6KGlkKW1ldGFkYXRhOworLSAodm9pZCl0b2dnbGVCb2xkOihpZClzZW5kZXI7
CistICh2b2lkKXRvZ2dsZUl0YWxpYzooaWQpc2VuZGVyOworLSAodm9pZCl0b2dnbGVVbmRlcmxp
bmU6KGlkKXNlbmRlcjsKKyNlbmRpZgorCiAvKiAKIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUg
ZGVjbGFyZWQgaW4gTlNSZXNwb25kZXIuaC4KIFdlYlZpZXcgb3ZlcnJpZGVzIGVhY2ggbWV0aG9k
IGluIHRoaXMgbGlzdCwgcHJvdmlkaW5nCkBAIC02OTEsMyArNzI0LDQwIEBAIGEgY3VzdG9tIGlt
cGxlbWVudGF0aW9uIGZvciBlYWNoLgogKi8KICAKIEBlbmQKKworI2lmIFRBUkdFVF9PU19JUEhP
TkUKKworQGludGVyZmFjZSBXZWJWaWV3IChXZWJWaWV3SU9TKQorKyAodm9pZCllbmFibGVXZWJU
aHJlYWQ7CisrICh2b2lkKWdhcmJhZ2VDb2xsZWN0Tm93OworKyAodm9pZClwdXJnZUluYWN0aXZl
Rm9udERhdGE7CisrICh2b2lkKWRyYWluTGF5ZXJQb29sOworKyAodm9pZClkaXNjYXJkQWxsQ29t
cGlsZWRDb2RlOworKyAodm9pZClyZWdpc3RlckZvck1lbW9yeU5vdGlmaWNhdGlvbnM7CisrICh2
b2lkKXJlbGVhc2VGYXN0TWFsbG9jTWVtb3J5T25DdXJyZW50VGhyZWFkOworKyAoQk9PTClpc0No
YXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdDoodW5pY2hhciljaGFyYWN0ZXIgaXNQcmV2aW91c0No
YXJhY3RlcjooQk9PTCliOworCisvKiEKKyAqIEBtZXRob2Qgd2lsbEVudGVyQmFja2dyb3VuZFdp
dGhDb21wbGV0aW9uSGFuZGxlcjoKKyAqIEBkaXNjdXNzaW9uIFRoaXMgaXMgaW52b2tlZCB3aGVu
IHRoZSBhcHAgZ2V0cyBhIGRpZCBlbnRlciBiYWNrZ3JvdW5kCisgKiBub3RpZmljYXRpb24uIEl0
IGZyZWVzIHVwIGNhY2hlcyBvbiB0aGUgd2ViIHRocmVhZCBhbmQgaW52b2tlcyB0aGUgaGFuZGxl
cgorICogYmxvY2sgb24gdGhlIG1haW4gdGhyZWFkIHdoZW4gZG9uZS4KKyAqCisgKiBAcGFyYW0g
aGFuZGxlciBUaGUgYmxvY2sgdG8gaW52b2tlIG9uIHRoZSBtYWluIHRocmVhZCBvbmNlIHRoZSBj
bGVhbnVwIGlzCisgKiBkb25lLgorICovCisrICh2b2lkKXdpbGxFbnRlckJhY2tncm91bmRXaXRo
Q29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpaGFuZGxlcjsKKworLyohCisgKiBAbWV0
aG9kIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZVNoZWV0czoKKyAqIEBkaXNjdXNzaW9u
IFRoaXMgbWV0aG9kIGZvcmNlcyB0aGUgcGFnZSB0byBsYXlvdXQgZXZlbiBpZiB0aGVyZSBhcmUg
ZXh0ZXJuYWwKKyAqIHBlbmRpbmcgc3R5bGUgc2hlZXRzLgorICovCistICh2b2lkKXVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZVNoZWV0czsKK0BlbmQKKworQGludGVyZmFjZSBOU09iamVj
dCAoV2ViVmlld0NsYXNzRGVsZWdhdGUpCistIChCT09MKXZpZXdDbGFzczooQ2xhc3MgKil2Q2xh
c3MgYW5kUmVwcmVzZW50YXRpb25DbGFzczooQ2xhc3MgKilyQ2xhc3MgZm9yTUlNRVR5cGU6KE5T
U3RyaW5nICopTUlNRVR5cGU7CitAZW5kCisKKyNlbmRpZiAvKiBUQVJHRVRfT1NfSVBIT05FICov
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNTAxZjlh
NWE1MTY0NGU4YThjYmIzYWY5ZjI5OTkwZDg2NGJjN2ZiMS4uYjgxZDE5NmEyMzA4Y2RjODY1YzMz
MDBhYzM1ZWM3NTQxZWY1YTQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
d1ByaXZhdGUuaApAQCAtMzAsOSArMzAsMTUgQEAKICNpbXBvcnQgPFdlYktpdC9XZWJGcmFtZVBy
aXZhdGUuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogCisjaWYgVEFSR0VU
X09TX0lQSE9ORQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQ29sb3IuaD4KKyNlbmRpZgorCisj
aWYgIVRBUkdFVF9PU19JUEhPTkUKICNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpCiAjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCiAjZW5kaWYKKyNlbmRpZgog
CiAjaWYgIWRlZmluZWQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpCiAvLyBGSVhNRTogU2hvdWxk
IHdlIGp1c3QgcmVtb3ZlIHRoaXMgRU5BQkxFIGZsYWcgZXZlcnl3aGVyZT8KQEAgLTQ5LDExICs1
NSwxNyBAQAogQGNsYXNzIFdlYlNjcmlwdFdvcmxkOwogQGNsYXNzIFdlYlNlY3VyaXR5T3JpZ2lu
OwogQGNsYXNzIFdlYlRleHRJdGVyYXRvcjsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAY2xhc3Mg
Q0FMYXllcjsKK0BjbGFzcyBXZWJGaXhlZFBvc2l0aW9uQ29udGVudDsKIAorQHByb3RvY29sIFdl
YkNhcmV0Q2hhbmdlTGlzdGVuZXI7CisjZW5kaWYKIEBwcm90b2NvbCBXZWJEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyOwogQHByb3RvY29sIFdlYkZvcm1EZWxlZ2F0ZTsKIEBwcm90b2NvbCBXZWJV
c2VyTWVkaWFDbGllbnQ7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogZXh0ZXJuIE5TU3RyaW5n
ICpfV2ViQ2FuR29CYWNrS2V5OwogZXh0ZXJuIE5TU3RyaW5nICpfV2ViQ2FuR29Gb3J3YXJkS2V5
OwogZXh0ZXJuIE5TU3RyaW5nICpfV2ViRXN0aW1hdGVkUHJvZ3Jlc3NLZXk7CkBAIC02Miw2ICs3
NCwxMiBAQCBleHRlcm4gTlNTdHJpbmcgKl9XZWJNYWluRnJhbWVJY29uS2V5OwogZXh0ZXJuIE5T
U3RyaW5nICpfV2ViTWFpbkZyYW1lVGl0bGVLZXk7CiBleHRlcm4gTlNTdHJpbmcgKl9XZWJNYWlu
RnJhbWVVUkxLZXk7CiBleHRlcm4gTlNTdHJpbmcgKl9XZWJNYWluRnJhbWVEb2N1bWVudEtleTsK
KyNlbmRpZgorCisjaWYgVEFSR0VUX09TX0lQSE9ORQorZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qg
V2ViVmlld1Byb2dyZXNzRXN0aW1hdGVkUHJvZ3Jlc3NLZXk7CitleHRlcm4gTlNTdHJpbmcgKiBj
b25zdCBXZWJWaWV3UHJvZ3Jlc3NCYWNrZ3JvdW5kQ29sb3JLZXk7CisjZW5kaWYKIAogLy8gcGVu
ZGluZyBwdWJsaWMgV2ViRWxlbWVudERpY3Rpb25hcnkga2V5cwogZXh0ZXJuIE5TU3RyaW5nICpX
ZWJFbGVtZW50VGl0bGVLZXk7ICAgICAgICAgICAgIC8vIE5TU3RyaW5nIG9mIHRoZSB0aXRsZSBv
ZiB0aGUgZWxlbWVudCAodXNlZCBieSBTYWZhcmkpCkBAIC0xMjEsNiArMTM5LDExIEBAIHR5cGVk
ZWYgZW51bSB7CiAgICAgV2ViUGFnaW5hdGlvbk1vZGVSaWdodFRvTGVmdCwKICAgICBXZWJQYWdp
bmF0aW9uTW9kZVRvcFRvQm90dG9tLAogICAgIFdlYlBhZ2luYXRpb25Nb2RlQm90dG9tVG9Ub3As
CisjaWYgVEFSR0VUX09TX0lQSE9ORQorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlc2Ugb25jZSBV
SUtpdCBoYXMgc3dpdGNoZWQgdG8gdGhlIGFib3ZlLgorICAgIFdlYlBhZ2luYXRpb25Nb2RlSG9y
aXpvbnRhbCA9IFdlYlBhZ2luYXRpb25Nb2RlTGVmdFRvUmlnaHQsCisgICAgV2ViUGFnaW5hdGlv
bk1vZGVWZXJ0aWNhbCA9IFdlYlBhZ2luYXRpb25Nb2RlVG9wVG9Cb3R0b20sCisjZW5kaWYKIH0g
V2ViUGFnaW5hdGlvbk1vZGU7CiAKIGVudW0gewpAQCAtMTQzLDEyICsxNjYsMTQgQEAgdHlwZWRl
ZiBlbnVtIHsKICAgICBXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVuaWVkCiB9IFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb247CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogQGludGVyZmFjZSBX
ZWJDb250cm9sbGVyIDogTlNUcmVlQ29udHJvbGxlciB7CiAgICAgSUJPdXRsZXQgV2ViVmlldyAq
d2ViVmlldzsKIH0KIC0gKFdlYlZpZXcgKil3ZWJWaWV3OwogLSAodm9pZClzZXRXZWJWaWV3OihX
ZWJWaWV3ICopbmV3V2ViVmlldzsKIEBlbmQKKyNlbmRpZgogCiBAaW50ZXJmYWNlIFdlYlZpZXcg
KFdlYlZpZXdFZGl0aW5nQWN0aW9uc1BlbmRpbmdQdWJsaWMpCiAKQEAgLTE1OCw4ICsxODMsMTAg
QEAgdHlwZWRlZiBlbnVtIHsKIAogQGludGVyZmFjZSBXZWJWaWV3IChXZWJQZW5kaW5nUHVibGlj
KQogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0gKHZvaWQpc2NoZWR1bGVJblJ1bkxvb3A6KE5T
UnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcgKiltb2RlOwogLSAodm9pZCl1bnNj
aGVkdWxlRnJvbVJ1bkxvb3A6KE5TUnVuTG9vcCAqKXJ1bkxvb3AgZm9yTW9kZTooTlNTdHJpbmcg
Kiltb2RlOworI2VuZGlmCiAKIC0gKEJPT0wpZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcg
b3B0aW9uczooV2ViRmluZE9wdGlvbnMpb3B0aW9uczsKIC0gKERPTVJhbmdlICopRE9NUmFuZ2VP
ZlN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgcmVsYXRpdmVUbzooRE9NUmFuZ2UgKilwcmV2aW91
c1JhbmdlIG9wdGlvbnM6KFdlYkZpbmRPcHRpb25zKW9wdGlvbnM7CkBAIC0xNzAsNiArMTk3LDkg
QEAgdHlwZWRlZiBlbnVtIHsKIC0gKEJPT0wpdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzOwog
CiAtICh2b2lkKXNjcm9sbERPTVJhbmdlVG9WaXNpYmxlOihET01SYW5nZSAqKXJhbmdlOworI2lm
IFRBUkdFVF9PU19JUEhPTkUKKy0gKHZvaWQpc2Nyb2xsRE9NUmFuZ2VUb1Zpc2libGU6KERPTVJh
bmdlICopcmFuZ2Ugd2l0aEluc2V0OihDR0Zsb2F0KWluc2V0OworI2VuZGlmCiAKIC8qIQogQG1l
dGhvZCBzZXRTY3JpcHREZWJ1Z0RlbGVnYXRlOgpAQCAtMjAxLDEyICsyMzEsMTQgQEAgdHlwZWRl
ZiBlbnVtIHsKIAogLSAoQk9PTClzaG91bGRDbG9zZTsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05F
CiAvKiEKICAgICBAbWV0aG9kIGFlRGVzY0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5n
OgogICAgIEBwYXJhbSBzY3JpcHQgVGhlIHRleHQgb2YgdGhlIEphdmFTY3JpcHQuCiAgICAgQHJl
c3VsdCBUaGUgcmVzdWx0IG9mIHRoZSBzY3JpcHQsIGNvbnZlcnRlZCB0byBhbiBOU0FwcGxlRXZl
bnREZXNjcmlwdG9yLCBvciBuaWwgZm9yIGZhaWx1cmUuCiAqLwogLSAoTlNBcHBsZUV2ZW50RGVz
Y3JpcHRvciAqKWFlRGVzY0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5nOihOU1N0cmlu
ZyAqKXNjcmlwdDsKKyNlbmRpZgogCiAvLyBTdXBwb3J0IGZvciBkaXNwbGF5aW5nIG11bHRpcGxl
IHRleHQgbWF0Y2hlcy4KIC8vIFRoZXNlIG1ldGhvZHMgbWlnaHQgZW5kIHVwIG1vdmluZyBpbnRv
IGEgcHJvdG9jb2wsIHNvIGRpZmZlcmVudCBkb2N1bWVudCB0eXBlcyBjYW4gc3BlY2lmeQpAQCAt
Mjg0LDkgKzMxNiwzMyBAQCB0eXBlZGVmIGVudW0gewogICAgIEBhYnN0cmFjdCBpbmRpY2F0ZSB0
aGlzIFdlYlZpZXcgb24gc2NyZWVuIGZvciBhIHJlbW90ZSBpbnNwZWN0b3IuCiAqLwogLSAodm9p
ZClzZXRJbmRpY2F0aW5nRm9yUmVtb3RlSW5zcGVjdG9yOihCT09MKWVuYWJsZWQ7CisjaWYgVEFS
R0VUX09TX0lQSE9ORQorLyohCisgICAgQG1ldGhvZCBzZXRIb3N0QXBwbGljYXRpb25CdW5kbGVJ
ZDpuYW1lCisgICAgQHBhcmFtIGJ1bmRsZUlkIFRoZSBhcHBsaWNhdGlvbiB0aGF0IHRoaXMgV2Vi
VmlldyB3YXMgY3JlYXRlZCBmb3IuCisgICAgQHBhcmFtIG5hbWUgVGhhdCBhcHBsaWNhdGlvbidz
IGxvY2FsaXplZCBkaXNwbGF5IG5hbWUuCisgICAgQGFic3RyYWN0IFdoZW4gYSBXZWJWaWV3IGlz
IGNyZWF0ZWQgb3V0IG9mIHByb2Nlc3MgZm9yIGFuIGFwcGxpY2F0aW9uLAorICAgIHlvdSBjYW4g
Y2xhcmlmeSB0byBhIFJlbW90ZSBEZWJ1Z2dlciB3aGljaCBhcHBsaWNhdGlvbiB0aGlzIFdlYlZp
ZXcKKyAgICBpcyBpbnRlbmRlZCB0byBiZWxvbmcgdG87IHRoZSBhcHBsaWNhdGlvbiB3aGljaCBo
b3N0cyB0aGUgV2ViVmlldy4KKyovCistICh2b2lkKXNldEhvc3RBcHBsaWNhdGlvbkJ1bmRsZUlk
OihOU1N0cmluZyAqKWJ1bmRsZUlkIG5hbWU6KE5TU3RyaW5nICopbmFtZTsKKworLyohCisgICAg
QG1ldGhvZCBob3N0QXBwbGljYXRpb25CdW5kbGVJZAorICAgIEByZXN1bHQgUmV0dXJucyB0aGUg
aG9zdCBhcHBsaWNhdGlvbiBidW5kbGUgaWQuCisqLworLSAoTlNTdHJpbmcgKilob3N0QXBwbGlj
YXRpb25CdW5kbGVJZDsKKworLyohCisgICAgQG1ldGhvZCBob3N0QXBwbGljYXRpb25OYW1lCisg
ICAgQHJlc3VsdCBSZXR1cm5zIHRoZSBob3N0IGFwcGxpY2F0aW9uIG5hbWUuCisqLworLSAoTlNT
dHJpbmcgKilob3N0QXBwbGljYXRpb25OYW1lOwogI2VuZGlmCiAKKyNlbmRpZiAvLyBFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8qIQogICAgIEBtZXRo
b2Qgc2V0QmFja2dyb3VuZENvbG9yOgogICAgIEBwYXJhbSBiYWNrZ3JvdW5kQ29sb3IgQ29sb3Ig
dG8gdXNlIGFzIHRoZSBkZWZhdWx0IGJhY2tncm91bmQuCkBAIC0zMDMsNiArMzU5LDEwIEBAIHR5
cGVkZWYgZW51bSB7CiAgICAgaW4gYSBub24tb3BhcXVlIHdpbmRvdywgc2luY2UgdGhlIGNvbG9y
IGlzIGRyYXduIHVzaW5nIE5TQ29tcG9zaXRlQ29weS4KICovCiAtIChOU0NvbG9yICopYmFja2dy
b3VuZENvbG9yOworI2Vsc2UKKy0gKHZvaWQpc2V0QmFja2dyb3VuZENvbG9yOihDR0NvbG9yUmVm
KWJhY2tncm91bmRDb2xvcjsKKy0gKENHQ29sb3JSZWYpYmFja2dyb3VuZENvbG9yOworI2VuZGlm
CiAKIC8qIQogQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCkBAIC0zMjksNyArMzg5
LDkgQEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAgKi8KIC0gKHZvaWQpX2Rp
c3BhdGNoUGVuZGluZ0xvYWRSZXF1ZXN0czsKIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCiArIChO
U0FycmF5ICopX3N1cHBvcnRlZEZpbGVFeHRlbnNpb25zOworI2VuZGlmCiAKIC8qIQogICAgIEBt
ZXRob2QgY2FuU2hvd0ZpbGU6CkBAIC0zMzksMTQgKzQwMSwyMSBAQCBDb3VsZCBiZSB3b3J0aCBh
ZGRpbmcgdG8gdGhlIEFQSS4KICovCiArIChCT09MKWNhblNob3dGaWxlOihOU1N0cmluZyAqKXBh
dGg7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLyohCiAgICAgQG1ldGhvZCBzdWdnZXN0ZWRG
aWxlRXh0ZW5zaW9uRm9yTUlNRVR5cGU6CiAgICAgQHBhcmFtIE1JTUVUeXBlIFRoZSBNSU1FIHR5
cGUgdG8gY2hlY2suCiAgICAgQHJlc3VsdCBUaGUgZXh0ZW5zaW9uIGJhc2VkIG9uIHRoZSBNSU1F
IHR5cGUKICovCiArIChOU1N0cmluZyAqKXN1Z2dlc3RlZEZpbGVFeHRlbnNpb25Gb3JNSU1FVHlw
ZTogKE5TU3RyaW5nICopTUlNRVR5cGU7CisjZW5kaWYKIAogKyAoTlNTdHJpbmcgKilfc3RhbmRh
cmRVc2VyQWdlbnRXaXRoQXBwbGljYXRpb25OYW1lOihOU1N0cmluZyAqKWFwcGxpY2F0aW9uTmFt
ZTsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisrIChOU1N0cmluZyAqKV9zdGFuZGFyZFVzZXJBZ2Vu
dFdpdGhBcHBsaWNhdGlvbk5hbWU6KE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lIG9zTWFya2V0
aW5nVmVyc2lvbjooTlNTdHJpbmcgKilvc01hcmtldGluZ1ZlcnNpb247CistICh2b2lkKV9zZXRC
cm93c2VyVXNlckFnZW50UHJvZHVjdFZlcnNpb246KE5TU3RyaW5nICopcHJvZHVjdFZlcnNpb24g
YnVpbGRWZXJzaW9uOihOU1N0cmluZyAqKWJ1aWxkVmVyc2lvbiBidW5kbGVWZXJzaW9uOihOU1N0
cmluZyAqKWJ1bmRsZVZlcnNpb247CistICh2b2lkKV9zZXRVSVdlYlZpZXdVc2VyQWdlbnRXaXRo
QnVpbGRWZXJzaW9uOihOU1N0cmluZyAqKWJ1aWxkVmVyc2lvbjsKKyNlbmRpZgogCiAvKiEKICAg
ICBAbWV0aG9kIGNhbkNsb3NlQWxsV2ViVmlld3MKQEAgLTM1NSw2ICs0MjQsNTEgQEAgQ291bGQg
YmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAqLwogKyAoQk9PTCljYW5DbG9zZUFsbFdlYlZp
ZXdzOwogCisjaWYgVEFSR0VUX09TX0lQSE9ORQorLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1bWVu
dFdpdGhTdHlsZTooTlNTdHJpbmcgKilzdHlsZSBmcmFtZTooQ0dSZWN0KWZyYW1lIHByZWZlcmVu
Y2VzOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzIGdyb3VwTmFtZTooTlNTdHJpbmcgKiln
cm91cE5hbWU7CistIChpZClfZm9ybURlbGVnYXRlRm9yd2FyZGVyOworLSAoaWQpX2Zvcm1EZWxl
Z2F0ZUZvclNlbGVjdG9yOihTRUwpc2VsZWN0b3I7CistIChpZClfd2ViTWFpbERlbGVnYXRlOwor
LSAodm9pZClzZXRXZWJNYWlsRGVsZWdhdGU6KGlkKWRlbGVnYXRlOworLSAoaWQgPFdlYkNhcmV0
Q2hhbmdlTGlzdGVuZXI+KWNhcmV0Q2hhbmdlTGlzdGVuZXI7CistICh2b2lkKXNldENhcmV0Q2hh
bmdlTGlzdGVuZXI6KGlkIDxXZWJDYXJldENoYW5nZUxpc3RlbmVyPilsaXN0ZW5lcjsKKworLSAo
TlNTZXQgKiljYXJldENoYW5nZUxpc3RlbmVyczsKKy0gKHZvaWQpYWRkQ2FyZXRDaGFuZ2VMaXN0
ZW5lcjooaWQgPFdlYkNhcmV0Q2hhbmdlTGlzdGVuZXI+KWxpc3RlbmVyOworLSAodm9pZClyZW1v
dmVDYXJldENoYW5nZUxpc3RlbmVyOihpZCA8V2ViQ2FyZXRDaGFuZ2VMaXN0ZW5lcj4pbGlzdGVu
ZXI7CistICh2b2lkKXJlbW92ZUFsbENhcmV0Q2hhbmdlTGlzdGVuZXJzOworCistICh2b2lkKWNh
cmV0Q2hhbmdlZDsKKworLSAodm9pZClfZGlzcGF0Y2hVbmxvYWRFdmVudDsKKworLSAoRE9NQ1NT
U3R5bGVEZWNsYXJhdGlvbiAqKXN0eWxlQXRTZWxlY3Rpb25TdGFydDsKKworLSAoTlNVSW50ZWdl
cilfcmVuZGVyVHJlZVNpemU7CisKKy8qIQorICogQG1ldGhvZCBfaGFuZGxlTWVtb3J5V2Fybmlu
ZworICogQGRpc2N1c3Npb24gVHJ5IHRvIHJlbGVhc2UgbWVtb3J5IHNpbmNlIHdlIGdvdCBhIG1l
bW9yeSB3YXJuaW5nIGZyb20gdGhlIHN5c3RlbS4gVGhpcyBtZXRob2QgaXMKKyAqIGFsc28gdXNl
ZCBieSBvdGhlciBpbnRlcm5hbCBjbGllbnRzLiBTZWUgPHJkYXI6Ly85NTgyNTAwPi4KKyAqLwor
KyAodm9pZClfaGFuZGxlTWVtb3J5V2FybmluZzsKKworLSAodm9pZClfc2V0UmVzb3VyY2VMb2Fk
U2NoZWR1bGVyU3VzcGVuZGVkOihCT09MKXN1c3BlbmQ7CisrICh2b2lkKV9zZXRUaWxlQ2FjaGVM
YXllclBvb2xDYXBhY2l0eToodW5zaWduZWQpY2FwYWNpdHk7CisKKysgKHZvaWQpX3NldEFjY2Vs
ZXJhdGVkSW1hZ2VEZWNvZGluZzooQk9PTCllbmFibGVkOworKyAoQk9PTClfYWNjZWxlcmF0ZWRJ
bWFnZURlY29kaW5nOworKyAodm9pZClfc2V0QWxsb3dDb29raWVzOihCT09MKWFsbG93OworKyAo
Qk9PTClfYWxsb3dDb29raWVzOworKyAoQk9PTClfaXNVbmRlck1lbW9yeVByZXNzdXJlOworKyAo
dm9pZClfY2xlYXJNZW1vcnlQcmVzc3VyZTsKKysgKEJPT0wpX3Nob3VsZFdhaXRGb3JNZW1vcnlD
bGVhck1lc3NhZ2U7CisrICh2b2lkKV9yZWxlYXNlTWVtb3J5Tm93OworKyAodm9pZClfY2xlYXJQ
cml2YXRlQnJvd3NpbmdTZXNzaW9uQ29va2llU3RvcmFnZTsKKworLSAodm9pZClfcmVwbGFjZUN1
cnJlbnRIaXN0b3J5SXRlbTooV2ViSGlzdG9yeUl0ZW0gKilpdGVtOworI2VuZGlmCisKIC8vIE1h
eSB3ZWxsIGJlY29tZSBwdWJsaWMKIC0gKHZvaWQpX3NldEZvcm1EZWxlZ2F0ZTooaWQ8V2ViRm9y
bURlbGVnYXRlPilkZWxlZ2F0ZTsKIC0gKGlkPFdlYkZvcm1EZWxlZ2F0ZT4pX2Zvcm1EZWxlZ2F0
ZTsKQEAgLTQwNSwxMyArNTE5LDE3IEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJ
LgogKyAoTlNTdHJpbmcgKilfZGVjb2RlRGF0YTooTlNEYXRhICopZGF0YTsKIAogKyAodm9pZClf
c2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGg6KEJPT0wpZjsKKyNpZiAhVEFSR0VUX09T
X0lQSE9ORQogLy8gVGhpcyBpcyB0aGUgb2xkIG5hbWUgb2YgdGhlIGFib3ZlIG1ldGhvZC4gTmVl
ZGVkIGZvciBTYWZhcmkgdmVyc2lvbnMgdGhhdCBjYWxsIGl0LgogKyAodm9pZClfc2V0QWx3YXlz
VXNlQVRTVTooQk9PTClmOworI2VuZGlmCiAKICsgKHZvaWQpX3NldEFsbG93c1JvdW5kaW5nSGFj
a3M6KEJPT0wpYWxsb3dzUm91bmRpbmdIYWNrczsKICsgKEJPT0wpX2FsbG93c1JvdW5kaW5nSGFj
a3M7CiAKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQogLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKV9j
YWNoZWRSZXNwb25zZUZvclVSTDooTlNVUkwgKilVUkw7CisjZW5kaWYKIAogI2lmIEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVAogLSAodm9pZClfYWRkU2Nyb2xsZXJEYXNoYm9hcmRSZWdpb25zOihO
U011dGFibGVEaWN0aW9uYXJ5ICopcmVnaW9uczsKQEAgLTQyNCwxMSArNTQyLDM3IEBAIENvdWxk
IGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJLgogKyAodm9pZClfc2V0U2hvdWxkVXNlRm9udFNt
b290aGluZzooQk9PTClmOwogKyAoQk9PTClfc2hvdWxkVXNlRm9udFNtb290aGluZzsKIAorI2lm
ICFUQVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSB0d28gbWV0aG9kcyBhcmUgdXNlZnVsIGZvciBh
IHRlc3QgaGFybmVzcyB0aGF0IG5lZWRzIGEgY29uc2lzdGVudCBhcHBlYXJhbmNlIGZvciB0aGUg
Zm9jdXMgcmluZ3MKIC8vIHJlZ2FyZGxlc3Mgb2YgT1MgWCB2ZXJzaW9uLgogKyAodm9pZClfc2V0
VXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3I6KEJPT0wpZjsKICsgKEJPT0wpX3VzZXNUZXN0TW9k
ZUZvY3VzUmluZ0NvbG9yOworI2VuZGlmCisKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistICh2b2lk
KV9zZXRVSUtpdERlbGVnYXRlOihpZClkZWxlZ2F0ZTsKKy0gKGlkKV9VSUtpdERlbGVnYXRlOwor
LSAodm9pZClfY2xlYXJEZWxlZ2F0ZXM7CisKKy0gKE5TVVJMICopX2Rpc3BsYXlVUkw7CisKKysg
KE5TQXJyYXkgKilfcHJvZHVjdGl2aXR5RG9jdW1lbnRNSU1FVHlwZXM7CisKKy0gKHZvaWQpX3Nl
dEFsbG93c01lc3NhZ2luZzooQk9PTClhRmxhZzsKKy0gKEJPT0wpX2FsbG93c01lc3NhZ2luZzsK
KworLSAodm9pZClfc2V0TmV0d29ya1N0YXRlSXNPbmxpbmU6KEJPT0wpaXNPbkxpbmU7CisKKy0g
KHZvaWQpX3NldEN1c3RvbUZpeGVkUG9zaXRpb25MYXlvdXRSZWN0SW5XZWJUaHJlYWQ6KENHUmVj
dClyZWN0IHN5bmNocm9uaXplOihCT09MKXN5bmNocm9uaXplOworLSAodm9pZClfc2V0Q3VzdG9t
Rml4ZWRQb3NpdGlvbkxheW91dFJlY3Q6KENHUmVjdClyZWN0OworCistIChXZWJGaXhlZFBvc2l0
aW9uQ29udGVudCopX2ZpeGVkUG9zaXRpb25Db250ZW50OworCistICh2b2lkKV92aWV3R2VvbWV0
cnlEaWRDaGFuZ2U7CistICh2b2lkKV9vdmVyZmxvd1Njcm9sbFBvc2l0aW9uQ2hhbmdlZFRvOihD
R1BvaW50KW9mZnNldCBmb3JOb2RlOihET01Ob2RlICopbm9kZSBpc1VzZXJTY3JvbGw6KEJPT0wp
dXNlclNjcm9sbDsKKyNlbmRpZgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8qIQogICAgIEBt
ZXRob2Qgc2V0QWx3YXlzU2hvd1ZlcnRpY2FsU2Nyb2xsZXI6CiAgICAgQHJlc3VsdCBGb3JjZXMg
dGhlIHZlcnRpY2FsIHNjcm9sbGVyIHRvIGJlIHZpc2libGUgaWYgZmxhZyBpcyBZRVMsIG90aGVy
d2lzZQpAQCAtNDY3LDYgKzYxMSw3NyBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQ
SS4KICAgICBAYWJzdHJhY3QgU2V0cyBhZGRpdGlvbmFsIHBsdWdpbiBzZWFyY2ggcGF0aHMgZm9y
IGEgc3BlY2lmaWMgV2ViVmlldy4KICAqLwogLSAodm9pZClfc2V0QWRkaXRpb25hbFdlYlBsdWdJ
blBhdGhzOihOU0FycmF5ICopbmV3UGF0aHM7CisjZW5kaWYgLyogIVRBUkdFVF9PU19JUEhPTkUg
Ki8KKworI2lmIFRBUkdFVF9PU19JUEhPTkUKKy8qIQorICAgIEBtZXRob2QgX3BsdWdpbnNBcmVS
dW5uaW5nCisgICAgQHJlc3VsdCBSZXR1cm5zIFlFUyBpZiBhbnkgcGx1Zy1pbnMgaW4gdGhlIFdl
YlZpZXcgYXJlIHJ1bm5pbmcuCisgKi8KKy0gKEJPT0wpX3BsdWdpbnNBcmVSdW5uaW5nOworLyoh
CisgICAgQG1ldGhvZCBfZGVzdHJveUFsbFBsdWdJbnMKKyAgICBAYWJzdHJhY3QgRGVzdHJveXMg
YWxsIHBsdWctaW5zIGluIGFsbCBvZiB0aGUgV2ViVmlldydzIGZyYW1lcy4KKyAqLworLSAodm9p
ZClfZGVzdHJveUFsbFBsdWdJbnM7CisvKiEKKyAgICBAbWV0aG9kIF9zdGFydEFsbFBsdWdJbnMK
KyAgICBAYWJzdHJhY3QgU3RhcnRzIGFsbCBwbHVnLWlucyBpbiBhbGwgb2YgdGhlIFdlYlZpZXcn
cyBmcmFtZXMuCisgKi8KKy0gKHZvaWQpX3N0YXJ0QWxsUGx1Z0luczsKKy8qIQorICAgIEBtZXRo
b2QgX3N0b3BBbGxQbHVnSW5zCisgICAgQGFic3RyYWN0IFN0b3BzIGFsbCBwbHVnLWlucyBpbiBh
bGwgb2YgdGhlIFdlYlZpZXcncyBmcmFtZXMuCisgKi8KKy0gKHZvaWQpX3N0b3BBbGxQbHVnSW5z
OworLyohCisgICAgQG1ldGhvZCBfc3RvcEFsbFBsdWdJbnNGb3JQYWdlQ2FjaGUKKyAgICBAYWJz
dHJhY3QgU3RvcHMgYWxsIHBsdWctaW5zIGluIGFsbCBvZiB0aGUgV2ViVmlldydzIGZyYW1lcy4K
KyAgICBDYWxsZWQgd2hlbiB0aGUgcGFnZSBpcyBlbnRlcmluZyB0aGUgUGFnZUNhY2hlIGFuZCBs
ZXRzIHRoZQorICAgIHBsdWctaW4ga25vdyB0aGlzIGJ5IHNlbmRpbmcgLXdlYlBsdWdJblN0b3BG
b3JQYWdlQ2FjaGUuCisqLworLSAodm9pZClfc3RvcEFsbFBsdWdJbnNGb3JQYWdlQ2FjaGU7Cisv
KiEKKyAgICBAbWV0aG9kIF9yZXN0b3JlUGx1Z0luc0Zyb21DYWNoZQorICAgIEBhYnN0cmFjdCBS
ZWNvbm5lY3RzIHBsdWctaW5zIGZyb20gYWxsIG9mIHRoZSBXZWJWaWV3J3MgZnJhbWVzIHRvIHRo
ZQorICAgIFdlYlZpZXcgYW5kIHBlcmZvcm1zIGFueSBvdGhlciBuZWNlc3NhcnkgcmVpbml0aWFs
aXphdGlvbi4KKyAqLworLSAodm9pZClfcmVzdG9yZVBsdWdJbnNGcm9tQ2FjaGU7CisKKy8qIQor
ICAgIEBtZXRob2QgX3NldE1lZGlhTGF5ZXI6Zm9yUGx1Z2luVmlldzoKKyAgICBAYWJzdHJhY3Qg
U2V0IHRoZSBsYXllciB0aGF0IHJlbmRlcnMgcGx1Zy1pbiBjb250ZW50IGZvciB0aGUgZ2l2ZW4g
cGx1Z2luVmlldy4KKyAgICBJZiBsYXllciBpcyBOVUxMLCByZW1vdmVzIGFueSBleGlzdGluZyBs
YXllci4gUmV0dXJucyBZRVMgaWYgdGhlIHNldCBvcgorICAgIHJlbW92ZSB3YXMgc3VjY2Vzc2Z1
bC4KKyAqLworLSAoQk9PTClfc2V0TWVkaWFMYXllcjooQ0FMYXllciopbGF5ZXIgZm9yUGx1Z2lu
VmlldzooTlNWaWV3KilwbHVnaW5WaWV3OworCisvKiEKKyAgICBAbWV0aG9kIF9jbGVhckJhY2tG
b3J3YXJkQ2FjaGUKKyAgICBAYWJzdHJhY3QgQ2xlYXIncyB0aGlzIFdlYlZpZXcncyBiYWNrL2Zv
cndhcmQgY2FjaGUgb24gdGhlIFdlYlRocmVhZC4KKyAqLworLSAodm9pZClfY2xlYXJCYWNrRm9y
d2FyZENhY2hlOworCisvKiEKKyBAbWV0aG9kIF93YW50c1RlbGVwaG9uZU51bWJlclBhcnNpbmcK
KyBAYWJzdHJhY3QgRG9lcyB0aGlzIFdlYlZpZXcgd2FudCBwaG9uZSBudW1iZXIgcGFyc2luZz8g
KFRoaXMgY291bGQgdWx0aW1hdGVseSBiZSBkaXNhbGxvd2VkIGJ5IHRoZSBkb2N1bWVudCBpdHNl
bGYpLgorICovCisKKy0gKEJPT0wpX3dhbnRzVGVsZXBob25lTnVtYmVyUGFyc2luZzsKKworLyoh
CisgQG1ldGhvZCBfc2V0V2FudHNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nCisgQGFic3RyYWN0IEV4
cGxpY2l0bHkgZGlzYWJsZSBXZWJLaXQgcGhvbmUgbnVtYmVyIHBhcnNpbmcgb24gdGhpcyBXZWJW
aWV3LCBvciBzYXkgdGhhdCB5b3Ugd2FudCBpdCBlbmFibGVkIGlmIHBvc3NpYmxlLgorICovCisK
Ky0gKHZvaWQpX3NldFdhbnRzVGVsZXBob25lTnVtYmVyUGFyc2luZzooQk9PTClmbGFnOworCisv
KiEKKyAgICBAbWV0aG9kIF9zZXROZWVkc1VucmVzdHJpY3RlZEdldE1hdGNoZWRDU1NSdWxlcwor
ICAgIEBhYnN0cmFjdCBFeHBsaWNpdGx5IGVuYWJsZXMvZGlzYWJsZXMgY3Jvc3Mgb3JpZ2luIENT
UyBydWxlcyBtYXRjaGluZy4KKyAqLworLSAodm9pZClfc2V0TmVlZHNVbnJlc3RyaWN0ZWRHZXRN
YXRjaGVkQ1NTUnVsZXM6KEJPT0wpZmxhZzsKKyNlbmRpZiAvKiBUQVJHRVRfT1NfSVBIT05FICov
CiAKIC8qIQogICAgIEBtZXRob2QgX3NldEluVmlld1NvdXJjZU1vZGU6CkBAIC01MjAsNyArNzM1
LDkgQEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAtICh2b2lkKWhhbmRsZUF1
dGhlbnRpY2F0aW9uRm9yUmVzb3VyY2U6KGlkKWlkZW50aWZpZXIgY2hhbGxlbmdlOihOU1VSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlIGZyb21EYXRhU291cmNlOihXZWJEYXRh
U291cmNlICopZGF0YVNvdXJjZTsKICNlbmRpZgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0g
KHZvaWQpX2NsZWFyVW5kb1JlZG9PcGVyYXRpb25zOworI2VuZGlmCiAKIC8qIFVzZWQgdG8gZG8g
ZmFzdCAobG93ZXIgcXVhbGl0eSkgc2NhbGluZyBvZiBpbWFnZXMgc28gdGhhdCB3aW5kb3cgcmVz
aXplIGNhbiBiZSBxdWljay4gKi8KIC0gKEJPT0wpX2luRmFzdEltYWdlU2NhbGluZ01vZGU7CkBA
IC01NDIsNyArNzU5LDkgQEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAtICh2
b2lkKXNldE1lbW9yeUNhY2hlRGVsZWdhdGVDYWxsc0VuYWJsZWQ6KEJPT0wpc3VzcGVuZDsKIC0g
KEJPT0wpYXJlTWVtb3J5Q2FjaGVEZWxlZ2F0ZUNhbGxzRW5hYmxlZDsKIAorI2lmICFUQVJHRVRf
T1NfSVBIT05FCiArIChOU0N1cnNvciAqKV9wb2ludGluZ0hhbmRDdXJzb3I7CisjZW5kaWYKIAog
Ly8gU1BJIGZvciBEdW1wUmVuZGVyVHJlZQogLSAoQk9PTClfcG9zdHNBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTm90aWZpY2F0aW9uczsKQEAgLTU2OCw4ICs3ODcsMTAgQEAgQ291bGQgYmUgd29ydGgg
YWRkaW5nIHRvIHRoZSBBUEkuCiAtICh2b2lkKXJlc2V0VHJhY2tlZFJlcGFpbnRzOwogLSAoTlNB
cnJheSopdHJhY2tlZFJlcGFpbnRSZWN0czsgLy8gUmV0dXJuZWQgYXJyYXkgY29udGFpbnMgcmVj
dFZhbHVlIE5TVmFsdWVzLgogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIFdoaWNoIHBhc3Rl
Ym9hcmQgdGV4dCBpcyBjb21pbmcgZnJvbSBpbiBlZGl0aW5nIGRlbGVnYXRlIG1ldGhvZHMgc3Vj
aCBhcyBzaG91bGRJbnNlcnROb2RlLgogLSAoTlNQYXN0ZWJvYXJkICopX2luc2VydGlvblBhc3Rl
Ym9hcmQ7CisjZW5kaWYKIAogLy8gV2hpdGVsaXN0cyBhY2Nlc3MgZnJvbSBhbiBvcmlnaW4gKHNv
dXJjZU9yaWdpbikgdG8gYSBzZXQgb2Ygb25lIG9yIG1vcmUgb3JpZ2lucyBkZXNjcmliZWQgYnkg
dGhlIHBhcmFtZXRlcnM6CiAvLyAtIGRlc3RpbmF0aW9uUHJvdG9jb2w6IFRoZSBwcm90b2NvbCB0
byBncmFudCBhY2Nlc3MgdG8uCkBAIC02NTMsOCArODc0LDEwIEBAIENvdWxkIGJlIHdvcnRoIGFk
ZGluZyB0byB0aGUgQVBJLgogLSAoQ0dGbG9hdClfZ2FwQmV0d2VlblBhZ2VzOwogLSAoTlNVSW50
ZWdlcilfcGFnZUNvdW50OwogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC0gKHZvaWQpX3NldEN1
c3RvbUJhY2tpbmdTY2FsZUZhY3RvcjooQ0dGbG9hdClvdmVycmlkZVNjYWxlRmFjdG9yOwogLSAo
Q0dGbG9hdClfYmFja2luZ1NjYWxlRmFjdG9yOworI2VuZGlmCiAKIC8vIERlcHJlY2F0ZWQuIFVz
ZSB0aGUgbWV0aG9kcyBpbiBwZW5kaW5nIHB1YmxpYyBhYm92ZSBpbnN0ZWFkLgogLSAoTlNVSW50
ZWdlciltYXJrQWxsTWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIGNhc2VTZW5zaXRp
dmU6KEJPT0wpY2FzZUZsYWcgaGlnaGxpZ2h0OihCT09MKWhpZ2hsaWdodCBsaW1pdDooTlNVSW50
ZWdlcilsaW1pdDsKQEAgLTY5Niw2ICs5MTksNyBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8g
dGhlIEFQSS4KIAogQGVuZAogCisjaWYgIVRBUkdFVF9PU19JUEhPTkUKIEBpbnRlcmZhY2UgV2Vi
VmlldyAoV2ViVmlld1ByaW50aW5nUHJpdmF0ZSkKIC8qIQogICAgIEBtZXRob2QgX2FkanVzdFBy
aW50aW5nTWFyZ2luc0ZvckhlYWRlckFuZEZvb3RlcjoKQEAgLTc0Nyw2ICs5NzEsNyBAQCBDb3Vs
ZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4KIC0gKHZvaWQpc2V0QXV0b21hdGljU3BlbGxp
bmdDb3JyZWN0aW9uRW5hYmxlZDooQk9PTClmbGFnOwogLSAodm9pZCl0b2dnbGVBdXRvbWF0aWNT
cGVsbGluZ0NvcnJlY3Rpb246KGlkKXNlbmRlcjsKIEBlbmQKKyNlbmRpZiAvKiAhVEFSR0VUX09T
X0lQSE9ORSAqLwogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdFZGl0aW5nSW5NYWlsKQog
LSAodm9pZClfaW5zZXJ0TmV3bGluZUluUXVvdGVkQ29udGVudDsKQEAgLTc2Miw2ICs5ODcsMTUg
QEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAtIChpZDxXZWJEZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyPilfZGV2aWNlT3JpZW50YXRpb25Qcm92aWRlcjsKIEBlbmQKIAorI2lm
IFRBUkdFVF9PU19JUEhPTkUKK0Bwcm90b2NvbCBXZWJHZW9sb2NhdGlvblByb3ZpZGVyOworCitA
cHJvdG9jb2wgV2ViR2VvbG9jYXRpb25Qcm92aWRlckluaXRpYWxpemF0aW9uTGlzdGVuZXIgPE5T
T2JqZWN0PgorLSAodm9pZClpbml0aWFsaXphdGlvbkFsbG93ZWRXZWJWaWV3OihXZWJWaWV3ICop
d2ViVmlldyBwcm92aWRlcjooaWQ8V2ViR2VvbG9jYXRpb25Qcm92aWRlcj4pcHJvdmlkZXI7Cist
ICh2b2lkKWluaXRpYWxpemF0aW9uRGVuaWVkV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcgcHJv
dmlkZXI6KGlkPFdlYkdlb2xvY2F0aW9uUHJvdmlkZXI+KXByb3ZpZGVyOworQGVuZAorI2VuZGlm
CisKIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViVmlld1VzZXJNZWRpYSkKIC0gKHZvaWQpX3NldFVz
ZXJNZWRpYUNsaWVudDooaWQ8V2ViVXNlck1lZGlhQ2xpZW50Pil1c2VyTWVkaWFDbGllbnQ7CiAt
IChpZDxXZWJVc2VyTWVkaWFDbGllbnQ+KV91c2VyTWVkaWFDbGllbnQ7CkBAIC03NzEsNiArMTAw
NSwxMiBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4KIC0gKHZvaWQpcmVnaXN0
ZXJXZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQpdW5yZWdpc3RlcldlYlZpZXc6
KFdlYlZpZXcgKil3ZWJWaWV3OwogLSAoV2ViR2VvbG9jYXRpb25Qb3NpdGlvbiAqKWxhc3RQb3Np
dGlvbjsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCistICh2b2lkKXNldEVuYWJsZUhpZ2hBY2N1cmFj
eTooQk9PTCllbmFibGVIaWdoQWNjdXJhY3k7CistICh2b2lkKWluaXRpYWxpemVHZW9sb2NhdGlv
bkZvcldlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGxpc3RlbmVyOihpZDxXZWJHZW9sb2NhdGlv
blByb3ZpZGVySW5pdGlhbGl6YXRpb25MaXN0ZW5lcj4pbGlzdGVuZXI7CistICh2b2lkKWNhbmNl
bFdhcm1VcEZvcldlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3OworLSAodm9pZClzdG9wVHJhY2tp
bmdXZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldzsKKyNlbmRpZgogQGVuZAogCiBAcHJvdG9jb2wg
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIKQEAgLTc5NCw2ICsxMDM0LDkgQEAgQ291bGQgYmUgd29y
dGggYWRkaW5nIHRvIHRoZSBBUEkuCiAKIC0gKHZvaWQpX2dlb2xvY2F0aW9uRGlkQ2hhbmdlUG9z
aXRpb246KFdlYkdlb2xvY2F0aW9uUG9zaXRpb24gKilwb3NpdGlvbjsKIC0gKHZvaWQpX2dlb2xv
Y2F0aW9uRGlkRmFpbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKWVycm9yTWVzc2FnZTsKKyNpZiBU
QVJHRVRfT1NfSVBIT05FCistICh2b2lkKV9yZXNldEFsbEdlb2xvY2F0aW9uUGVybWlzc2lvbjsK
KyNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdOb3RpZmljYXRpb24p
CkBAIC04MDcsNiArMTA1MCwxNiBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4K
IC0gKHVpbnQ2NF90KV9ub3RpZmljYXRpb25JREZvclRlc3Rpbmc6KEpTVmFsdWVSZWYpanNOb3Rp
ZmljYXRpb247CiBAZW5kCiAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCitAaW50ZXJmYWNlIFdlYlZp
ZXcgKFdlYlZpZXdJT1NQREYpCisrIChDbGFzcylfZ2V0UERGUmVwcmVzZW50YXRpb25DbGFzczsK
KysgKHZvaWQpX3NldFBERlJlcHJlc2VudGF0aW9uQ2xhc3M6KENsYXNzKXBkZlJlcHJlc2VudGF0
aW9uQ2xhc3M7CisKKysgKENsYXNzKV9nZXRQREZWaWV3Q2xhc3M7CisrICh2b2lkKV9zZXRQREZW
aWV3Q2xhc3M6KENsYXNzKXBkZlZpZXdDbGFzczsKK0BlbmQKKyNlbmRpZgorCiBAaW50ZXJmYWNl
IE5TT2JqZWN0IChXZWJWaWV3RnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKQogLSAodm9pZCl3ZWJW
aWV3OihXZWJWaWV3ICopc2VuZGVyIGRpZEZpcnN0TGF5b3V0SW5GcmFtZTooV2ViRnJhbWUgKilm
cmFtZTsKIAo=
</data>
<flag name="review"
          id="242861"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>