<?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>233210</bug_id>
          
          <creation_ts>2021-11-16 13:38:53 -0800</creation_ts>
          <short_desc>[Live Text] Plumb an identifier string through `ChromeClient::requestTextRecognition()`</short_desc>
          <delta_ts>2021-11-17 19:13:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233075</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>akeerthi</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bdakin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>samuel_white</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1815625</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-16 13:38:53 -0800</bug_when>
    <thetext>Work towards various Live Text enhancements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815674</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-16 15:07:07 -0800</bug_when>
    <thetext>rdar://83173238</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815694</commentid>
    <comment_count>2</comment_count>
      <attachid>444445</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-16 15:43:00 -0800</bug_when>
    <thetext>Created attachment 444445
Depends on #233075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816072</commentid>
    <comment_count>3</comment_count>
      <attachid>444553</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-17 12:44:50 -0800</bug_when>
    <thetext>Created attachment 444553
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816075</commentid>
    <comment_count>4</comment_count>
      <attachid>444555</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-17 12:49:41 -0800</bug_when>
    <thetext>Created attachment 444555
Remove redundant PAL ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816082</commentid>
    <comment_count>5</comment_count>
      <attachid>444558</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-17 13:19:14 -0800</bug_when>
    <thetext>Created attachment 444558
Remove unnecessary WebCore namespacing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816099</commentid>
    <comment_count>6</comment_count>
      <attachid>444568</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-17 14:01:14 -0800</bug_when>
    <thetext>Created attachment 444568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816228</commentid>
    <comment_count>7</comment_count>
      <attachid>444613</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-17 17:07:39 -0800</bug_when>
    <thetext>Created attachment 444613
Update ChangeLog date</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816277</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-17 19:13:23 -0800</bug_when>
    <thetext>Committed r285973 (244370@main): &lt;https://commits.webkit.org/244370@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444613.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444445</attachid>
            <date>2021-11-16 15:43:00 -0800</date>
            <delta_ts>2021-11-17 12:44:49 -0800</delta_ts>
            <desc>Depends on #233075</desc>
            <filename>bug-233210-20211116154300.patch</filename>
            <type>text/plain</type>
            <size>26899</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmIxODliZjYwY2I1M2Jl
ZjBjYmRiNjcyYTVjYjY4MDEyNjUyZTgwZi4uNzBkYWJkMjBjNTEzYjg5MTA5MjQ4OTJhMWZmODli
MmIwNDA1ZGI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRd
IFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElt
YWdlOjppbWFnZU92ZXJsYXlFbGVtZW50cyk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlv
bik6CisgICAgICAgICogcGFnZS9JbWFnZUFuYWx5c2lzUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VBbmFseXNpc1F1ZXVlOjpyZXN1bWVQcm9jZXNzaW5nKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlcXVl
c3RUZXh0UmVjb2duaXRpb24pOgorCiAyMDIxLTExLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGlu
YXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggODQwNjMy
NjljMGVjZGJkNWMwNzg2ZGY3NzFiMTkzODM0MmZhNzQ4NC4uNTU5ZDc2MTQyOTc3YTYyNjUyNGVk
MjE3YWNjMTQ3NjFmOTAxMDA2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMTEtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBXZWJLaXRBZGRpdGlvbnMgZXh0ZW5z
aW9uIHBvaW50LgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmg6
CisKIDIwMjEtMTEtMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBhbm90aGVyIDxtb2RlbD4gYmFja2VuZCBiYWNrZWQgYnkgU2NlbmVLaXQgdG8gcHJvdmUg
b3V0IE1vZGVsUGxheWVyIGluZnJhc3RydWN0dXJlIGEgYml0IG1vcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWVh
YjdhYjM5YzJmYmJjYzAwMTM1NGE1YzNiZTBiMDM3NzE5NjlhYi4uODQ5YjVlMWE2MWZiMmQyZWQ0
M2NkNzRhZDJmYzFiZGY1YzM0MTJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAyMS0x
MS0xNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBb
TGl2ZSBUZXh0XSBQbHVtYiBhbiBpZGVudGlmaWVyIHN0cmluZyB0aHJvdWdoIGBDaHJvbWVDbGll
bnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKWAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzIxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBvcHRpb25hbCAoaS5lLiBudWxsLWJ5LWRlZmF1
bHQpIGlkZW50aWZpZXIgc3RyaW5nIHRvIHRoZSBgcmVxdWVzdFRleHRSZWNvZ25pdGlvbigpYCBX
ZWJLaXQgY2xpZW50IGhvb2ssCisgICAgICAgIGFuZCBjYWxsIGludG8gYSBuZXcgaGVscGVyIGZ1
bmN0aW9uIGluIFRleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oLCB0aGF0J3MgaW1wbGVtZW50ZWQg
aW4gV2ViS2l0QWRkaXRpb25zICh3aXRoCisgICAgICAgIGFuIGVtcHR5IHN0dWIgaW4gb3BlbiBz
b3VyY2UgY29kZSkuCisKKyAgICAgICAgU2VlIGNvcnJlc3BvbmRpbmcgcmFkYXIgZm9yIG1vcmUg
aW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25V
dGlsaXRpZXMuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGls
aXRpZXMubW06CisgICAgICAgIChXZWJLaXQ6OnJlcXVlc3RJbWFnZUFuYWx5c2lzV2l0aElkZW50
aWZpZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlRGF0YTppZGVu
dGlmaWVyOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJl
cXVlc3RUZXh0UmVjb2duaXRpb246aW1hZ2VEYXRhOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29nbml0
aW9uKToKKwogMjAyMS0xMS0xNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBoZWxwZXIgY2xhc3MgdG8gY29vcmRpbmF0ZSBiYXRjaCBhbmFs
eXNpcyBvZiBpbWFnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL1Zpc2lvbktpdENvcmVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L1Zpc2lvbktpdENvcmVTUEkuaAppbmRleCBhNzdlNjEzYzE4MWVkMjkxMGM2NmZkMDU1YTY5OTg5
MWQ3NDYwOWExLi45MGVhNzQ3NjQxY2VhZjhiMzVlYTNiZWU2NGY2NDM0ZWUzZjE0YmM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJ
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvVmlzaW9uS2l0Q29yZVNQ
SS5oCkBAIC0xNDYsNCArMTQ2LDggQEAgTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKICNlbmRpZgog
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMv
VmlzaW9uS2l0Q29yZVNQSUFkZGl0aW9ucy5oPgorI2VuZGlmCisKICNlbmRpZiAvLyBIQVZFKFZL
X0lNQUdFX0FOQUxZU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAK
aW5kZXggNmY2OGU3MTUzZTQ4NjE1MjZlNjJmZDFhNzJiNDhmZWI0YTA1M2JiMS4uNzVmZWE4YjE1
MmIxNmU2OTVkNjRlMjk5MmQ5MzgzYTg2Y2ZlMjJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYSW1hZ2UuY3BwCkBAIC03Miw3ICs3Miw3IEBAIHN0ZDo6b3B0aW9uYWw8QVhDb3Jl
T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3I+IEFYSW1hZ2U6OmltYWdlT3Zlcmxh
eUVsCiAgICAgaWYgKCFlbGVtZW50KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0g
ICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVu
dCwgW10gKFJlZlB0cjxFbGVtZW50PiYmIGltYWdlT3ZlcmxheUhvc3QpIHsKKyAgICBwYWdlLT5j
aHJvbWUoKS5jbGllbnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKCplbGVtZW50LCB7IH0sIFtd
IChSZWZQdHI8RWxlbWVudD4mJiBpbWFnZU92ZXJsYXlIb3N0KSB7CiAgICAgICAgIGlmICghaW1h
Z2VPdmVybGF5SG9zdCkKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKaW5kZXggYzVlZDliOGMxMmQ0NTgxN2UzMDQ2Y2ZkODU1NDUwNWY0ZTRmMDUxNC4u
ZTEzZTM4N2QxOTE2OGFjNWZkMzU5YjJlNjE2ZDQzZGQzZjE3NTAyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCkBAIC01ODUsNyArNTg1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0UmVj
b2duaXRpb24oRWxlbWVudCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+
JiYpPiYmIGNvbXBsZXRpb24gPSB7IH0pCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0UmVj
b2duaXRpb24oRWxlbWVudCYsIGNvbnN0IFN0cmluZyYgPSB7IH0sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24gPSB7IH0pCiAgICAgewogICAg
ICAgICBpZiAoY29tcGxldGlvbikKICAgICAgICAgICAgIGNvbXBsZXRpb24oeyB9KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFseXNpc1F1ZXVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFseXNpc1F1ZXVlLmNwcAppbmRleCBlMDg0ZGM0OWM2NmJi
NDliOGUyMTQ0MDQyNDk5YjNmOWMzNTM3OWU1Li4zMTVhYTBmNWIyMDE4YTE4Yzg1NDk1M2ZlMzgw
YTgwMDliODljZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlz
aXNRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbWFnZUFuYWx5c2lzUXVldWUu
Y3BwCkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgSW1hZ2VBbmFseXNpc1F1ZXVlOjpyZXN1bWVQcm9j
ZXNzaW5nKCkKIAogICAgICAgICBtX3BlbmRpbmdSZXF1ZXN0Q291bnQrKzsKICAgICAgICAgbV9w
YWdlLT5yZXNldFRleHRSZWNvZ25pdGlvblJlc3VsdCgqZWxlbWVudCk7Ci0gICAgICAgIG1fcGFn
ZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgW3Ro
aXMsIHBhZ2UgPSBtX3BhZ2VdIChhdXRvJiYpIHsKKyAgICAgICAgbV9wYWdlLT5jaHJvbWUoKS5j
bGllbnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKCplbGVtZW50LCBpZGVudGlmaWVyLCBbdGhp
cywgcGFnZSA9IG1fcGFnZV0gKGF1dG8mJikgewogICAgICAgICAgICAgaWYgKCFwYWdlKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IGE1ZWNlMDgxMGJmZWU0NjAxZDAwZWRjNmJjNWQ3YWRlMDEwNWM3ZDAuLjg1NWVlNjBiNzY4
Nzk3Mjk3MGRjYzM3Yjc2NzlkOTllNWYyODFjZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTU3OTEsNyArNTc5MSw3IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKEVsZW1lbnQmIGVsZW1lbnQsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYKICAg
ICB9CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgcGFnZS0+Y2hyb21lKCkuY2xp
ZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbihlbGVtZW50LCBbY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKV0gKGF1dG8mJikgeworICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVl
c3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgeyB9LCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0gKGF1dG8mJikgewogICAgICAgICBpZiAoY2FsbGJhY2spCiAgICAgICAgICAgICBjYWxs
YmFjay0+aGFuZGxlRXZlbnQoKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCmluZGV4IDEwZDk0OWI3
ODU4OTBmNmM4Y2U5NzFmYzQwOGM0ODk3MDZiYzFmMTUuLjFhMWU0YzcyODk5NjMzYmVkNjA0MTNj
MTg0YjYzNmFlMTFiMjU0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaApAQCAtMjgsNiArMjgsNyBAQAogI2lm
IEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9WaXNpb25L
aXRDb3JlU1BJLmg+CisjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNiArNDQsOCBA
QCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgbWFrZVRleHRSZWNvZ25pdGlvblJlc3Vs
dChWS0ltYWdlQW5hbHlzaXMgKik7CiBSZXRhaW5QdHI8VktJbWFnZUFuYWx5emVyPiBjcmVhdGVJ
bWFnZUFuYWx5emVyKCk7CiBSZXRhaW5QdHI8VktJbWFnZUFuYWx5emVyUmVxdWVzdD4gY3JlYXRl
SW1hZ2VBbmFseXplclJlcXVlc3QoQ0dJbWFnZVJlZiwgVktBbmFseXNpc1R5cGVzKTsKIAordm9p
ZCByZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVyKFZLSW1hZ2VBbmFseXplciAqLCBO
U1N0cmluZyAqaWRlbnRpZmllciwgQ0dJbWFnZVJlZiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
ZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOworCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IGY3NjhiYjc0NGNmNmU4
MDRjODNiNjE0NmZiZWY4YTcxMjkwMTM3ZWUuLmJmOWRhNGFjNzk1Y2E3Mzg0ZDI3NTVkNDJjM2E5
ZTZhMzJmMjBjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4
dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0xMzgsNiArMTM4LDExIEBAIHN0YXRp
YyBib29sIGlzTGl2ZVRleHRFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBy
ZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVyKFZLSW1hZ2VBbmFseXplciAqLCBOU1N0
cmluZyAqLCBDR0ltYWdlUmVmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlv
blJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQoreworICAgIGNvbXBsZXRpb24oeyB9KTsKK30KKwog
I2VuZGlmCiAKIGJvb2wgaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggYjc3ZDRjMDdjYjA3MzIw
MDk3NGJkMzBhMzRjNzdmODBlMjg5M2RlMC4uM2Y2ZGQxZjI0MmU3YTExNWVjZjc5ODM5MGYzNGI2
MzVjNmU4ZDZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oCkBAIC01OTgsNyArNTk4LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkUmVxdWVzdENh
bmRpZGF0ZXMoKSBjb25zdDsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2b2lk
IHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOworICAgIHZvaWQgcmVxdWVzdFRleHRS
ZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKICAgICB2b2lk
IGNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFy
ZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA0YTk3MDBhMGYwM2EzZTIxODEyYTEyNjNjNTEy
M2Q3NTg4NTAxY2EyLi42MDBmMjlmYjQ1ZjQ1ZTk4ZDY0ZjA4MGM3OWY0YTY4YzgwMjExNzA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjA0
LDcgKzIwNCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8VktJbWFnZUFuYWx5emVyUmVxdWVzdD4gY3Jl
YXRlSW1hZ2VBbmFseXplclJlcXVlc3QoQ0dJbWFnZVJlZiBpCiAgICAgcmV0dXJuIHJlcXVlc3Q7
CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJM
JiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYg
Y29tcGxldGlvbikKK3ZvaWQgV2ViVmlld0ltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29u
c3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0
YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQogewogICAgIGlmICgh
aXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkgewogICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CkBAIC0yMTgsNiArMjE4LDkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNv
Z25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXQKICAgICB9CiAK
ICAgICBhdXRvIGNnSW1hZ2UgPSBpbWFnZUJpdG1hcC0+bWFrZUNHSW1hZ2UoKTsKKyAgICBpZiAo
IWlkZW50aWZpZXIuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcmVxdWVzdEltYWdlQW5hbHlz
aXNXaXRoSWRlbnRpZmllcihlbnN1cmVJbWFnZUFuYWx5emVyKCksIGlkZW50aWZpZXIsIGNnSW1h
Z2UuZ2V0KCksIFdURk1vdmUoY29tcGxldGlvbikpOworCiAgICAgYXV0byByZXF1ZXN0ID0gY3Jl
YXRlSW1hZ2VBbmFseXplclJlcXVlc3QoY2dJbWFnZS5nZXQoKSwgaW1hZ2VVUkwsIFtOU1VSTCBf
d2ViX1VSTFdpdGhXVEZTdHJpbmc6bV9wYWdlLT5jdXJyZW50VVJMKCldLCBWS0FuYWx5c2lzVHlw
ZVRleHQpOwogICAgIGF1dG8gc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAg
W2Vuc3VyZUltYWdlQW5hbHl6ZXIoKSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0LmdldCgpIHByb2dy
ZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9u
ID0gV1RGTW92ZShjb21wbGV0aW9uKSwgc3RhcnRUaW1lXSAoVktJbWFnZUFuYWx5c2lzICphbmFs
eXNpcywgTlNFcnJvciAqKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAppbmRleCA1ZTJlYzc1NTk5YzU2YWNhNTQ2YmFkMmE1YzYzZGVlMWEwYTY3MzJmLi5jNDg1Yzdm
YzMxM2VhMDgzM2ZjNjA2MjY3MTY5ZDY5MmE4MjQwOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCkBAIC01NDcsNyArNTQ3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBF
TkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0UmVjb2du
aXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUm
IGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRp
b25SZXN1bHQmJik+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9uKHsgfSk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25z
dCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVz
dWx0JiYpPiYmIGNvbXBsZXRpb24pIHsgY29tcGxldGlvbih7IH0pOyB9CiAgICAgdmlydHVhbCB2
b2lkIGNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmLCBTaGFyZWFibGVC
aXRtYXAmLCBJbWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JiBjb21wbGV0aW9uKSB7IGNvbXBsZXRpb24oZmFsc2UpOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYWM3NjgyMTM4N2Y3MjhkYzhhMzYy
MzYzODU3YTM1ZDE2M2FlMTFhMy4uMDllOTc4MmNmZmZkYjUzMzYwNDA2YWI1ZmIyYjQ4Nzg4NjNl
OWMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NjEz
LDkgKzg2MTMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2VzcyhGcmFtZUlkZW50aWZpZXIgZgogCiAjaWYgRU5BQkxFKElNQUdF
X0FOQUxZU0lTKQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihj
b25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VE
YXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgcGFnZUNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1h
Z2VVUkwsIGltYWdlRGF0YSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIHBhZ2VD
bGllbnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIGlkZW50
aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJv
eHk6OmNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBT
aGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSB0eXBlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGQyMTYzNzNkNWRhYmVlOWFlZDNlMmQ4ZWYxNDM0NjZi
NTM2OTQ1ZWIuLjVhNmM0YjM3MGEwODA0MDkwYjY4MGVhZGI1NmZlOTk1NTcyNjA5OGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNjk4LDcgKzE2OTgsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJl
cXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNv
Z25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKICAgICB2b2lkIHVw
ZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVz
dWx0JiYsIGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgbG9jYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9u
VXBkYXRlUmVzdWx0KT4mJik7CiAgICAgdm9pZCBjb21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3Vs
dHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hcCwgSW1h
Z2VBbmFseXNpc1R5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZv
aWQgc3RhcnRJbWFnZUFuYWx5c2lzKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjNk
YzhkMjAxY2QzNmFiNGMyZDAyZGJiNjgxOGU1ZWRkMDQyMDYxYy4uNzU5MGJkOGU1MWRlZWM4Y2Jj
OTk4MTQxZDE4YjJjNzAyMTI5ZjM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjE2LDcgKzIxNiw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0SGFzSGFkU2VsZWN0aW9uQ2hhbmdlc0Zyb21Vc2VySW50
ZXJhY3Rpb24oYm9vbCBoYXNIYWRVc2VyU2VsZWN0aW9uQ2hhbmdlcykKIAogI2lmIEVOQUJMRShJ
TUFHRV9BTkFMWVNJUykKLSAgICBSZXF1ZXN0VGV4dFJlY29nbml0aW9uKFVSTCBpbWFnZVVSTCwg
V2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBpbWFnZURhdGEpIC0+IChzdHJ1Y3QgV2Vi
Q29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCkgQXN5bmMKKyAgICBSZXF1ZXN0VGV4
dFJlY29nbml0aW9uKFVSTCBpbWFnZVVSTCwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSBpbWFnZURhdGEsIFN0cmluZyBpZGVudGlmaWVyKSAtPiAoc3RydWN0IFdlYkNvcmU6OlRleHRS
ZWNvZ25pdGlvblJlc3VsdCByZXN1bHQpIEFzeW5jCiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNM
QVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBhNDg2NDE0NGIy
ZDdmOWZlMzVmZjg3ZTZjNGY0NDgyOTExNjgzZTYyLi41NjA3M2JiODM3N2IwNmJjNDE1ZDU2ZTA2
NzhjMzE2ZjZjOGUyYmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaApAQCAtMTIxLDcgKzEyMSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRp
b24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25S
ZXN1bHQmJik+JiYpIGZpbmFsOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25z
dCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRh
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKSBmaW5hbDsKICNlbmRpZgogCiAgICAgUmVm
UHRyPFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkm
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbQppbmRleCBlMzYzNjM0ZmFjYmVhZThlOGE3YWY0NmZhNGY1YjE4NzdiMTlhZDZk
Li4yNmJmYWM2NTcyMjQyMDQ2M2NiZTg2MTIzYjNjMjE5NGI4NWRkZjA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC00NjMsOSAr
NDYzLDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZG9uZURlZmVycmluZ1RvdWNoRW5kKGJvb2wg
cHJldmVudE5hdGl2ZUdlc3R1cmVzKQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12
b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1h
Z2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb24pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0
IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikKIHsKLSAgICBbbV9jb250
ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlVVJMIGltYWdlRGF0YTppbWFnZURh
dGEgY29tcGxldGlvbkhhbmRsZXI6V1RGTW92ZShjb21wbGV0aW9uKV07CisgICAgW21fY29udGVu
dFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFnZVVSTCBpbWFnZURhdGE6aW1hZ2VEYXRh
IGlkZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpXVEZNb3ZlKGNvbXBsZXRp
b24pXTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApp
bmRleCAzMDc3NmFmODYwYjgzMjRlMzM0YmYxYTY0MjMwOTU0ODdkNWI5NTRhLi5iM2Y4YTMyZWU0
NmIxZjdhOTkyNGE3NWJmZDRmZDQ3NDk3MTJiZDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC03NTgsNyAr
NzU4LDcgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dL
Q09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFM
WVNJUykKIC0gKHZvaWQpX2VuZEltYWdlQW5hbHlzaXNHZXN0dXJlRGVmZXJyYWw6KFdlYktpdDo6
U2hvdWxkUHJldmVudEdlc3R1cmVzKXNob3VsZFByZXZlbnRHZXN0dXJlczsKLS0gKHZvaWQpcmVx
dWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdl
YktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBjb21wbGV0aW9uSGFuZGxl
cjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQm
Jik+JiYpY29tcGxldGlvbjsKKy0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwg
KilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmKWltYWdlRGF0YSBpZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlv
bkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9u
UmVzdWx0JiYpPiYmKWNvbXBsZXRpb247CiAjZW5kaWYKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5k
ZXggMTdlZDMyYjVhNDM3NmVmZjYwOTA2NDBkMjA2Y2FmZmUzMGRlYjU0Mi4uMDM1NDI4MzY2M2Ey
MzIxZjk2MmZiNzJkOTQ2M2UwNWUxYmE5MTUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0xMDE1MCw3
ICsxMDE1MCw3IEBAIC0gKEJPT0wpdmFsaWRhdGVJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW50aWZp
ZXI6KFdlYktpdDo6SW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVuCiAgICAgcmV0dXJuIE5POwogfQog
Ci0tICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1hZ2VE
YXRhOihjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgY29t
cGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29n
bml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb24KKy0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25p
dGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBpZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZp
ZXIgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4
dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb24KIHsKICAgICBhdXRvIGltYWdlQml0
bWFwID0gV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShpbWFnZURhdGEpOwogICAgIGlm
ICghaW1hZ2VCaXRtYXApIHsKQEAgLTEwMTY0LDggKzEwMTY0LDExIEBAIC0gKHZvaWQpcmVxdWVz
dFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktp
dDo6U2hhcmVhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoaWRlbnRpZmllci5s
ZW5ndGgpCisgICAgICAgIHJldHVybiBXZWJLaXQ6OnJlcXVlc3RJbWFnZUFuYWx5c2lzV2l0aElk
ZW50aWZpZXIoc2VsZi5pbWFnZUFuYWx5emVyLCBpZGVudGlmaWVyLCBjZ0ltYWdlLmdldCgpLCBX
VEZNb3ZlKGNvbXBsZXRpb24pKTsKKwogICAgIGF1dG8gcmVxdWVzdCA9IFtzZWxmIGNyZWF0ZUlt
YWdlQW5hbHl6ZXJSZXF1ZXN0OlZLQW5hbHlzaXNUeXBlVGV4dCBpbWFnZTpjZ0ltYWdlLmdldCgp
XTsKLSAgICBbW3NlbGYgaW1hZ2VBbmFseXplcl0gcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQo
KSBwcm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29t
cGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwg
TlNFcnJvciAqKSBtdXRhYmxlIHsKKyAgICBbc2VsZi5pbWFnZUFuYWx5emVyIHByb2Nlc3NSZXF1
ZXN0OnJlcXVlc3QuZ2V0KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjpt
YWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoVktJbWFnZUFu
YWx5c2lzICpyZXN1bHQsIE5TRXJyb3IgKikgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb24o
V2ViS2l0OjptYWtlVGV4dFJlY29nbml0aW9uUmVzdWx0KHJlc3VsdCkpOwogICAgIH0pLmdldCgp
XTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
LmgKaW5kZXggMzhhNDMwMmFmODhhMDE1MTM5YzIyYzg4NjgxZTc5ZjQ2NzNhMWQxOC4uZDIyMzhm
ZGM5ZDE2Zjc3ZjhjM2QzMDJjYTk5NzZmZTgzZjFiM2YzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwm
IGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJikg
b3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1h
Z2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVj
b2duaXRpb25SZXN1bHQmJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcHV0ZUhhc0ltYWdl
QW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYsIFNoYXJlYWJsZUJpdG1hcCYsIEltYWdlQW5hbHlz
aXNUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMu
bW0KaW5kZXggZDQzM2E2ZGQyYjJmODRjNGQ5YjQxYjk4N2VkMzMxY2NhNTAxMDM5YS4uYTQxMTIx
MzVmMmVmMTkwMTVhNTJmMWUxYjAzYWUzMGExZjIyM2QyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtNDgwLDkgKzQ4MCw5IEBA
IHZvaWQgUGFnZUNsaWVudEltcGw6OmRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudCYgZXZlbnQsIGJvb2wKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAot
dm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGlt
YWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGlt
YWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9u
UmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCiB7Ci0gICAgbV9pbXBsLT5yZXF1ZXN0VGV4dFJlY29n
bml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIFdURk1vdmUoY29tcGxldGlvbikpOworICAgIG1f
aW1wbC0+cmVxdWVzdFRleHRSZWNvZ25pdGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBpZGVudGlm
aWVyLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6Y29t
cHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIFNoYXJlYWJs
ZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlIHR5cGUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5k
ZXggMzM3MWE2ZmI2Yjk4OTU3ZmFjMWM1MWNhNmQxZTM0ZmE5MWJkMDlmNy4uZmM3YmMzMzIzYWI0
ZjljNmJjYzk5MjlmYTZlYzhiNWYwZjA4MjMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAg
LTE0OTIsOSArMTQ5Miw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxB
Y2Nlc3Nab29tRm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmllCiAKICNpZiBFTkFCTEUo
SU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29n
bml0aW9uKEVsZW1lbnQmIGVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEVs
ZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFRl
eHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24p
CiB7Ci0gICAgbV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgV1RGTW92ZShj
b21wbGV0aW9uKSk7CisgICAgbV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwg
aWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDZhZTgxYzNmNTdkMDQ3N2EyNTZjMTUxY2ZmNjI0OWU3MjRhM2ViMDguLmE3
NDlmNTkzMTkyNzRlZTQ2ZTBhZDgxMjVhODk0ZWQ2Y2ZlMGI5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTQzMSw3ICs0MzEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU1B
R0VfQU5BTFlTSVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVs
ZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYm
KT4mJiA9IHsgfSkgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNv
cmU6OkVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIgPSB7IH0sIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9KSBmaW5hbDsK
ICNlbmRpZgogCiAgICAgYm9vbCBuZWVkc0ltYWdlT3ZlcmxheUNvbnRyb2xsZXJGb3JTZWxlY3Rp
b25QYWludGluZygpIGNvbnN0IGZpbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGViN2Q3NDUwMGViYmRmNzQ4YWRlM2VkNjczOTgxZTRhZGYy
ZGY4NjguLjhiMjUyZGY4YWY0YTJjODBjNzZjMjdlYzVhZGVlODkyYmRjNTIyNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03NTAyLDcgKzc1
MDIsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlbW92ZU1lZGlhVXNhZ2VNYW5hZ2VyU2Vzc2lvbihNZWRp
YVNlc3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCiAKLXZvaWQgV2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVt
ZW50JiBlbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVt
ZW50PiYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29nbml0
aW9uKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mJik+JiYgY29t
cGxldGlvbikKIHsKICAgICBpZiAoIWlzPEhUTUxFbGVtZW50PihlbGVtZW50KSkgewogICAgICAg
ICBpZiAoY29tcGxldGlvbikKQEAgLTc1NjEsNyArNzU2MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVx
dWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50LCBDb21wbGV0aW9u
SGFuZGxlCiAKICAgICBhdXRvIGNhY2hlZEltYWdlID0gcmVuZGVySW1hZ2UuY2FjaGVkSW1hZ2Uo
KTsKICAgICBhdXRvIGltYWdlVVJMID0gY2FjaGVkSW1hZ2UgPyBlbGVtZW50LmRvY3VtZW50KCku
Y29tcGxldGVVUkwoY2FjaGVkSW1hZ2UtPnVybCgpLnN0cmluZygpKSA6IFVSTCB7IH07Ci0gICAg
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RUZXh0UmVj
b2duaXRpb24oV1RGTW92ZShpbWFnZVVSTCksIFdURk1vdmUoYml0bWFwSGFuZGxlKSksIFt3ZWJQ
YWdlID0gV2Vha1B0ciB7ICp0aGlzIH0sIHdlYWtFbGVtZW50ID0gV2Vha1B0ciB7IGVsZW1lbnQg
fV0gKGF1dG8mJiByZXN1bHQpIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6UmVxdWVzdFRleHRSZWNvZ25pdGlvbihXVEZNb3ZlKGltYWdlVVJMKSwgV1RG
TW92ZShiaXRtYXBIYW5kbGUpLCBpZGVudGlmaWVyKSwgW3dlYlBhZ2UgPSBXZWFrUHRyIHsgKnRo
aXMgfSwgd2Vha0VsZW1lbnQgPSBXZWFrUHRyIHsgZWxlbWVudCB9XSAoYXV0byYmIHJlc3VsdCkg
ewogICAgICAgICBSZWZQdHIgcHJvdGVjdGVkUGFnZSB7IHdlYlBhZ2UuZ2V0KCkgfTsKICAgICAg
ICAgaWYgKCFwcm90ZWN0ZWRQYWdlKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGVlNjY5MWRkNjFiMzRkMTcyZjI1
ZGIyYjVjNDE5YzEwYTE5ZTA4MDEuLjk5MGQyMjYxNzBlZThmNGRmYzE2OWFhNTRkZjI3YzYyM2Fi
MGUwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTE0MzAsNyArMTQzMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hh
bmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3MpOwogCiAjaWYgRU5BQkxF
KElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3Jl
OjpFbGVtZW50JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVu
dD4mJik+JiYpOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVt
ZW50JiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyID0geyB9LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiA9IHsgfSk7CiAgICAgdm9pZCB1cGRh
dGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlv
blJlc3VsdCYsIGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgbG9jYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0
aW9uVXBkYXRlUmVzdWx0KT4mJik7CiAgICAgdm9pZCBzdGFydEltYWdlQW5hbHlzaXMoY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyKTsKICAgICB2b2lkIHN0b3BJbWFnZUFuYWx5c2lzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444553</attachid>
            <date>2021-11-17 12:44:50 -0800</date>
            <delta_ts>2021-11-17 12:49:39 -0800</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-233210-20211117124450.patch</filename>
            <type>text/plain</type>
            <size>27769</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQzYjE2OTYxNWI4M2E0
ZDg1ZDhkMDMwNzRlYmYxZmJkMDUzMzc5MS4uMTU1ZTAwYzQzNGQxMTk2YzUyMDFhYzkwY2QzMmFj
MmMwZGM2ZGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRd
IFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElt
YWdlOjppbWFnZU92ZXJsYXlFbGVtZW50cyk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlv
bik6CisgICAgICAgICogcGFnZS9JbWFnZUFuYWx5c2lzUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VBbmFseXNpc1F1ZXVlOjpyZXN1bWVQcm9jZXNzaW5nKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlcXVl
c3RUZXh0UmVjb2duaXRpb24pOgorCiAyMDIxLTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGlu
YXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTk1NWM0
ZDM1YmZhYmYwNWM1NTZiMWZjNTRiY2UwYzJmNDZmMzlmZS4uYjgxNjdjZDMzNDVmMTU1ZmE0YzVl
ODI5ODkxMGUxYmE3ODQ5YTZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5vdGhlciBXZWJLaXRBZGRpdGlvbnMg
ZXh0ZW5zaW9uIHBvaW50LgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3Jl
U1BJLmg6CisKIDIwMjEtMTEtMTYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgog
CiAgICAgICAgIFtBcHBsZSBQYXldIGhhbmRsZSB1bmtub3duIHNldHVwIGZlYXR1cmVzCkBAIC0y
MzAsNiArMjQxLDE3IEBACiAgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VURldmljZUltcGwuY3BwOgogICAgICAgICAoUEFMOjpXZWJHUFU6OmNvbnZlcnRUb0JhY2tpbmcp
OgogCisyMDIxLTExLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFtMaXZlIFRleHRdIFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2gg
YENocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViS2l0QWRkaXRpb25zIGV4
dGVuc2lvbiBwb2ludC4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvVmlzaW9uS2l0Q29yZVNQ
SS5oOgorCiAyMDIxLTExLTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgYW5vdGhlciA8bW9kZWw+IGJhY2tlbmQgYmFja2VkIGJ5IFNjZW5lS2l0IHRvIHBy
b3ZlIG91dCBNb2RlbFBsYXllciBpbmZyYXN0cnVjdHVyZSBhIGJpdCBtb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGY5YzNjNWE4MzQ4ZTgxYThkNjU3YmEwNzNlMzdmZGNkYTUxZmI3NGYuLjZiMzcwODE1NjMwMWNh
NDQ2YmIxZWExNGNmNTI1MmM3MTdkZmM3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIw
MjEtMTEtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgKGkuZS4gbnVsbC1ieS1k
ZWZhdWx0KSBpZGVudGlmaWVyIHN0cmluZyB0byB0aGUgYHJlcXVlc3RUZXh0UmVjb2duaXRpb24o
KWAgV2ViS2l0IGNsaWVudCBob29rLAorICAgICAgICBhbmQgY2FsbCBpbnRvIGEgbmV3IGhlbHBl
ciBmdW5jdGlvbiBpbiBUZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaCwgdGhhdCdzIGltcGxlbWVu
dGVkIGluIFdlYktpdEFkZGl0aW9ucyAod2l0aAorICAgICAgICBhbiBlbXB0eSBzdHViIGluIG9w
ZW4gc291cmNlIGNvZGUpLgorCisgICAgICAgIFNlZSBjb3JyZXNwb25kaW5nIHJhZGFyIGZvciBt
b3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0
aW9uVXRpbGl0aWVzLmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9u
VXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJ
ZGVudGlmaWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRp
b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFnZURhdGE6
aWRlbnRpZmllcjpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlRGF0YTpjb21wbGV0aW9uSGFuZGxlcjpdKTog
RGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRleHRSZWNv
Z25pdGlvbik6CisKIDIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgaGVscGVyIGNsYXNzIHRvIGNvb3JkaW5hdGUgYmF0Y2gg
YW5hbHlzaXMgb2YgaW1hZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
b2NvYS9WaXNpb25LaXRDb3JlU1BJLmgKaW5kZXggYTc3ZTYxM2MxODFlZDI5MTBjNjZmZDA1NWE2
OTk4OTFkNzQ2MDlhMS4uOTBlYTc0NzY0MWNlYWY4YjM1ZWEzYmVlNjRmNjQzNGVlM2YxNGJjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvVmlzaW9uS2l0Q29y
ZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zpc2lvbktpdENv
cmVTUEkuaApAQCAtMTQ2LDQgKzE0Niw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogCiAjZW5k
aWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL1Zpc2lvbktpdENvcmVTUElBZGRpdGlvbnMuaD4KKyNlbmRpZgorCiAjZW5kaWYgLy8gSEFW
RShWS19JTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYSW1hZ2Uu
Y3BwCmluZGV4IDZmNjhlNzE1M2U0ODYxNTI2ZTYyZmQxYTcyYjQ4ZmViNGEwNTNiYjEuLjc1ZmVh
OGIxNTJiMTZlNjk1ZDY0ZTI5OTJkOTM4M2E4NmNmZTIyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWEltYWdlLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGQ6Om9wdGlvbmFsPEFY
Q29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBBWEltYWdlOjppbWFnZU92
ZXJsYXlFbAogICAgIGlmICghZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAotICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKmVs
ZW1lbnQsIFtdIChSZWZQdHI8RWxlbWVudD4mJiBpbWFnZU92ZXJsYXlIb3N0KSB7CisgICAgcGFn
ZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgeyB9
LCBbXSAoUmVmUHRyPEVsZW1lbnQ+JiYgaW1hZ2VPdmVybGF5SG9zdCkgewogICAgICAgICBpZiAo
IWltYWdlT3ZlcmxheUhvc3QpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCmluZGV4IGM1ZWQ5YjhjMTJkNDU4MTdlMzA0NmNmZDg1NTQ1MDVmNGU0ZjA1
MTQuLmUxM2UzODdkMTkxNjhhYzVmZDM1OWIyZTYxNmQ0M2RkM2YxNzUwMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNTg1LDcgKzU4NSw3IEBAIHB1YmxpYzoKICNlbmRpZgog
CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4
dFJlY29nbml0aW9uKEVsZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVt
ZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4
dFJlY29nbml0aW9uKEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmID0geyB9LCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFJlZlB0cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQogICAgIHsK
ICAgICAgICAgaWYgKGNvbXBsZXRpb24pCiAgICAgICAgICAgICBjb21wbGV0aW9uKHsgfSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5jcHAKaW5kZXggM2IyNjFlZDFk
ODc0MGMxOWUxNThiZjYxZjczZGM1NGYyNDMyNWVkMS4uODY4Y2NjN2YyOTM5MWY3MGYyZGY3ZjUw
ZDBhMTIyZjBkZjFkZWNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbWFnZUFu
YWx5c2lzUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFseXNpc1F1
ZXVlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIEltYWdlQW5hbHlzaXNRdWV1ZTo6cmVzdW1l
UHJvY2Vzc2luZygpCiAKICAgICAgICAgbV9wZW5kaW5nUmVxdWVzdENvdW50Kys7CiAgICAgICAg
IG1fcGFnZS0+cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHQoKmVsZW1lbnQpOwotICAgICAgICBt
X3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKmVsZW1lbnQs
IFt0aGlzLCBwYWdlID0gbV9wYWdlXSAoYXV0byYmKSB7CisgICAgICAgIG1fcGFnZS0+Y2hyb21l
KCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgaWRlbnRpZmllciwg
W3RoaXMsIHBhZ2UgPSBtX3BhZ2VdIChhdXRvJiYpIHsKICAgICAgICAgICAgIGlmICghcGFnZSkK
ICAgICAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBhNWVjZTA4MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi44NTVlZTYw
Yjc2ODc5NzI5NzBkY2MzN2I3Njc5ZDk5ZTVmMjgxY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC01NzkxLDcgKzU3OTEsNyBAQCB2b2lkIEludGVybmFsczo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZWZQdHI8Vm9pZENhbGxiYWNrPiYm
CiAgICAgfQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHBhZ2UtPmNocm9tZSgp
LmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgW2NhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5y
ZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIHsgfSwgW2NhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayldIChhdXRvJiYpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAg
Y2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaAppbmRleCAxMGQ5
NDliNzg1ODkwZjZjOGNlOTcxZmM0MDhjNDg5NzA2YmMxZjE1Li4zYjdjMTI0OWM1OWE4MjhhMTc4
YTM4MGI4NzMwNTlkNzc2M2QzMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvVmlz
aW9uS2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDYgKzQ0
LDEwIEBAIFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29nbml0aW9u
UmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXI+IGNy
ZWF0ZUltYWdlQW5hbHl6ZXIoKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiBj
cmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVmLCBWS0FuYWx5c2lzVHlwZXMpOwog
CisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKK3ZvaWQgcmVxdWVzdElt
YWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgTlNTdHJpbmcgKmlk
ZW50aWZpZXIsIENHSW1hZ2VSZWYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4
dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKKyNlbmRpZgorCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IGY3NjhiYjc0NGNmNmU4MDRj
ODNiNjE0NmZiZWY4YTcxMjkwMTM3ZWUuLmQzNzZjNzBlOWU2Y2JhYzMzYmJiNzlmMWIxZTBjOWE0
YjM1YjM0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJl
Y29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
VGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0xMzgsNiArMTM4LDE1IEBAIHN0YXRpYyBi
b29sIGlzTGl2ZVRleHRFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJM
RShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisKK3ZvaWQgcmVxdWVzdEltYWdlQW5hbHlz
aXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgTlNTdHJpbmcgKiwgQ0dJbWFnZVJl
ZiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29t
cGxldGlvbikKK3sKKyAgICBjb21wbGV0aW9uKHsgfSk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
SU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorCiAjZW5kaWYKIAogYm9vbCBpc0xpdmVUZXh0
QXZhaWxhYmxlQW5kRW5hYmxlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaAppbmRleCBiNzdkNGMwN2NiMDczMjAwOTc0YmQzMGEzNGM3N2Y4MGUyODkzZGUw
Li4zZjZkZDFmMjQyZTdhMTE1ZWNmNzk4MzkwZjM0YjYzNWM2ZThkNmY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTU5OCw3ICs1OTgsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBzaG91bGRSZXF1ZXN0Q2FuZGlkYXRlcygpIGNvbnN0OwogCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihj
b25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VE
YXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJik7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1h
Z2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVj
b2duaXRpb25SZXN1bHQmJik+JiYpOwogICAgIHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNS
ZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAs
IEltYWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmlu
ZGV4IDRhOTcwMGEwZjAzYTNlMjE4MTJhMTI2M2M1MTIzZDc1ODg1MDFjYTIuLmVjYWY2ZmM5NGI5
ZmQ4NTRjNTFjYTliNWM3ZjliYTMzOTVkMmM5YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIFJldGFp
blB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChD
R0ltYWdlUmVmIGkKICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJWaWV3
SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0
JiYpPiYmIGNvbXBsZXRpb24pCiB7CiAgICAgaWYgKCFpc0xpdmVUZXh0QXZhaWxhYmxlQW5kRW5h
YmxlZCgpKSB7CiAgICAgICAgIGNvbXBsZXRpb24oeyB9KTsKQEAgLTIxOCw2ICsyMTgsMTQgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdl
VVJMLCBjb25zdCBTaGFyZWFibGVCaXQKICAgICB9CiAKICAgICBhdXRvIGNnSW1hZ2UgPSBpbWFn
ZUJpdG1hcC0+bWFrZUNHSW1hZ2UoKTsKKworI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhB
TkNFTUVOVFMpCisgICAgaWYgKCFpZGVudGlmaWVyLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IHJlcXVlc3RJbWFnZUFuYWx5c2lzV2l0aElkZW50aWZpZXIoZW5zdXJlSW1hZ2VBbmFseXplcigp
LCBpZGVudGlmaWVyLCBjZ0ltYWdlLmdldCgpLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworI2VuZGlmCisKICAgICBhdXRvIHJlcXVl
c3QgPSBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChjZ0ltYWdlLmdldCgpLCBpbWFnZVVSTCwg
W05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzptX3BhZ2UtPmN1cnJlbnRVUkwoKV0sIFZLQW5h
bHlzaXNUeXBlVGV4dCk7CiAgICAgYXV0byBzdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKICAgICBbZW5zdXJlSW1hZ2VBbmFseXplcigpIHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3QuZ2V0
KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2Nv
bXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pLCBzdGFydFRpbWVdIChWS0ltYWdlQW5hbHlz
aXMgKmFuYWx5c2lzLCBOU0Vycm9yICopIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCmluZGV4IDVlMmVjNzU1OTljNTZhY2E1NDZiYWQyYTVjNjNkZWUxYTBhNjczMmYu
LmM0ODVjN2ZjMzEzZWEwODMzZmM2MDYyNjcxNjlkNjkyYTgyNDA5MjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTU0Nyw3ICs1NDcsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFRl
eHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRS
ZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKSB7IGNvbXBsZXRpb24oeyB9KTsgfQor
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VV
UkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2du
aXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9uKHsgfSk7IH0KICAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYsIFNo
YXJlYWJsZUJpdG1hcCYsIEltYWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmIGNvbXBsZXRpb24pIHsgY29tcGxldGlvbihmYWxzZSk7IH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmNWQ0ZDljMzY2NjUz
YTdmMjI1Nzc3NzE0YzlmOTFkZDE4OThhMzY4Li5mNjUwZWExN2Y2N2ZjMDIwNmQ4MDllZDQwZGRm
NWM2MzM3ODE5Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTg2MTYsOSArODYxNiw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG91bGRBbGxvd0Rldmlj
ZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKEZyYW1lSWRlbnRpZmllciBmCiAKICNpZiBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29n
bml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxl
JiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0
aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYWdlUHJveHk6OnJl
cXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25p
dGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cisg
ICAgcGFnZUNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGltYWdlRGF0
YSwgaWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdl
YlBhZ2VQcm94eTo6Y29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1h
Z2VVUkwsIFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlIHR5
cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggODdhNDE1N2JiNDkzODhhOTM5NzA5Mzdj
MTViYTJkZTZmNmNkYTIzNC4uNTk5OWNlOTgyMTU1MmE5ZDY2ODA2NjA4YzA0ZmE0MWEyOTUwM2E5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE2OTgsNyArMTY5
OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAg
IHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJik7CisgICAgdm9pZCByZXF1ZXN0
VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOwogICAg
IHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChXZWJDb3JlOjpUZXh0UmVjb2du
aXRpb25SZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVj
b2duaXRpb25VcGRhdGVSZXN1bHQpPiYmKTsKICAgICB2b2lkIGNvbXB1dGVIYXNJbWFnZUFuYWx5
c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0
bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7
CiAgICAgdm9pZCBzdGFydEltYWdlQW5hbHlzaXMoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCBiM2RjOGQyMDFjZDM2YWI0YzJkMDJkYmI2ODE4ZTVlZGQwNDIwNjFjLi43NTkwYmQ4ZTUx
ZGVlYzhjYmM5OTgxNDFkMThiMmM3MDIxMjlmMzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMTYsNyArMjE2LDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTZXRIYXNIYWRTZWxlY3Rpb25DaGFuZ2VzRnJv
bVVzZXJJbnRlcmFjdGlvbihib29sIGhhc0hhZFVzZXJTZWxlY3Rpb25DaGFuZ2VzKQogCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIFJlcXVlc3RUZXh0UmVjb2duaXRpb24oVVJMIGlt
YWdlVVJMLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGltYWdlRGF0YSkgLT4gKHN0
cnVjdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgcmVzdWx0KSBBc3luYworICAgIFJl
cXVlc3RUZXh0UmVjb2duaXRpb24oVVJMIGltYWdlVVJMLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlIGltYWdlRGF0YSwgU3RyaW5nIGlkZW50aWZpZXIpIC0+IChzdHJ1Y3QgV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCkgQXN5bmMKICNlbmRpZgogCiAjaWYgSEFW
RShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGE0
ODY0MTQ0YjJkN2Y5ZmUzNWZmODdlNmM0ZjQ0ODI5MTE2ODNlNjIuLjU2MDczYmI4Mzc3YjA2YmM0
MTVkNTZlMDY3OGMzMTZmNmM4ZTJiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHJpdmF0ZToKICNl
bmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRS
ZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNv
Z25pdGlvblJlc3VsdCYmKT4mJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0
aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBp
bWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpIGZpbmFsOwogI2VuZGlmCiAK
ICAgICBSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBh
Z2VQcm94eSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGUzNjM2MzRmYWNiZWFlOGU4YTdhZjQ2ZmE0ZjViMTg3
N2IxOWFkNmQuLjI2YmZhYzY1NzIyNDIwNDYzY2JlODYxMjNiM2MyMTk0Yjg1ZGRmMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAg
LTQ2Myw5ICs0NjMsOSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkb25lRGVmZXJyaW5nVG91Y2hF
bmQoYm9vbCBwcmV2ZW50TmF0aXZlR2VzdHVyZXMpCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3Qg
VVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+
JiYgY29tcGxldGlvbikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRp
b24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQogewotICAg
IFttX2NvbnRlbnRWaWV3IHJlcXVlc3RUZXh0UmVjb2duaXRpb246aW1hZ2VVUkwgaW1hZ2VEYXRh
OmltYWdlRGF0YSBjb21wbGV0aW9uSGFuZGxlcjpXVEZNb3ZlKGNvbXBsZXRpb24pXTsKKyAgICBb
bV9jb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlVVJMIGltYWdlRGF0YTpp
bWFnZURhdGEgaWRlbnRpZmllcjppZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOldURk1vdmUo
Y29tcGxldGlvbildOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCmluZGV4IDMwNzc2YWY4NjBiODMyNGUzMzRiZjFhNjQyMzA5NTQ4N2Q1Yjk1NGEuLmIz
ZjhhMzJlZTQ2YjFmN2E5OTI0YTc1YmZkNGZkNDc0OTcxMmJkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAg
LTc1OCw3ICs3NTgsNyBAQCBGT1JfRUFDSF9QUklWQVRFX1dLQ09OVEVOVFZJRVdfQUNUSU9OKERF
Q0xBUkVfV0tDT05URU5UVklFV19BQ1RJT05fRk9SX1dFQl9WSUVXKQogCiAjaWYgRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQogLSAodm9pZClfZW5kSW1hZ2VBbmFseXNpc0dlc3R1cmVEZWZlcnJhbDoo
V2ViS2l0OjpTaG91bGRQcmV2ZW50R2VzdHVyZXMpc2hvdWxkUHJldmVudEdlc3R1cmVzOwotLSAo
dm9pZClyZXF1ZXN0VGV4dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YToo
Y29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGNvbXBsZXRp
b25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlv
blJlc3VsdCYmKT4mJiljb21wbGV0aW9uOworLSAodm9pZClyZXF1ZXN0VGV4dFJlY29nbml0aW9u
OihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGlkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBj
b21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVj
b2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbjsKICNlbmRpZgogCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQppbmRleCAxN2VkMzJiNWE0Mzc2ZWZmNjA5MDY0MGQyMDZjYWZmZTMwZGViNTQyLi5hOGU5
MGU0MjlhNmVjZTEzNjg3YjlmOTFiYzczODJjYTdjYjBmZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTEwMTUwLDcgKzEwMTUwLDcgQEAgLSAoQk9PTCl2YWxpZGF0ZUltYWdlQW5hbHlzaXNSZXF1ZXN0
SWRlbnRpZmllcjooV2ViS2l0OjpJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KICAgICByZXR1cm4g
Tk87CiB9CiAKLS0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVS
TCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdl
RGF0YSBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpU
ZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbgorLSAodm9pZClyZXF1ZXN0VGV4
dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29uc3QgV2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGlkZW50aWZpZXI6KE5TU3RyaW5nICop
aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbgogewogICAgIGF1dG8g
aW1hZ2VCaXRtYXAgPSBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlRGF0YSk7
CiAgICAgaWYgKCFpbWFnZUJpdG1hcCkgewpAQCAtMTAxNjQsOCArMTAxNjQsMTUgQEAgLSAodm9p
ZClyZXF1ZXN0VGV4dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29u
c3QgV2ViS2l0OjpTaGFyZWEKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorI2lmIEVOQUJMRShJ
TUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAgaWYgKGlkZW50aWZpZXIubGVuZ3RoKQor
ICAgICAgICByZXR1cm4gV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVy
KHNlbGYuaW1hZ2VBbmFseXplciwgaWRlbnRpZmllciwgY2dJbWFnZS5nZXQoKSwgV1RGTW92ZShj
b21wbGV0aW9uKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKKyNlbmRp
ZgorCiAgICAgYXV0byByZXF1ZXN0ID0gW3NlbGYgY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3Q6
VktBbmFseXNpc1R5cGVUZXh0IGltYWdlOmNnSW1hZ2UuZ2V0KCldOwotICAgIFtbc2VsZiBpbWFn
ZUFuYWx5emVyXSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0LmdldCgpIHByb2dyZXNzSGFuZGxlcjpu
aWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShj
b21wbGV0aW9uKV0gKFZLSW1hZ2VBbmFseXNpcyAqcmVzdWx0LCBOU0Vycm9yICopIG11dGFibGUg
eworICAgIFtzZWxmLmltYWdlQW5hbHl6ZXIgcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQoKSBw
cm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxl
dGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNF
cnJvciAqKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbihXZWJLaXQ6Om1ha2VUZXh0UmVj
b2duaXRpb25SZXN1bHQocmVzdWx0KSk7CiAgICAgfSkuZ2V0KCldOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCAzOGE0MzAyYWY4
OGEwMTUxMzljMjJjODg2ODFlNzlmNDY3M2ExZDE4Li5kMjIzOGZkYzlkMTZmNzdmOGMzZDMwMmNh
OTk3NmZlODNmMWIzZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBk
b25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2
ZW50SGFuZGxlZCkgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAg
dm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNo
YXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lk
IHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4m
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3VsdHMoY29u
c3QgVVJMJiwgU2hhcmVhYmxlQml0bWFwJiwgSW1hZ2VBbmFseXNpc1R5cGUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCBkNDMzYTZkZDJi
MmY4NGM0ZDliNDFiOTg3ZWQzMzFjY2E1MDEwMzlhLi5hNDExMjEzNWYyZWYxOTAxNWE1MmYxZTFi
MDNhZTMwYTFmMjIzZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLm1tCkBAIC00ODAsOSArNDgwLDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1w
bDo6ZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiBldmVudCwg
Ym9vbAogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12b2lkIFBhZ2VDbGllbnRJbXBs
OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJl
YWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4
dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFBhZ2VDbGllbnRJbXBs
OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJl
YWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxl
dGlvbikKIHsKLSAgICBtX2ltcGwtPnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGlt
YWdlRGF0YSwgV1RGTW92ZShjb21wbGV0aW9uKSk7CisgICAgbV9pbXBsLT5yZXF1ZXN0VGV4dFJl
Y29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIGlkZW50aWZpZXIsIFdURk1vdmUoY29tcGxl
dGlvbikpOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpjb21wdXRlSGFzSW1hZ2VBbmFseXNp
c1Jlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1h
cCwgSW1hZ2VBbmFseXNpc1R5cGUgdHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JiBjb21wbGV0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAzMzcxYTZmYjZiOTg5NTdm
YWMxYzUxY2E2ZDFlMzRmYTkxYmQwOWY3Li5mYzdiYzMzMjNhYjRmOWM2YmNjOTkyOWZhNmVjOGI1
ZjBmMDgyMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTQ5Miw5ICsxNDkyLDkgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiB2aWUKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAot
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oRWxlbWVudCYgZWxl
bWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYgY29tcGxl
dGlvbikKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYgY29tcGxldGlvbikKIHsKLSAgICBtX3BhZ2UucmVx
dWVzdFRleHRSZWNvZ25pdGlvbihlbGVtZW50LCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKKyAgICBt
X3BhZ2UucmVxdWVzdFRleHRSZWNvZ25pdGlvbihlbGVtZW50LCBpZGVudGlmaWVyLCBXVEZNb3Zl
KGNvbXBsZXRpb24pKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNmFlODFj
M2Y1N2QwNDc3YTI1NmMxNTFjZmY2MjQ5ZTcyNGEzZWIwOC4uYTc0OWY1OTMxOTI3NGVlNDZlMGFk
ODEyNWE4OTRlZDZjZmUwYjk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNDMxLDcgKzQzMSw3
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2
b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9KSBmaW5hbDsK
KyAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciA9IHsgfSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8
V2ViQ29yZTo6RWxlbWVudD4mJik+JiYgPSB7IH0pIGZpbmFsOwogI2VuZGlmCiAKICAgICBib29s
IG5lZWRzSW1hZ2VPdmVybGF5Q29udHJvbGxlckZvclNlbGVjdGlvblBhaW50aW5nKCkgY29uc3Qg
ZmluYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggY2UwZjgyMThlOTQ5YjdhZTUzZWE1ZWRhNmNhMTAyZjI0ZTZiNjZhZC4uMjk1ODc2NWYyNTRm
YTQwNTIyMWRiNWU5YzIyODg3NTljYWQ0MGZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc1MDIsNyArNzUwMiw3IEBAIHZvaWQgV2ViUGFn
ZTo6cmVtb3ZlTWVkaWFVc2FnZU1hbmFnZXJTZXNzaW9uKE1lZGlhU2Vzc2lvbklkZW50aWZpZXIg
aWRlbnRpZmllcikKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAotdm9pZCBXZWJQYWdl
OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRp
b24pCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uKQogewogICAgIGlm
ICghaXM8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKSB7CiAgICAgICAgIGlmIChjb21wbGV0aW9uKQpA
QCAtNzU2MSw3ICs3NTYxLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGUKIAogICAgIGF1dG8g
Y2FjaGVkSW1hZ2UgPSByZW5kZXJJbWFnZS5jYWNoZWRJbWFnZSgpOwogICAgIGF1dG8gaW1hZ2VV
UkwgPSBjYWNoZWRJbWFnZSA/IGVsZW1lbnQuZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChjYWNoZWRJ
bWFnZS0+dXJsKCkuc3RyaW5nKCkpIDogVVJMIHsgfTsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFRleHRSZWNvZ25pdGlvbihXVEZNb3ZlKGlt
YWdlVVJMKSwgV1RGTW92ZShiaXRtYXBIYW5kbGUpKSwgW3dlYlBhZ2UgPSBXZWFrUHRyIHsgKnRo
aXMgfSwgd2Vha0VsZW1lbnQgPSBXZWFrUHRyIHsgZWxlbWVudCB9XSAoYXV0byYmIHJlc3VsdCkg
eworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0
VGV4dFJlY29nbml0aW9uKFdURk1vdmUoaW1hZ2VVUkwpLCBXVEZNb3ZlKGJpdG1hcEhhbmRsZSks
IGlkZW50aWZpZXIpLCBbd2ViUGFnZSA9IFdlYWtQdHIgeyAqdGhpcyB9LCB3ZWFrRWxlbWVudCA9
IFdlYWtQdHIgeyBlbGVtZW50IH1dIChhdXRvJiYgcmVzdWx0KSB7CiAgICAgICAgIFJlZlB0ciBw
cm90ZWN0ZWRQYWdlIHsgd2ViUGFnZS5nZXQoKSB9OwogICAgICAgICBpZiAoIXByb3RlY3RlZFBh
Z2UpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggNjhmMWI5YTQzOWJmNWRlNmMwNjE0NDFlMDdhZjc3MDZhZjUwMzhj
ZC4uNDFlMjYwMzlhYjgxNGI0NDI0YzJlMjJhNmM0ZWYyY2EzZWExYmY3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQzMCw3ICsxNDMwLDcgQEAg
cHVibGljOgogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGVGbGFncyk7CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0g
ICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJik7CisgICAgdm9p
ZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIgPSB7IH0sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6
OkVsZW1lbnQ+JiYpPiYmID0geyB9KTsKICAgICB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRp
b25SZXN1bHQoY29uc3QgV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiwgY29uc3QgV2Vi
Q29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlv
biwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQpPiYm
KTsKICAgICB2b2lkIHN0YXJ0SW1hZ2VBbmFseXNpcyhjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIp
OwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444555</attachid>
            <date>2021-11-17 12:49:41 -0800</date>
            <delta_ts>2021-11-17 13:19:12 -0800</delta_ts>
            <desc>Remove redundant PAL ChangeLog</desc>
            <filename>bug-233210-20211117124941.patch</filename>
            <type>text/plain</type>
            <size>27148</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQzYjE2OTYxNWI4M2E0
ZDg1ZDhkMDMwNzRlYmYxZmJkMDUzMzc5MS4uMTU1ZTAwYzQzNGQxMTk2YzUyMDFhYzkwY2QzMmFj
MmMwZGM2ZGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRd
IFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElt
YWdlOjppbWFnZU92ZXJsYXlFbGVtZW50cyk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlv
bik6CisgICAgICAgICogcGFnZS9JbWFnZUFuYWx5c2lzUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VBbmFseXNpc1F1ZXVlOjpyZXN1bWVQcm9jZXNzaW5nKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlcXVl
c3RUZXh0UmVjb2duaXRpb24pOgorCiAyMDIxLTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGlu
YXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTk1NWM0
ZDM1YmZhYmYwNWM1NTZiMWZjNTRiY2UwYzJmNDZmMzlmZS4uNjEwNDZkOWE0YjNkZmY2YmJmMWQx
MWE0YmVjYmUxMGQ1ODRlMGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5vdGhlciBXZWJLaXRBZGRpdGlvbnMg
ZXh0ZW5zaW9uIHBvaW50LgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3Jl
U1BJLmg6CisKIDIwMjEtMTEtMTYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgog
CiAgICAgICAgIFtBcHBsZSBQYXldIGhhbmRsZSB1bmtub3duIHNldHVwIGZlYXR1cmVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGY5YzNjNWE4MzQ4ZTgxYThkNjU3YmEwNzNlMzdmZGNkYTUxZmI3NGYuLjZiMzcwODE1
NjMwMWNhNDQ2YmIxZWExNGNmNTI1MmM3MTdkZmM3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMjEtMTEtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBg
Q2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgKGkuZS4gbnVs
bC1ieS1kZWZhdWx0KSBpZGVudGlmaWVyIHN0cmluZyB0byB0aGUgYHJlcXVlc3RUZXh0UmVjb2du
aXRpb24oKWAgV2ViS2l0IGNsaWVudCBob29rLAorICAgICAgICBhbmQgY2FsbCBpbnRvIGEgbmV3
IGhlbHBlciBmdW5jdGlvbiBpbiBUZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaCwgdGhhdCdzIGlt
cGxlbWVudGVkIGluIFdlYktpdEFkZGl0aW9ucyAod2l0aAorICAgICAgICBhbiBlbXB0eSBzdHVi
IGluIG9wZW4gc291cmNlIGNvZGUpLgorCisgICAgICAgIFNlZSBjb3JyZXNwb25kaW5nIHJhZGFy
IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJl
Y29nbml0aW9uVXRpbGl0aWVzLmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29n
bml0aW9uVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNp
c1dpdGhJZGVudGlmaWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpyZXF1
ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFn
ZURhdGE6aWRlbnRpZmllcjpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlRGF0YTpjb21wbGV0aW9uSGFuZGxl
cjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRl
eHRSZWNvZ25pdGlvbik6CisKIDIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgaGVscGVyIGNsYXNzIHRvIGNvb3JkaW5hdGUg
YmF0Y2ggYW5hbHlzaXMgb2YgaW1hZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmgKaW5kZXggYTc3ZTYxM2MxODFlZDI5MTBjNjZm
ZDA1NWE2OTk4OTFkNzQ2MDlhMS4uOTBlYTc0NzY0MWNlYWY4YjM1ZWEzYmVlNjRmNjQzNGVlM2Yx
NGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvVmlzaW9u
S2l0Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zpc2lv
bktpdENvcmVTUEkuaApAQCAtMTQ2LDQgKzE0Niw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
CiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0
QWRkaXRpb25zL1Zpc2lvbktpdENvcmVTUElBZGRpdGlvbnMuaD4KKyNlbmRpZgorCiAjZW5kaWYg
Ly8gSEFWRShWS19JTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
SW1hZ2UuY3BwCmluZGV4IDZmNjhlNzE1M2U0ODYxNTI2ZTYyZmQxYTcyYjQ4ZmViNGEwNTNiYjEu
Ljc1ZmVhOGIxNTJiMTZlNjk1ZDY0ZTI5OTJkOTM4M2E4NmNmZTIyZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWEltYWdlLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGQ6Om9wdGlv
bmFsPEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBBWEltYWdlOjpp
bWFnZU92ZXJsYXlFbAogICAgIGlmICghZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIAotICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRp
b24oKmVsZW1lbnQsIFtdIChSZWZQdHI8RWxlbWVudD4mJiBpbWFnZU92ZXJsYXlIb3N0KSB7Cisg
ICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVu
dCwgeyB9LCBbXSAoUmVmUHRyPEVsZW1lbnQ+JiYgaW1hZ2VPdmVybGF5SG9zdCkgewogICAgICAg
ICBpZiAoIWltYWdlT3ZlcmxheUhvc3QpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGM1ZWQ5YjhjMTJkNDU4MTdlMzA0NmNmZDg1NTQ1MDVm
NGU0ZjA1MTQuLmUxM2UzODdkMTkxNjhhYzVmZDM1OWIyZTYxNmQ0M2RkM2YxNzUwMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNTg1LDcgKzU4NSw3IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0
cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQorICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmID0geyB9LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQog
ICAgIHsKICAgICAgICAgaWYgKGNvbXBsZXRpb24pCiAgICAgICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5jcHAKaW5kZXggM2Iy
NjFlZDFkODc0MGMxOWUxNThiZjYxZjczZGM1NGYyNDMyNWVkMS4uODY4Y2NjN2YyOTM5MWY3MGYy
ZGY3ZjUwZDBhMTIyZjBkZjFkZWNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9J
bWFnZUFuYWx5c2lzUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFs
eXNpc1F1ZXVlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIEltYWdlQW5hbHlzaXNRdWV1ZTo6
cmVzdW1lUHJvY2Vzc2luZygpCiAKICAgICAgICAgbV9wZW5kaW5nUmVxdWVzdENvdW50Kys7CiAg
ICAgICAgIG1fcGFnZS0+cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHQoKmVsZW1lbnQpOwotICAg
ICAgICBtX3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKmVs
ZW1lbnQsIFt0aGlzLCBwYWdlID0gbV9wYWdlXSAoYXV0byYmKSB7CisgICAgICAgIG1fcGFnZS0+
Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgaWRlbnRp
ZmllciwgW3RoaXMsIHBhZ2UgPSBtX3BhZ2VdIChhdXRvJiYpIHsKICAgICAgICAgICAgIGlmICgh
cGFnZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBhNWVjZTA4MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi44
NTVlZTYwYjc2ODc5NzI5NzBkY2MzN2I3Njc5ZDk5ZTVmMjgxY2RlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzkxLDcgKzU3OTEsNyBAQCB2b2lkIEludGVybmFsczo6
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZWZQdHI8Vm9pZENhbGxi
YWNrPiYmCiAgICAgfQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGll
bnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIHsgfSwgW2NhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAg
ICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaAppbmRl
eCAxMGQ5NDliNzg1ODkwZjZjOGNlOTcxZmM0MDhjNDg5NzA2YmMxZjE1Li4zYjdjMTI0OWM1OWE4
MjhhMTc4YTM4MGI4NzMwNTlkNzc2M2QzMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4
LDcgQEAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvVmlzaW9uS2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQz
LDYgKzQ0LDEwIEBAIFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29n
bml0aW9uUmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6
ZXI+IGNyZWF0ZUltYWdlQW5hbHl6ZXIoKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1
ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVmLCBWS0FuYWx5c2lzVHlw
ZXMpOwogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKK3ZvaWQgcmVx
dWVzdEltYWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgTlNTdHJp
bmcgKmlkZW50aWZpZXIsIENHSW1hZ2VSZWYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKKyNlbmRpZgorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IGY3NjhiYjc0NGNm
NmU4MDRjODNiNjE0NmZiZWY4YTcxMjkwMTM3ZWUuLmQzNzZjNzBlOWU2Y2JhYzMzYmJiNzlmMWIx
ZTBjOWE0YjM1YjM0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
VGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0xMzgsNiArMTM4LDE1IEBAIHN0
YXRpYyBib29sIGlzTGl2ZVRleHRFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lm
IEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisKK3ZvaWQgcmVxdWVzdEltYWdl
QW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgTlNTdHJpbmcgKiwgQ0dJ
bWFnZVJlZiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+
JiYgY29tcGxldGlvbikKK3sKKyAgICBjb21wbGV0aW9uKHsgfSk7Cit9CisKKyNlbmRpZiAvLyBF
TkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorCiAjZW5kaWYKIAogYm9vbCBpc0xp
dmVUZXh0QXZhaWxhYmxlQW5kRW5hYmxlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAppbmRleCBiNzdkNGMwN2NiMDczMjAwOTc0YmQzMGEzNGM3N2Y4MGUy
ODkzZGUwLi4zZjZkZDFmMjQyZTdhMTE1ZWNmNzk4MzkwZjM0YjYzNWM2ZThkNmY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTU5OCw3ICs1OTgs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGRSZXF1ZXN0Q2FuZGlkYXRlcygpIGNvbnN0Owog
CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25p
dGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYg
aW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlv
blJlc3VsdCYmKT4mJik7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVS
TCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpU
ZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOwogICAgIHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5h
bHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VC
aXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCmluZGV4IDRhOTcwMGEwZjAzYTNlMjE4MTJhMTI2M2M1MTIzZDc1ODg1MDFjYTIuLmVjYWY2
ZmM5NGI5ZmQ4NTRjNTFjYTliNWM3ZjliYTMzOTVkMmM5YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGlj
IFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVx
dWVzdChDR0ltYWdlUmVmIGkKICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAotdm9pZCBXZWJWaWV3
SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBX
ZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9u
UmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCiB7CiAgICAgaWYgKCFpc0xpdmVUZXh0QXZhaWxhYmxl
QW5kRW5hYmxlZCgpKSB7CiAgICAgICAgIGNvbXBsZXRpb24oeyB9KTsKQEAgLTIxOCw2ICsyMTgs
MTQgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwm
IGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXQKICAgICB9CiAKICAgICBhdXRvIGNnSW1hZ2Ug
PSBpbWFnZUJpdG1hcC0+bWFrZUNHSW1hZ2UoKTsKKworI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
U19FTkhBTkNFTUVOVFMpCisgICAgaWYgKCFpZGVudGlmaWVyLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIHJlcXVlc3RJbWFnZUFuYWx5c2lzV2l0aElkZW50aWZpZXIoZW5zdXJlSW1hZ2VBbmFs
eXplcigpLCBpZGVudGlmaWVyLCBjZ0ltYWdlLmdldCgpLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworI2VuZGlmCisKICAgICBhdXRv
IHJlcXVlc3QgPSBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChjZ0ltYWdlLmdldCgpLCBpbWFn
ZVVSTCwgW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzptX3BhZ2UtPmN1cnJlbnRVUkwoKV0s
IFZLQW5hbHlzaXNUeXBlVGV4dCk7CiAgICAgYXV0byBzdGFydFRpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBbZW5zdXJlSW1hZ2VBbmFseXplcigpIHByb2Nlc3NSZXF1ZXN0OnJlcXVl
c3QuZ2V0KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQ
dHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pLCBzdGFydFRpbWVdIChWS0ltYWdl
QW5hbHlzaXMgKmFuYWx5c2lzLCBOU0Vycm9yICopIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IDVlMmVjNzU1OTljNTZhY2E1NDZiYWQyYTVjNjNkZWUxYTBh
NjczMmYuLmM0ODVjN2ZjMzEzZWEwODMzZmM2MDYyNjcxNjlkNjkyYTgyNDA5MjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTU0Nyw3ICs1NDcsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKSB7IGNvbXBsZXRpb24oeyB9
KTsgfQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYg
aW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0
UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9uKHsgfSk7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVS
TCYsIFNoYXJlYWJsZUJpdG1hcCYsIEltYWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb24pIHsgY29tcGxldGlvbihmYWxzZSk7IH0KICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmNWQ0ZDlj
MzY2NjUzYTdmMjI1Nzc3NzE0YzlmOTFkZDE4OThhMzY4Li5mNjUwZWExN2Y2N2ZjMDIwNmQ4MDll
ZDQwZGRmNWM2MzM3ODE5Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTg2MTYsOSArODYxNiw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKEZyYW1lSWRlbnRpZmllciBmCiAKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJl
Y29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYWdlUHJv
eHk6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hh
cmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFRleHRS
ZWNvZ25pdGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGlt
YWdlRGF0YSwgaWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVS
TCYgaW1hZ2VVUkwsIFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNU
eXBlIHR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggODdhNDE1N2JiNDkzODhhOTM5
NzA5MzdjMTViYTJkZTZmNmNkYTIzNC4uNTk5OWNlOTgyMTU1MmE5ZDY2ODA2NjA4YzA0ZmE0MWEy
OTUwM2E5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE2OTgs
NyArMTY5OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lT
KQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBy
ZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYp
OwogICAgIHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChXZWJDb3JlOjpUZXh0
UmVjb2duaXRpb25SZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChU
ZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQpPiYmKTsKICAgICB2b2lkIGNvbXB1dGVIYXNJbWFn
ZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRtYXAmIGlt
YWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBzdGFydEltYWdlQW5hbHlzaXMoY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgppbmRleCBiM2RjOGQyMDFjZDM2YWI0YzJkMDJkYmI2ODE4ZTVlZGQwNDIwNjFjLi43NTkw
YmQ4ZTUxZGVlYzhjYmM5OTgxNDFkMThiMmM3MDIxMjlmMzk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMTYsNyArMjE2LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTZXRIYXNIYWRTZWxlY3Rpb25DaGFu
Z2VzRnJvbVVzZXJJbnRlcmFjdGlvbihib29sIGhhc0hhZFVzZXJTZWxlY3Rpb25DaGFuZ2VzKQog
CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIFJlcXVlc3RUZXh0UmVjb2duaXRpb24o
VVJMIGltYWdlVVJMLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGltYWdlRGF0YSkg
LT4gKHN0cnVjdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgcmVzdWx0KSBBc3luYwor
ICAgIFJlcXVlc3RUZXh0UmVjb2duaXRpb24oVVJMIGltYWdlVVJMLCBXZWJLaXQ6OlNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlIGltYWdlRGF0YSwgU3RyaW5nIGlkZW50aWZpZXIpIC0+IChzdHJ1Y3Qg
V2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCkgQXN5bmMKICNlbmRpZgogCiAj
aWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmlu
ZGV4IGE0ODY0MTQ0YjJkN2Y5ZmUzNWZmODdlNmM0ZjQ0ODI5MTE2ODNlNjIuLjU2MDczYmI4Mzc3
YjA2YmM0MTVkNTZlMDY3OGMzMTZmNmM4ZTJiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVz
dFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRl
eHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJl
Y29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpIGZpbmFsOwogI2Vu
ZGlmCiAKICAgICBSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5
KFdlYlBhZ2VQcm94eSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGUzNjM2MzRmYWNiZWFlOGU4YTdhZjQ2ZmE0
ZjViMTg3N2IxOWFkNmQuLjI2YmZhYzY1NzIyNDIwNDYzY2JlODYxMjNiM2MyMTk0Yjg1ZGRmMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KQEAgLTQ2Myw5ICs0NjMsOSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkb25lRGVmZXJyaW5n
VG91Y2hFbmQoYm9vbCBwcmV2ZW50TmF0aXZlR2VzdHVyZXMpCiAKICNpZiBFTkFCTEUoSU1BR0Vf
QU5BTFlTSVMpCiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24o
Y29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdl
RGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1
bHQmJik+JiYgY29tcGxldGlvbikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQog
ewotICAgIFttX2NvbnRlbnRWaWV3IHJlcXVlc3RUZXh0UmVjb2duaXRpb246aW1hZ2VVUkwgaW1h
Z2VEYXRhOmltYWdlRGF0YSBjb21wbGV0aW9uSGFuZGxlcjpXVEZNb3ZlKGNvbXBsZXRpb24pXTsK
KyAgICBbbV9jb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlVVJMIGltYWdl
RGF0YTppbWFnZURhdGEgaWRlbnRpZmllcjppZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOldU
Rk1vdmUoY29tcGxldGlvbildOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oCmluZGV4IDMwNzc2YWY4NjBiODMyNGUzMzRiZjFhNjQyMzA5NTQ4N2Q1Yjk1
NGEuLmIzZjhhMzJlZTQ2YjFmN2E5OTI0YTc1YmZkNGZkNDc0OTcxMmJkNzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
LmgKQEAgLTc1OCw3ICs3NTgsNyBAQCBGT1JfRUFDSF9QUklWQVRFX1dLQ09OVEVOVFZJRVdfQUNU
SU9OKERFQ0xBUkVfV0tDT05URU5UVklFV19BQ1RJT05fRk9SX1dFQl9WSUVXKQogCiAjaWYgRU5B
QkxFKElNQUdFX0FOQUxZU0lTKQogLSAodm9pZClfZW5kSW1hZ2VBbmFseXNpc0dlc3R1cmVEZWZl
cnJhbDooV2ViS2l0OjpTaG91bGRQcmV2ZW50R2VzdHVyZXMpc2hvdWxkUHJldmVudEdlc3R1cmVz
OwotLSAodm9pZClyZXF1ZXN0VGV4dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdl
RGF0YTooY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGNv
bXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNv
Z25pdGlvblJlc3VsdCYmKT4mJiljb21wbGV0aW9uOworLSAodm9pZClyZXF1ZXN0VGV4dFJlY29n
bml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29uc3QgV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGlkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRp
ZmllciBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpU
ZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbjsKICNlbmRpZgogCiBAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQppbmRleCAxN2VkMzJiNWE0Mzc2ZWZmNjA5MDY0MGQyMDZjYWZmZTMwZGViNTQy
Li5hOGU5MGU0MjlhNmVjZTEzNjg3YjlmOTFiYzczODJjYTdjYjBmZjNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0KQEAgLTEwMTUwLDcgKzEwMTUwLDcgQEAgLSAoQk9PTCl2YWxpZGF0ZUltYWdlQW5hbHlzaXNS
ZXF1ZXN0SWRlbnRpZmllcjooV2ViS2l0OjpJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KICAgICBy
ZXR1cm4gTk87CiB9CiAKLS0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilp
bWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUm
KWltYWdlRGF0YSBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbgorLSAodm9pZClyZXF1
ZXN0VGV4dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29uc3QgV2Vi
S2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGlkZW50aWZpZXI6KE5TU3Ry
aW5nICopaWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbgogewogICAg
IGF1dG8gaW1hZ2VCaXRtYXAgPSBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdl
RGF0YSk7CiAgICAgaWYgKCFpbWFnZUJpdG1hcCkgewpAQCAtMTAxNjQsOCArMTAxNjQsMTUgQEAg
LSAodm9pZClyZXF1ZXN0VGV4dFJlY29nbml0aW9uOihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0
YTooY29uc3QgV2ViS2l0OjpTaGFyZWEKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorI2lmIEVO
QUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAgaWYgKGlkZW50aWZpZXIubGVu
Z3RoKQorICAgICAgICByZXR1cm4gV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVu
dGlmaWVyKHNlbGYuaW1hZ2VBbmFseXplciwgaWRlbnRpZmllciwgY2dJbWFnZS5nZXQoKSwgV1RG
TW92ZShjb21wbGV0aW9uKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsK
KyNlbmRpZgorCiAgICAgYXV0byByZXF1ZXN0ID0gW3NlbGYgY3JlYXRlSW1hZ2VBbmFseXplclJl
cXVlc3Q6VktBbmFseXNpc1R5cGVUZXh0IGltYWdlOmNnSW1hZ2UuZ2V0KCldOwotICAgIFtbc2Vs
ZiBpbWFnZUFuYWx5emVyXSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0LmdldCgpIHByb2dyZXNzSGFu
ZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RG
TW92ZShjb21wbGV0aW9uKV0gKFZLSW1hZ2VBbmFseXNpcyAqcmVzdWx0LCBOU0Vycm9yICopIG11
dGFibGUgeworICAgIFtzZWxmLmltYWdlQW5hbHl6ZXIgcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5n
ZXQoKSBwcm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihb
Y29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChWS0ltYWdlQW5hbHlzaXMgKnJlc3Vs
dCwgTlNFcnJvciAqKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbihXZWJLaXQ6Om1ha2VU
ZXh0UmVjb2duaXRpb25SZXN1bHQocmVzdWx0KSk7CiAgICAgfSkuZ2V0KCldOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCAzOGE0
MzAyYWY4OGEwMTUxMzljMjJjODg2ODFlNzlmNDY3M2ExZDE4Li5kMjIzOGZkYzlkMTZmNzdmOGMz
ZDMwMmNhOTk3NmZlODNmMWIzZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBkb25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29s
IHdhc0V2ZW50SGFuZGxlZCkgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
Ci0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNv
bnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3Qg
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3Vs
dHMoY29uc3QgVVJMJiwgU2hhcmVhYmxlQml0bWFwJiwgSW1hZ2VBbmFseXNpc1R5cGUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCBkNDMz
YTZkZDJiMmY4NGM0ZDliNDFiOTg3ZWQzMzFjY2E1MDEwMzlhLi5hNDExMjEzNWYyZWYxOTAxNWE1
MmYxZTFiMDNhZTMwYTFmMjIzZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC00ODAsOSArNDgwLDkgQEAgdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiBl
dmVudCwgYm9vbAogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoVGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYg
Y29tcGxldGlvbikKIHsKLSAgICBtX2ltcGwtPnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VV
UkwsIGltYWdlRGF0YSwgV1RGTW92ZShjb21wbGV0aW9uKSk7CisgICAgbV9pbXBsLT5yZXF1ZXN0
VGV4dFJlY29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIGlkZW50aWZpZXIsIFdURk1vdmUo
Y29tcGxldGlvbikpOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpjb21wdXRlSGFzSW1hZ2VB
bmFseXNpc1Jlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFn
ZUJpdG1hcCwgSW1hZ2VBbmFseXNpc1R5cGUgdHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAzMzcxYTZmYjZi
OTg5NTdmYWMxYzUxY2E2ZDFlMzRmYTkxYmQwOWY3Li5mYzdiYzMzMjNhYjRmOWM2YmNjOTkyOWZh
NmVjOGI1ZjBmMDgyMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTQ5Miw5ICsxNDky
LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1
cyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aWUKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
UykKIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oRWxlbWVu
dCYgZWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYg
Y29tcGxldGlvbikKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYgY29tcGxldGlvbikKIHsKLSAgICBtX3Bh
Z2UucmVxdWVzdFRleHRSZWNvZ25pdGlvbihlbGVtZW50LCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsK
KyAgICBtX3BhZ2UucmVxdWVzdFRleHRSZWNvZ25pdGlvbihlbGVtZW50LCBpZGVudGlmaWVyLCBX
VEZNb3ZlKGNvbXBsZXRpb24pKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
NmFlODFjM2Y1N2QwNDc3YTI1NmMxNTFjZmY2MjQ5ZTcyNGEzZWIwOC4uYTc0OWY1OTMxOTI3NGVl
NDZlMGFkODEyNWE4OTRlZDZjZmUwYjk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNDMxLDcg
KzQzMSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykK
LSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9KSBm
aW5hbDsKKyAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciA9IHsgfSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChS
ZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mJik+JiYgPSB7IH0pIGZpbmFsOwogI2VuZGlmCiAKICAg
ICBib29sIG5lZWRzSW1hZ2VPdmVybGF5Q29udHJvbGxlckZvclNlbGVjdGlvblBhaW50aW5nKCkg
Y29uc3QgZmluYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggY2UwZjgyMThlOTQ5YjdhZTUzZWE1ZWRhNmNhMTAyZjI0ZTZiNjZhZC4uMjk1ODc2
NWYyNTRmYTQwNTIyMWRiNWU5YzIyODg3NTljYWQ0MGZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc1MDIsNyArNzUwMiw3IEBAIHZvaWQg
V2ViUGFnZTo6cmVtb3ZlTWVkaWFVc2FnZU1hbmFnZXJTZXNzaW9uKE1lZGlhU2Vzc2lvbklkZW50
aWZpZXIgaWRlbnRpZmllcikKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAotdm9pZCBX
ZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmIGNv
bXBsZXRpb24pCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6
RWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uKQogewog
ICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKSB7CiAgICAgICAgIGlmIChjb21wbGV0
aW9uKQpAQCAtNzU2MSw3ICs3NTYxLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29n
bml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGUKIAogICAg
IGF1dG8gY2FjaGVkSW1hZ2UgPSByZW5kZXJJbWFnZS5jYWNoZWRJbWFnZSgpOwogICAgIGF1dG8g
aW1hZ2VVUkwgPSBjYWNoZWRJbWFnZSA/IGVsZW1lbnQuZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChj
YWNoZWRJbWFnZS0+dXJsKCkuc3RyaW5nKCkpIDogVVJMIHsgfTsKLSAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFRleHRSZWNvZ25pdGlvbihXVEZN
b3ZlKGltYWdlVVJMKSwgV1RGTW92ZShiaXRtYXBIYW5kbGUpKSwgW3dlYlBhZ2UgPSBXZWFrUHRy
IHsgKnRoaXMgfSwgd2Vha0VsZW1lbnQgPSBXZWFrUHRyIHsgZWxlbWVudCB9XSAoYXV0byYmIHJl
c3VsdCkgeworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpS
ZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdURk1vdmUoaW1hZ2VVUkwpLCBXVEZNb3ZlKGJpdG1hcEhh
bmRsZSksIGlkZW50aWZpZXIpLCBbd2ViUGFnZSA9IFdlYWtQdHIgeyAqdGhpcyB9LCB3ZWFrRWxl
bWVudCA9IFdlYWtQdHIgeyBlbGVtZW50IH1dIChhdXRvJiYgcmVzdWx0KSB7CiAgICAgICAgIFJl
ZlB0ciBwcm90ZWN0ZWRQYWdlIHsgd2ViUGFnZS5nZXQoKSB9OwogICAgICAgICBpZiAoIXByb3Rl
Y3RlZFBhZ2UpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNjhmMWI5YTQzOWJmNWRlNmMwNjE0NDFlMDdhZjc3MDZh
ZjUwMzhjZC4uNDFlMjYwMzlhYjgxNGI0NDI0YzJlMjJhNmM0ZWYyY2EzZWExYmY3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQzMCw3ICsxNDMw
LDcgQEAgcHVibGljOgogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncyk7CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJik7Cisg
ICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIgPSB7IH0sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdl
YkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9KTsKICAgICB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVj
b2duaXRpb25SZXN1bHQoY29uc3QgV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiwgY29u
c3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBs
b2NhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1
bHQpPiYmKTsKICAgICB2b2lkIHN0YXJ0SW1hZ2VBbmFseXNpcyhjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444558</attachid>
            <date>2021-11-17 13:19:14 -0800</date>
            <delta_ts>2021-11-17 14:34:47 -0800</delta_ts>
            <desc>Remove unnecessary WebCore namespacing</desc>
            <filename>bug-233210-20211117131913.patch</filename>
            <type>text/plain</type>
            <size>22307</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY5YzNjNWE4MzQ4ZTgxYThk
NjU3YmEwNzNlMzdmZGNkYTUxZmI3NGYuLjZiMzcwODE1NjMwMWNhNDQ2YmIxZWExNGNmNTI1MmM3
MTdkZmM3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMTEtMTYgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xpdmUgVGV4dF0gUGx1
bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgYW4gb3B0aW9uYWwgKGkuZS4gbnVsbC1ieS1kZWZhdWx0KSBpZGVudGlmaWVy
IHN0cmluZyB0byB0aGUgYHJlcXVlc3RUZXh0UmVjb2duaXRpb24oKWAgV2ViS2l0IGNsaWVudCBo
b29rLAorICAgICAgICBhbmQgY2FsbCBpbnRvIGEgbmV3IGhlbHBlciBmdW5jdGlvbiBpbiBUZXh0
UmVjb2duaXRpb25VdGlsaXRpZXMuaCwgdGhhdCdzIGltcGxlbWVudGVkIGluIFdlYktpdEFkZGl0
aW9ucyAod2l0aAorICAgICAgICBhbiBlbXB0eSBzdHViIGluIG9wZW4gc291cmNlIGNvZGUpLgor
CisgICAgICAgIFNlZSBjb3JyZXNwb25kaW5nIHJhZGFyIGZvciBtb3JlIGluZm9ybWF0aW9uLgor
CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmg6Cisg
ICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tOgorICAg
ICAgICAoV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVyKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXF1
ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFnZURhdGE6aWRlbnRpZmllcjpjb21wbGV0
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29n
bml0aW9uOmltYWdlRGF0YTpjb21wbGV0aW9uSGFuZGxlcjpdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRleHRS
ZWNvZ25pdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisKIDIwMjEt
MTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGEgaGVscGVyIGNsYXNzIHRvIGNvb3JkaW5hdGUgYmF0Y2ggYW5hbHlzaXMgb2YgaW1hZ2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlv
blV0aWxpdGllcy5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRp
b25VdGlsaXRpZXMuaAppbmRleCAxMGQ5NDliNzg1ODkwZjZjOGNlOTcxZmM0MDhjNDg5NzA2YmMx
ZjE1Li4zYjdjMTI0OWM1OWE4MjhhMTc4YTM4MGI4NzMwNTlkNzc2M2QzMjBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0
aWVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKICNp
bXBvcnQgPHBhbC9zcGkvY29jb2EvVmlzaW9uS2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL0Nv
bXBsZXRpb25IYW5kbGVyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQzLDYgKzQ0LDEwIEBAIFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJl
c3VsdCBtYWtlVGV4dFJlY29nbml0aW9uUmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqKTsKIFJldGFp
blB0cjxWS0ltYWdlQW5hbHl6ZXI+IGNyZWF0ZUltYWdlQW5hbHl6ZXIoKTsKIFJldGFpblB0cjxW
S0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdl
UmVmLCBWS0FuYWx5c2lzVHlwZXMpOwogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFO
Q0VNRU5UUykKK3ZvaWQgcmVxdWVzdEltYWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdl
QW5hbHl6ZXIgKiwgTlNTdHJpbmcgKmlkZW50aWZpZXIsIENHSW1hZ2VSZWYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKKyNlbmRp
ZgorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1t
CmluZGV4IGY3NjhiYjc0NGNmNmU4MDRjODNiNjE0NmZiZWY4YTcxMjkwMTM3ZWUuLjAxNGY4ZTJm
NmExMmU5OTkxNGU4ZWM2NGI4NGZiZmI0YzlmNjYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKKyNpbXBvcnQgIkxv
Z2dpbmcuaCIKICNpbXBvcnQgPFdlYkNvcmUvVGV4dFJlY29nbml0aW9uUmVzdWx0Lmg+CiAjaW1w
b3J0IDxwYWwvY29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgpAQCAtMTM4LDYgKzEzOSwxNSBAQCBzdGF0aWMgYm9v
bCBpc0xpdmVUZXh0RW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUo
SU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorCit2b2lkIHJlcXVlc3RJbWFnZUFuYWx5c2lz
V2l0aElkZW50aWZpZXIoVktJbWFnZUFuYWx5emVyICosIE5TU3RyaW5nICosIENHSW1hZ2VSZWYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb24pCit7CisgICAgY29tcGxldGlvbih7IH0pOworfQorCisjZW5kaWYgLy8gRU5BQkxFKElN
QUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKwogI2VuZGlmCiAKIGJvb2wgaXNMaXZlVGV4dEF2
YWlsYWJsZUFuZEVuYWJsZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLmgKaW5kZXggYjc3ZDRjMDdjYjA3MzIwMDk3NGJkMzBhMzRjNzdmODBlMjg5M2RlMC4u
M2Y2ZGQxZjI0MmU3YTExNWVjZjc5ODM5MGYzNGI2MzVjNmU4ZDZmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01OTgsNyArNTk4LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgc2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMoKSBjb25zdDsKIAogI2lmIEVO
QUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29u
c3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0
YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQm
Jik+JiYpOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdl
VVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29n
bml0aW9uUmVzdWx0JiYpPiYmKTsKICAgICB2b2lkIGNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVz
dWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBJ
bWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRl
eCA0YTk3MDBhMGYwM2EzZTIxODEyYTEyNjNjNTEyM2Q3NTg4NTAxY2EyLi4zZDllODc3YjBjYjc1
NjU0YjYzOTE2Mzk1NTdmNTJiNjAzOTJjYWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBSZXRhaW5Q
dHI8VktJbWFnZUFuYWx5emVyUmVxdWVzdD4gY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3QoQ0dJ
bWFnZVJlZiBpCiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OnJl
cXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikKK3ZvaWQgV2ViVmlld0lt
cGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hh
cmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21w
bGV0aW9uKQogewogICAgIGlmICghaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkgewog
ICAgICAgICBjb21wbGV0aW9uKHsgfSk7CkBAIC0yMTgsNiArMjE4LDE0IEBAIHZvaWQgV2ViVmll
d0ltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3Qg
U2hhcmVhYmxlQml0CiAgICAgfQogCiAgICAgYXV0byBjZ0ltYWdlID0gaW1hZ2VCaXRtYXAtPm1h
a2VDR0ltYWdlKCk7CisKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQor
ICAgIGlmICghaWRlbnRpZmllci5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiByZXF1ZXN0SW1h
Z2VBbmFseXNpc1dpdGhJZGVudGlmaWVyKGVuc3VyZUltYWdlQW5hbHl6ZXIoKSwgaWRlbnRpZmll
ciwgY2dJbWFnZS5nZXQoKSwgV1RGTW92ZShjb21wbGV0aW9uKSk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShpZGVudGlmaWVyKTsKKyNlbmRpZgorCiAgICAgYXV0byByZXF1ZXN0ID0gY3JlYXRl
SW1hZ2VBbmFseXplclJlcXVlc3QoY2dJbWFnZS5nZXQoKSwgaW1hZ2VVUkwsIFtOU1VSTCBfd2Vi
X1VSTFdpdGhXVEZTdHJpbmc6bV9wYWdlLT5jdXJyZW50VVJMKCldLCBWS0FuYWx5c2lzVHlwZVRl
eHQpOwogICAgIGF1dG8gc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgW2Vu
c3VyZUltYWdlQW5hbHl6ZXIoKSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0LmdldCgpIHByb2dyZXNz
SGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uID0g
V1RGTW92ZShjb21wbGV0aW9uKSwgc3RhcnRUaW1lXSAoVktJbWFnZUFuYWx5c2lzICphbmFseXNp
cywgTlNFcnJvciAqKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApp
bmRleCA1ZTJlYzc1NTk5YzU2YWNhNTQ2YmFkMmE1YzYzZGVlMWEwYTY3MzJmLi5jNDg1YzdmYzMx
M2VhMDgzM2ZjNjA2MjY3MTY5ZDY5MmE4MjQwOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCkBAIC01NDcsNyArNTQ3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRp
b24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25S
ZXN1bHQmJik+JiYgY29tcGxldGlvbikgeyBjb21wbGV0aW9uKHsgfSk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0
JiYpPiYmIGNvbXBsZXRpb24pIHsgY29tcGxldGlvbih7IH0pOyB9CiAgICAgdmlydHVhbCB2b2lk
IGNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmLCBTaGFyZWFibGVCaXRt
YXAmLCBJbWFnZUFuYWx5c2lzVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBj
b21wbGV0aW9uKSB7IGNvbXBsZXRpb24oZmFsc2UpOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZjVkNGQ5YzM2NjY1M2E3ZjIyNTc3Nzcx
NGM5ZjkxZGQxODk4YTM2OC4uNDJhZGU2ZDhiOWQxNTZkODZlNGM2MWUwM2Q4Yjk4ZTJhYmE5OWNl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NjE2LDkg
Kzg2MTYsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlv
bkFuZE1vdGlvbkFjY2VzcyhGcmFtZUlkZW50aWZpZXIgZgogCiAjaWYgRU5BQkxFKElNQUdFX0FO
QUxZU0lTKQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25z
dCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRh
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJl
Y29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgcGFnZUNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGltYWdl
RGF0YSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIHBhZ2VDbGllbnQoKS5yZXF1
ZXN0VGV4dFJlY29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIGlkZW50aWZpZXIsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNvbXB1dGVI
YXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRt
YXAmIGltYWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSB0eXBlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDg3YTQxNTdiYjQ5Mzg4YTkzOTcwOTM3YzE1YmEyZGU2ZjZjZGEyMzQuLjU5
OTljZTk4MjE1NTJhOWQ2NjgwNjYwOGMwNGZhNDFhMjk1MDNhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNjk4LDcgKzE2OTgsNyBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVj
b2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2du
aXRpb25SZXN1bHQmJik+JiYpOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25z
dCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRh
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKICAgICB2b2lkIHVwZGF0ZVdpdGhUZXh0
UmVjb2duaXRpb25SZXN1bHQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYsIGNvbnN0
IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9j
YXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0
KT4mJik7CiAgICAgdm9pZCBjb21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3VsdHMoY29uc3QgVVJM
JiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hcCwgSW1hZ2VBbmFseXNpc1R5
cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQgc3RhcnRJbWFn
ZUFuYWx5c2lzKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjNkYzhkMjAxY2QzNmFi
NGMyZDAyZGJiNjgxOGU1ZWRkMDQyMDYxYy4uNzU5MGJkOGU1MWRlZWM4Y2JjOTk4MTQxZDE4YjJj
NzAyMTI5ZjM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMjE2LDcgKzIxNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94
eSB7CiAgICAgU2V0SGFzSGFkU2VsZWN0aW9uQ2hhbmdlc0Zyb21Vc2VySW50ZXJhY3Rpb24oYm9v
bCBoYXNIYWRVc2VyU2VsZWN0aW9uQ2hhbmdlcykKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
UykKLSAgICBSZXF1ZXN0VGV4dFJlY29nbml0aW9uKFVSTCBpbWFnZVVSTCwgV2ViS2l0OjpTaGFy
ZWFibGVCaXRtYXA6OkhhbmRsZSBpbWFnZURhdGEpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6VGV4dFJl
Y29nbml0aW9uUmVzdWx0IHJlc3VsdCkgQXN5bmMKKyAgICBSZXF1ZXN0VGV4dFJlY29nbml0aW9u
KFVSTCBpbWFnZVVSTCwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBpbWFnZURhdGEs
IFN0cmluZyBpZGVudGlmaWVyKSAtPiAoc3RydWN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJl
c3VsdCByZXN1bHQpIEFzeW5jCiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBhNDg2NDE0NGIyZDdmOWZlMzVmZjg3
ZTZjNGY0NDgyOTExNjgzZTYyLi41NjA3M2JiODM3N2IwNmJjNDE1ZDU2ZTA2NzhjMzE2ZjZjOGUy
YmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaApAQCAtMTIxLDcgKzEyMSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJ
TUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJM
JiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYp
IGZpbmFsOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdl
VVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29n
bml0aW9uUmVzdWx0JiYpPiYmKSBmaW5hbDsKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYlBvcHVw
TWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkmKSBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpp
bmRleCBlMzYzNjM0ZmFjYmVhZThlOGE3YWY0NmZhNGY1YjE4NzdiMTlhZDZkLi42OGJjNDU3NGRl
ODk1MGE1MzZjMmE1ODhkYTQzOWVlODQ4NjMwYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC00NjMsOSArNDYzLDkgQEAgdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6ZG9uZURlZmVycmluZ1RvdWNoRW5kKGJvb2wgcHJldmVudE5hdGl2
ZUdlc3R1cmVzKQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VV
UkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1
bHQmJik+JiYgY29tcGxldGlvbikKIHsKLSAgICBbbV9jb250ZW50VmlldyByZXF1ZXN0VGV4dFJl
Y29nbml0aW9uOmltYWdlVVJMIGltYWdlRGF0YTppbWFnZURhdGEgY29tcGxldGlvbkhhbmRsZXI6
V1RGTW92ZShjb21wbGV0aW9uKV07CisgICAgW21fY29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNv
Z25pdGlvbjppbWFnZVVSTCBpbWFnZURhdGE6aW1hZ2VEYXRhIGlkZW50aWZpZXI6aWRlbnRpZmll
ciBjb21wbGV0aW9uSGFuZGxlcjpXVEZNb3ZlKGNvbXBsZXRpb24pXTsKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShJTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCAzMDc3NmFmODYwYjgzMjRl
MzM0YmYxYTY0MjMwOTU0ODdkNWI5NTRhLi5iM2Y4YTMyZWU0NmIxZjdhOTkyNGE3NWJmZDRmZDQ3
NDk3MTJiZDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC03NTgsNyArNzU4LDcgQEAgRk9SX0VBQ0hfUFJJ
VkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZP
Ul9XRUJfVklFVykKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIC0gKHZvaWQpX2VuZElt
YWdlQW5hbHlzaXNHZXN0dXJlRGVmZXJyYWw6KFdlYktpdDo6U2hvdWxkUHJldmVudEdlc3R1cmVz
KXNob3VsZFByZXZlbnRHZXN0dXJlczsKLS0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjoo
TlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpIYW5kbGUmKWltYWdlRGF0YSBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbjsKKy0g
KHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6
KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBpZGVudGlm
aWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRp
b247CiAjZW5kaWYKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggMTdlZDMyYjVhNDM3NmVmZjYw
OTA2NDBkMjA2Y2FmZmUzMGRlYjU0Mi4uYThlOTBlNDI5YTZlY2UxMzY4N2I5ZjkxYmM3MzgyY2E3
Y2IwZmYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0xMDE1MCw3ICsxMDE1MCw3IEBAIC0gKEJPT0wp
dmFsaWRhdGVJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW50aWZpZXI6KFdlYktpdDo6SW1hZ2VBbmFs
eXNpc1JlcXVlc3RJZGVuCiAgICAgcmV0dXJuIE5POwogfQogCi0tICh2b2lkKXJlcXVlc3RUZXh0
UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1hZ2VEYXRhOihjb25zdCBXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgY29tcGxldGlvbkhhbmRsZXI6KENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNv
bXBsZXRpb24KKy0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVS
TCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdl
RGF0YSBpZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYp
PiYmKWNvbXBsZXRpb24KIHsKICAgICBhdXRvIGltYWdlQml0bWFwID0gV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OmNyZWF0ZShpbWFnZURhdGEpOwogICAgIGlmICghaW1hZ2VCaXRtYXApIHsKQEAg
LTEwMTY0LDggKzEwMTY0LDE1IEBAIC0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNV
UkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQor
ICAgIGlmIChpZGVudGlmaWVyLmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6cmVxdWVz
dEltYWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihzZWxmLmltYWdlQW5hbHl6ZXIsIGlkZW50aWZp
ZXIsIGNnSW1hZ2UuZ2V0KCksIFdURk1vdmUoY29tcGxldGlvbikpOworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0oaWRlbnRpZmllcik7CisjZW5kaWYKKwogICAgIGF1dG8gcmVxdWVzdCA9IFtzZWxm
IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OlZLQW5hbHlzaXNUeXBlVGV4dCBpbWFnZTpjZ0lt
YWdlLmdldCgpXTsKLSAgICBbW3NlbGYgaW1hZ2VBbmFseXplcl0gcHJvY2Vzc1JlcXVlc3Q6cmVx
dWVzdC5nZXQoKSBwcm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9j
a1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChWS0ltYWdlQW5hbHlzaXMg
KnJlc3VsdCwgTlNFcnJvciAqKSBtdXRhYmxlIHsKKyAgICBbc2VsZi5pbWFnZUFuYWx5emVyIHBy
b2Nlc3NSZXF1ZXN0OnJlcXVlc3QuZ2V0KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9u
SGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAo
VktJbWFnZUFuYWx5c2lzICpyZXN1bHQsIE5TRXJyb3IgKikgbXV0YWJsZSB7CiAgICAgICAgIGNv
bXBsZXRpb24oV2ViS2l0OjptYWtlVGV4dFJlY29nbml0aW9uUmVzdWx0KHJlc3VsdCkpOwogICAg
IH0pLmdldCgpXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLmgKaW5kZXggMzhhNDMwMmFmODhhMDE1MTM5YzIyYzg4NjgxZTc5ZjQ2NzNhMWQx
OC4uZDIyMzhmZGM5ZDE2Zjc3ZjhjM2QzMDJjYTk5NzZmZTgzZjFiM2YzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTEzMSw3ICsx
MzEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVX
ZWJLZXlib2FyZEV2ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpIG92ZXJyaWRlOwogCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihj
b25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VE
YXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0
IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcHV0
ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYsIFNoYXJlYWJsZUJpdG1hcCYsIElt
YWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlk
ZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW0KaW5kZXggZDQzM2E2ZGQyYjJmODRjNGQ5YjQxYjk4N2VkMzMxY2NhNTAxMDM5
YS4uYTQxMTIxMzVmMmVmMTkwMTVhNTJmMWUxYjAzYWUzMGExZjIyM2QyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtNDgwLDkg
KzQ4MCw5IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQsIGJvb2wKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFM
WVNJUykKIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25z
dCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRh
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21w
bGV0aW9uKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25z
dCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRh
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJl
Y29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCiB7Ci0gICAgbV9pbXBsLT5yZXF1ZXN0
VGV4dFJlY29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIFdURk1vdmUoY29tcGxldGlvbikp
OworICAgIG1faW1wbC0+cmVxdWVzdFRleHRSZWNvZ25pdGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRh
LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50
SW1wbDo6Y29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkws
IFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlIHR5cGUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKaW5kZXggMzM3MWE2ZmI2Yjk4OTU3ZmFjMWM1MWNhNmQxZTM0ZmE5MWJkMDlmNy4uZmM3
YmMzMzIzYWI0ZjljNmJjYzk5MjlmYTZlYzhiNWYwZjA4MjMwNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKQEAgLTE0OTIsOSArMTQ5Miw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VV
bml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmllCiAKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0
VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmIGVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
UmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNv
bXBsZXRpb24pCiB7Ci0gICAgbV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwg
V1RGTW92ZShjb21wbGV0aW9uKSk7CisgICAgbV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24o
ZWxlbWVudCwgaWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uKSk7CiB9CiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCmluZGV4IDZhZTgxYzNmNTdkMDQ3N2EyNTZjMTUxY2ZmNjI0OWU3MjRh
M2ViMDguLmE3NDlmNTkzMTkyNzRlZTQ2ZTBhZDgxMjVhODk0ZWQ2Y2ZlMGI5NGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTQzMSw3ICs0MzEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBF
TkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdl
YkNvcmU6OkVsZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpF
bGVtZW50PiYmKT4mJiA9IHsgfSkgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0
aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIgPSB7IH0sIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9
KSBmaW5hbDsKICNlbmRpZgogCiAgICAgYm9vbCBuZWVkc0ltYWdlT3ZlcmxheUNvbnRyb2xsZXJG
b3JTZWxlY3Rpb25QYWludGluZygpIGNvbnN0IGZpbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGNlMGY4MjE4ZTk0OWI3YWU1M2VhNWVkYTZj
YTEwMmYyNGU2YjY2YWQuLmIxOGQ3ZjcyZTY3YWNhZDRhYjU0NmQ0ZDQwOGVkYWExNGFjNjljYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03
NTAyLDcgKzc1MDIsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlbW92ZU1lZGlhVXNhZ2VNYW5hZ2VyU2Vz
c2lvbihNZWRpYVNlc3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICNpZiBFTkFCTEUoSU1B
R0VfQU5BTFlTSVMpCiAKLXZvaWQgV2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJD
b3JlOjpFbGVtZW50JiBlbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJD
b3JlOjpFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJQYWdlOjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYgY29tcGxldGlvbikK
IHsKICAgICBpZiAoIWlzPEhUTUxFbGVtZW50PihlbGVtZW50KSkgewogICAgICAgICBpZiAoY29t
cGxldGlvbikKQEAgLTc1NjEsNyArNzU2MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFRleHRS
ZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlCiAK
ICAgICBhdXRvIGNhY2hlZEltYWdlID0gcmVuZGVySW1hZ2UuY2FjaGVkSW1hZ2UoKTsKICAgICBh
dXRvIGltYWdlVVJMID0gY2FjaGVkSW1hZ2UgPyBlbGVtZW50LmRvY3VtZW50KCkuY29tcGxldGVV
UkwoY2FjaGVkSW1hZ2UtPnVybCgpLnN0cmluZygpKSA6IFVSTCB7IH07Ci0gICAgc2VuZFdpdGhB
c3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RUZXh0UmVjb2duaXRpb24o
V1RGTW92ZShpbWFnZVVSTCksIFdURk1vdmUoYml0bWFwSGFuZGxlKSksIFt3ZWJQYWdlID0gV2Vh
a1B0ciB7ICp0aGlzIH0sIHdlYWtFbGVtZW50ID0gV2Vha1B0ciB7IGVsZW1lbnQgfV0gKGF1dG8m
JiByZXN1bHQpIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6UmVxdWVzdFRleHRSZWNvZ25pdGlvbihXVEZNb3ZlKGltYWdlVVJMKSwgV1RGTW92ZShiaXRt
YXBIYW5kbGUpLCBpZGVudGlmaWVyKSwgW3dlYlBhZ2UgPSBXZWFrUHRyIHsgKnRoaXMgfSwgd2Vh
a0VsZW1lbnQgPSBXZWFrUHRyIHsgZWxlbWVudCB9XSAoYXV0byYmIHJlc3VsdCkgewogICAgICAg
ICBSZWZQdHIgcHJvdGVjdGVkUGFnZSB7IHdlYlBhZ2UuZ2V0KCkgfTsKICAgICAgICAgaWYgKCFw
cm90ZWN0ZWRQYWdlKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDY4ZjFiOWE0MzliZjVkZTZjMDYxNDQxZTA3YWY3
NzA2YWY1MDM4Y2QuLjQxZTI2MDM5YWI4MTRiNDQyNGMyZTIyYTZjNGVmMmNhM2VhMWJmN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE0MzAsNyAr
MTQzMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3MpOwogCiAjaWYgRU5BQkxFKElNQUdFX0FO
QUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mJik+JiYp
OworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiwgY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyID0geyB9LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0
cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiA9IHsgfSk7CiAgICAgdm9pZCB1cGRhdGVXaXRoVGV4
dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYs
IGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYgbG9jYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uVXBkYXRl
UmVzdWx0KT4mJik7CiAgICAgdm9pZCBzdGFydEltYWdlQW5hbHlzaXMoY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyKTsKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="469634"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444568</attachid>
            <date>2021-11-17 14:01:14 -0800</date>
            <delta_ts>2021-11-17 17:07:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233210-20211117140113.patch</filename>
            <type>text/plain</type>
            <size>27305</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQzYjE2OTYxNWI4M2E0
ZDg1ZDhkMDMwNzRlYmYxZmJkMDUzMzc5MS4uMTU1ZTAwYzQzNGQxMTk2YzUyMDFhYzkwY2QzMmFj
MmMwZGM2ZGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRd
IFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElt
YWdlOjppbWFnZU92ZXJsYXlFbGVtZW50cyk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlv
bik6CisgICAgICAgICogcGFnZS9JbWFnZUFuYWx5c2lzUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VBbmFseXNpc1F1ZXVlOjpyZXN1bWVQcm9jZXNzaW5nKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlcXVl
c3RUZXh0UmVjb2duaXRpb24pOgorCiAyMDIxLTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGlu
YXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTk1NWM0
ZDM1YmZhYmYwNWM1NTZiMWZjNTRiY2UwYzJmNDZmMzlmZS4uNjEwNDZkOWE0YjNkZmY2YmJmMWQx
MWE0YmVjYmUxMGQ1ODRlMGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5vdGhlciBXZWJLaXRBZGRpdGlvbnMg
ZXh0ZW5zaW9uIHBvaW50LgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3Jl
U1BJLmg6CisKIDIwMjEtMTEtMTYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgog
CiAgICAgICAgIFtBcHBsZSBQYXldIGhhbmRsZSB1bmtub3duIHNldHVwIGZlYXR1cmVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGY5YzNjNWE4MzQ4ZTgxYThkNjU3YmEwNzNlMzdmZGNkYTUxZmI3NGYuLjZiMzcwODE1
NjMwMWNhNDQ2YmIxZWExNGNmNTI1MmM3MTdkZmM3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMjEtMTEtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgYW4gaWRlbnRpZmllciBzdHJpbmcgdGhyb3VnaCBg
Q2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKClgCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyMTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgKGkuZS4gbnVs
bC1ieS1kZWZhdWx0KSBpZGVudGlmaWVyIHN0cmluZyB0byB0aGUgYHJlcXVlc3RUZXh0UmVjb2du
aXRpb24oKWAgV2ViS2l0IGNsaWVudCBob29rLAorICAgICAgICBhbmQgY2FsbCBpbnRvIGEgbmV3
IGhlbHBlciBmdW5jdGlvbiBpbiBUZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaCwgdGhhdCdzIGlt
cGxlbWVudGVkIGluIFdlYktpdEFkZGl0aW9ucyAod2l0aAorICAgICAgICBhbiBlbXB0eSBzdHVi
IGluIG9wZW4gc291cmNlIGNvZGUpLgorCisgICAgICAgIFNlZSBjb3JyZXNwb25kaW5nIHJhZGFy
IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJl
Y29nbml0aW9uVXRpbGl0aWVzLmg6CisgICAgICAgICogUGxhdGZvcm0vY29jb2EvVGV4dFJlY29n
bml0aW9uVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXF1ZXN0SW1hZ2VBbmFseXNp
c1dpdGhJZGVudGlmaWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpyZXF1
ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFn
ZURhdGE6aWRlbnRpZmllcjpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlRGF0YTpjb21wbGV0aW9uSGFuZGxl
cjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRl
eHRSZWNvZ25pdGlvbik6CisKIDIwMjEtMTEtMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgaGVscGVyIGNsYXNzIHRvIGNvb3JkaW5hdGUg
YmF0Y2ggYW5hbHlzaXMgb2YgaW1hZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmgKaW5kZXggYTc3ZTYxM2MxODFlZDI5MTBjNjZm
ZDA1NWE2OTk4OTFkNzQ2MDlhMS4uOTBlYTc0NzY0MWNlYWY4YjM1ZWEzYmVlNjRmNjQzNGVlM2Yx
NGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvVmlzaW9u
S2l0Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zpc2lv
bktpdENvcmVTUEkuaApAQCAtMTQ2LDQgKzE0Niw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
CiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0
QWRkaXRpb25zL1Zpc2lvbktpdENvcmVTUElBZGRpdGlvbnMuaD4KKyNlbmRpZgorCiAjZW5kaWYg
Ly8gSEFWRShWS19JTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
SW1hZ2UuY3BwCmluZGV4IDZmNjhlNzE1M2U0ODYxNTI2ZTYyZmQxYTcyYjQ4ZmViNGEwNTNiYjEu
Ljc1ZmVhOGIxNTJiMTZlNjk1ZDY0ZTI5OTJkOTM4M2E4NmNmZTIyZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWEltYWdlLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGQ6Om9wdGlv
bmFsPEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBBWEltYWdlOjpp
bWFnZU92ZXJsYXlFbAogICAgIGlmICghZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIAotICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRp
b24oKmVsZW1lbnQsIFtdIChSZWZQdHI8RWxlbWVudD4mJiBpbWFnZU92ZXJsYXlIb3N0KSB7Cisg
ICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVu
dCwgeyB9LCBbXSAoUmVmUHRyPEVsZW1lbnQ+JiYgaW1hZ2VPdmVybGF5SG9zdCkgewogICAgICAg
ICBpZiAoIWltYWdlT3ZlcmxheUhvc3QpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGM1ZWQ5YjhjMTJkNDU4MTdlMzA0NmNmZDg1NTQ1MDVm
NGU0ZjA1MTQuLmUxM2UzODdkMTkxNjhhYzVmZDM1OWIyZTYxNmQ0M2RkM2YxNzUwMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNTg1LDcgKzU4NSw3IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0
cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQorICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmID0geyB9LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQog
ICAgIHsKICAgICAgICAgaWYgKGNvbXBsZXRpb24pCiAgICAgICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5jcHAKaW5kZXggM2Iy
NjFlZDFkODc0MGMxOWUxNThiZjYxZjczZGM1NGYyNDMyNWVkMS4uODY4Y2NjN2YyOTM5MWY3MGYy
ZGY3ZjUwZDBhMTIyZjBkZjFkZWNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9J
bWFnZUFuYWx5c2lzUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFs
eXNpc1F1ZXVlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIEltYWdlQW5hbHlzaXNRdWV1ZTo6
cmVzdW1lUHJvY2Vzc2luZygpCiAKICAgICAgICAgbV9wZW5kaW5nUmVxdWVzdENvdW50Kys7CiAg
ICAgICAgIG1fcGFnZS0+cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHQoKmVsZW1lbnQpOwotICAg
ICAgICBtX3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKmVs
ZW1lbnQsIFt0aGlzLCBwYWdlID0gbV9wYWdlXSAoYXV0byYmKSB7CisgICAgICAgIG1fcGFnZS0+
Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgaWRlbnRp
ZmllciwgW3RoaXMsIHBhZ2UgPSBtX3BhZ2VdIChhdXRvJiYpIHsKICAgICAgICAgICAgIGlmICgh
cGFnZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBhNWVjZTA4MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi44
NTVlZTYwYjc2ODc5NzI5NzBkY2MzN2I3Njc5ZDk5ZTVmMjgxY2RlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzkxLDcgKzU3OTEsNyBAQCB2b2lkIEludGVybmFsczo6
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZWZQdHI8Vm9pZENhbGxi
YWNrPiYmCiAgICAgfQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGll
bnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIHsgfSwgW2NhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAg
ICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaAppbmRl
eCAxMGQ5NDliNzg1ODkwZjZjOGNlOTcxZmM0MDhjNDg5NzA2YmMxZjE1Li4zYjdjMTI0OWM1OWE4
MjhhMTc4YTM4MGI4NzMwNTlkNzc2M2QzMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4
LDcgQEAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvVmlzaW9uS2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQz
LDYgKzQ0LDEwIEBAIFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29n
bml0aW9uUmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6
ZXI+IGNyZWF0ZUltYWdlQW5hbHl6ZXIoKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1
ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVmLCBWS0FuYWx5c2lzVHlw
ZXMpOwogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKK3ZvaWQgcmVx
dWVzdEltYWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgTlNTdHJp
bmcgKmlkZW50aWZpZXIsIENHSW1hZ2VSZWYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKKyNlbmRpZgorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IGY3NjhiYjc0NGNm
NmU4MDRjODNiNjE0NmZiZWY4YTcxMjkwMTM3ZWUuLjAxNGY4ZTJmNmExMmU5OTkxNGU4ZWM2NGI4
NGZiZmI0YzlmNjYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
VGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKKyNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
PFdlYkNvcmUvVGV4dFJlY29nbml0aW9uUmVzdWx0Lmg+CiAjaW1wb3J0IDxwYWwvY29jb2EvVmlz
aW9uS2l0Q29yZVNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFn
c1NQSS5oPgpAQCAtMTM4LDYgKzEzOSwxNSBAQCBzdGF0aWMgYm9vbCBpc0xpdmVUZXh0RW5hYmxl
ZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5I
QU5DRU1FTlRTKQorCit2b2lkIHJlcXVlc3RJbWFnZUFuYWx5c2lzV2l0aElkZW50aWZpZXIoVktJ
bWFnZUFuYWx5emVyICosIE5TU3RyaW5nICosIENHSW1hZ2VSZWYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoVGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit7CisgICAgY29t
cGxldGlvbih7IH0pOworfQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFO
Q0VNRU5UUykKKwogI2VuZGlmCiAKIGJvb2wgaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggYjc3
ZDRjMDdjYjA3MzIwMDk3NGJkMzBhMzRjNzdmODBlMjg5M2RlMC4uM2Y2ZGQxZjI0MmU3YTExNWVj
Zjc5ODM5MGYzNGI2MzVjNmU4ZDZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5oCkBAIC01OTgsNyArNTk4LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hv
dWxkUmVxdWVzdENhbmRpZGF0ZXMoKSBjb25zdDsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
UykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwg
Y29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpOworICAgIHZvaWQg
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYm
KTsKICAgICB2b2lkIGNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGlt
YWdlVVJMLCBTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA0YTk3MDBhMGYwM2EzZTIx
ODEyYTEyNjNjNTEyM2Q3NTg4NTAxY2EyLi4zZDllODc3YjBjYjc1NjU0YjYzOTE2Mzk1NTdmNTJi
NjAzOTJjYWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8VktJbWFnZUFuYWx5emVy
UmVxdWVzdD4gY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3QoQ0dJbWFnZVJlZiBpCiAgICAgcmV0
dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRp
b24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25S
ZXN1bHQmJik+JiYgY29tcGxldGlvbikKK3ZvaWQgV2ViVmlld0ltcGw6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQogewogICAgIGlm
ICghaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkgewogICAgICAgICBjb21wbGV0aW9u
KHsgfSk7CkBAIC0yMTgsNiArMjE4LDE0IEBAIHZvaWQgV2ViVmlld0ltcGw6OnJlcXVlc3RUZXh0
UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0CiAgICAg
fQogCiAgICAgYXV0byBjZ0ltYWdlID0gaW1hZ2VCaXRtYXAtPm1ha2VDR0ltYWdlKCk7CisKKyNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIGlmICghaWRlbnRpZmll
ci5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiByZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVu
dGlmaWVyKGVuc3VyZUltYWdlQW5hbHl6ZXIoKSwgaWRlbnRpZmllciwgY2dJbWFnZS5nZXQoKSwg
V1RGTW92ZShjb21wbGV0aW9uKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVy
KTsKKyNlbmRpZgorCiAgICAgYXV0byByZXF1ZXN0ID0gY3JlYXRlSW1hZ2VBbmFseXplclJlcXVl
c3QoY2dJbWFnZS5nZXQoKSwgaW1hZ2VVUkwsIFtOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6
bV9wYWdlLT5jdXJyZW50VVJMKCldLCBWS0FuYWx5c2lzVHlwZVRleHQpOwogICAgIGF1dG8gc3Rh
cnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgW2Vuc3VyZUltYWdlQW5hbHl6ZXIo
KSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0LmdldCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxl
dGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9u
KSwgc3RhcnRUaW1lXSAoVktJbWFnZUFuYWx5c2lzICphbmFseXNpcywgTlNFcnJvciAqKSBtdXRh
YmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA1ZTJlYzc1NTk5YzU2
YWNhNTQ2YmFkMmE1YzYzZGVlMWEwYTY3MzJmLi5jNDg1YzdmYzMxM2VhMDgzM2ZjNjA2MjY3MTY5
ZDY5MmE4MjQwOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC01NDcs
NyArNTQ3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFn
ZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxl
dGlvbikgeyBjb21wbGV0aW9uKHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFRleHRS
ZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24p
IHsgY29tcGxldGlvbih7IH0pOyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVIYXNJbWFnZUFu
YWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmLCBTaGFyZWFibGVCaXRtYXAmLCBJbWFnZUFuYWx5c2lz
VHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uKSB7IGNvbXBs
ZXRpb24oZmFsc2UpOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZjVkNGQ5YzM2NjY1M2E3ZjIyNTc3NzcxNGM5ZjkxZGQxODk4YTM2OC4u
NDJhZGU2ZDhiOWQxNTZkODZlNGM2MWUwM2Q4Yjk4ZTJhYmE5OWNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NjE2LDkgKzg2MTYsOSBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcyhG
cmFtZUlkZW50aWZpZXIgZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12b2lkIFdl
YlBhZ2VQcm94eTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVS
TCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2du
aXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgcGFnZUNsaWVudCgp
LnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGltYWdlRGF0YSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOworICAgIHBhZ2VDbGllbnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9u
KGltYWdlVVJMLCBpbWFnZURhdGEsIGlkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVz
dWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBJ
bWFnZUFuYWx5c2lzVHlwZSB0eXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDg3YTQx
NTdiYjQ5Mzg4YTkzOTcwOTM3YzE1YmEyZGU2ZjZjZGEyMzQuLjU5OTljZTk4MjE1NTJhOWQ2Njgw
NjYwOGMwNGZhNDFhMjk1MDNhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC0xNjk4LDcgKzE2OTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJ
TUFHRV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJM
JiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYp
OworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9u
UmVzdWx0JiYpPiYmKTsKICAgICB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQo
V2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYsIGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRD
b250ZXh0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9jYXRpb24sIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0KT4mJik7CiAgICAgdm9pZCBj
b21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVh
YmxlQml0bWFwJiBpbWFnZUJpdG1hcCwgSW1hZ2VBbmFseXNpc1R5cGUsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQgc3RhcnRJbWFnZUFuYWx5c2lzKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjNkYzhkMjAxY2QzNmFiNGMyZDAyZGJiNjgxOGU1ZWRk
MDQyMDYxYy4uNzU5MGJkOGU1MWRlZWM4Y2JjOTk4MTQxZDE4YjJjNzAyMTI5ZjM5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MjE2LDcgKzIxNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0SGFzSGFk
U2VsZWN0aW9uQ2hhbmdlc0Zyb21Vc2VySW50ZXJhY3Rpb24oYm9vbCBoYXNIYWRVc2VyU2VsZWN0
aW9uQ2hhbmdlcykKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICBSZXF1ZXN0VGV4
dFJlY29nbml0aW9uKFVSTCBpbWFnZVVSTCwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSBpbWFnZURhdGEpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IHJl
c3VsdCkgQXN5bmMKKyAgICBSZXF1ZXN0VGV4dFJlY29nbml0aW9uKFVSTCBpbWFnZVVSTCwgV2Vi
S2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBpbWFnZURhdGEsIFN0cmluZyBpZGVudGlmaWVy
KSAtPiAoc3RydWN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCByZXN1bHQpIEFzeW5j
CiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShD
T05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAppbmRleCBhNDg2NDE0NGIyZDdmOWZlMzVmZjg3ZTZjNGY0NDgyOTExNjgzZTYy
Li41NjA3M2JiODM3N2IwNmJjNDE1ZDU2ZTA2NzhjMzE2ZjZjOGUyYmIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMTIxLDcgKzEy
MSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAg
ICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3Qg
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpIGZpbmFsOworICAgIHZvaWQg
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYm
KSBmaW5hbDsKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQ
b3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBlMzYzNjM0ZmFjYmVh
ZThlOGE3YWY0NmZhNGY1YjE4NzdiMTlhZDZkLi42OGJjNDU3NGRlODk1MGE1MzZjMmE1ODhkYTQz
OWVlODQ4NjMwYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCkBAIC00NjMsOSArNDYzLDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6
ZG9uZURlZmVycmluZ1RvdWNoRW5kKGJvb2wgcHJldmVudE5hdGl2ZUdlc3R1cmVzKQogCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJl
Y29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpy
ZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlv
bikKIHsKLSAgICBbbV9jb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlVVJM
IGltYWdlRGF0YTppbWFnZURhdGEgY29tcGxldGlvbkhhbmRsZXI6V1RGTW92ZShjb21wbGV0aW9u
KV07CisgICAgW21fY29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjppbWFnZVVSTCBp
bWFnZURhdGE6aW1hZ2VEYXRhIGlkZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxl
cjpXVEZNb3ZlKGNvbXBsZXRpb24pXTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFM
WVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaAppbmRleCAzMDc3NmFmODYwYjgzMjRlMzM0YmYxYTY0MjMwOTU0ODdk
NWI5NTRhLi5iM2Y4YTMyZWU0NmIxZjdhOTkyNGE3NWJmZDRmZDQ3NDk3MTJiZDcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCkBAIC03NTgsNyArNzU4LDcgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVX
X0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIAogI2lm
IEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIC0gKHZvaWQpX2VuZEltYWdlQW5hbHlzaXNHZXN0dXJl
RGVmZXJyYWw6KFdlYktpdDo6U2hvdWxkUHJldmVudEdlc3R1cmVzKXNob3VsZFByZXZlbnRHZXN0
dXJlczsKLS0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBp
bWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0
YSBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0
UmVjb2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbjsKKy0gKHZvaWQpcmVxdWVzdFRleHRS
ZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hh
cmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBpZGVudGlmaWVyOihOU1N0cmluZyAqKWlk
ZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb247CiAjZW5kaWYKIAogQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KaW5kZXggMTdlZDMyYjVhNDM3NmVmZjYwOTA2NDBkMjA2Y2FmZmUzMGRl
YjU0Mi4uYThlOTBlNDI5YTZlY2UxMzY4N2I5ZjkxYmM3MzgyY2E3Y2IwZmYzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCkBAIC0xMDE1MCw3ICsxMDE1MCw3IEBAIC0gKEJPT0wpdmFsaWRhdGVJbWFnZUFuYWx5
c2lzUmVxdWVzdElkZW50aWZpZXI6KFdlYktpdDo6SW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVuCiAg
ICAgcmV0dXJuIE5POwogfQogCi0tICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJM
ICopaW1hZ2VVUkwgaW1hZ2VEYXRhOihjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJilpbWFnZURhdGEgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb24KKy0gKHZvaWQp
cmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFnZURhdGE6KGNvbnN0
IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBpZGVudGlmaWVyOihO
U1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb24KIHsK
ICAgICBhdXRvIGltYWdlQml0bWFwID0gV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShp
bWFnZURhdGEpOwogICAgIGlmICghaW1hZ2VCaXRtYXApIHsKQEAgLTEwMTY0LDggKzEwMTY0LDE1
IEBAIC0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFn
ZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIGlmIChpZGVudGlmaWVy
Lmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6cmVxdWVzdEltYWdlQW5hbHlzaXNXaXRo
SWRlbnRpZmllcihzZWxmLmltYWdlQW5hbHl6ZXIsIGlkZW50aWZpZXIsIGNnSW1hZ2UuZ2V0KCks
IFdURk1vdmUoY29tcGxldGlvbikpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmll
cik7CisjZW5kaWYKKwogICAgIGF1dG8gcmVxdWVzdCA9IFtzZWxmIGNyZWF0ZUltYWdlQW5hbHl6
ZXJSZXF1ZXN0OlZLQW5hbHlzaXNUeXBlVGV4dCBpbWFnZTpjZ0ltYWdlLmdldCgpXTsKLSAgICBb
W3NlbGYgaW1hZ2VBbmFseXplcl0gcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQoKSBwcm9ncmVz
c0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9
IFdURk1vdmUoY29tcGxldGlvbildIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJvciAq
KSBtdXRhYmxlIHsKKyAgICBbc2VsZi5pbWFnZUFuYWx5emVyIHByb2Nlc3NSZXF1ZXN0OnJlcXVl
c3QuZ2V0KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQ
dHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoVktJbWFnZUFuYWx5c2lzICpy
ZXN1bHQsIE5TRXJyb3IgKikgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb24oV2ViS2l0Ojpt
YWtlVGV4dFJlY29nbml0aW9uUmVzdWx0KHJlc3VsdCkpOwogICAgIH0pLmdldCgpXTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXgg
MzhhNDMwMmFmODhhMDE1MTM5YzIyYzg4NjgxZTc5ZjQ2NzNhMWQxOC4uZDIyMzhmZGM5ZDE2Zjc3
ZjhjM2QzMDJjYTk5NzZmZTgzZjFiM2YzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jiwg
Ym9vbCB3YXNFdmVudEhhbmRsZWQpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZ
U0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJM
LCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJikgb3ZlcnJpZGU7
CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNv
bnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25S
ZXN1bHQmJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNS
ZXN1bHRzKGNvbnN0IFVSTCYsIFNoYXJlYWJsZUJpdG1hcCYsIEltYWdlQW5hbHlzaXNUeXBlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXgg
ZDQzM2E2ZGQyYjJmODRjNGQ5YjQxYjk4N2VkMzMxY2NhNTAxMDM5YS4uYTQxMTIxMzVmMmVmMTkw
MTVhNTJmMWUxYjAzYWUzMGExZjIyM2QyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtNDgwLDkgKzQ4MCw5IEBAIHZvaWQgUGFn
ZUNsaWVudEltcGw6OmRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dCYgZXZlbnQsIGJvb2wKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAotdm9pZCBQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uUmVzdWx0JiYp
PiYmIGNvbXBsZXRpb24pCiB7Ci0gICAgbV9pbXBsLT5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGlt
YWdlVVJMLCBpbWFnZURhdGEsIFdURk1vdmUoY29tcGxldGlvbikpOworICAgIG1faW1wbC0+cmVx
dWVzdFRleHRSZWNvZ25pdGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBpZGVudGlmaWVyLCBXVEZN
b3ZlKGNvbXBsZXRpb24pKTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6Y29tcHV0ZUhhc0lt
YWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIFNoYXJlYWJsZUJpdG1hcCYg
aW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlIHR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggMzM3MWE2
ZmI2Yjk4OTU3ZmFjMWM1MWNhNmQxZTM0ZmE5MWJkMDlmNy4uZmM3YmMzMzIzYWI0ZjljNmJjYzk5
MjlmYTZlYzhiNWYwZjA4MjMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTE0OTIsOSAr
MTQ5Miw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29t
Rm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmllCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKEVs
ZW1lbnQmIGVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYp
PiYmIGNvbXBsZXRpb24pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25p
dGlvbihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24pCiB7Ci0gICAg
bV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgV1RGTW92ZShjb21wbGV0aW9u
KSk7CisgICAgbV9wYWdlLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgaWRlbnRpZmll
ciwgV1RGTW92ZShjb21wbGV0aW9uKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IDZhZTgxYzNmNTdkMDQ3N2EyNTZjMTUxY2ZmNjI0OWU3MjRhM2ViMDguLmE3NDlmNTkzMTky
NzRlZTQ2ZTBhZDgxMjVhODk0ZWQ2Y2ZlMGI5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTQz
MSw3ICs0MzEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiA9IHsg
fSkgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdlYkNvcmU6OkVsZW1l
bnQmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIgPSB7IH0sIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmID0geyB9KSBmaW5hbDsKICNlbmRpZgog
CiAgICAgYm9vbCBuZWVkc0ltYWdlT3ZlcmxheUNvbnRyb2xsZXJGb3JTZWxlY3Rpb25QYWludGlu
ZygpIGNvbnN0IGZpbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGNlMGY4MjE4ZTk0OWI3YWU1M2VhNWVkYTZjYTEwMmYyNGU2YjY2YWQuLmIx
OGQ3ZjcyZTY3YWNhZDRhYjU0NmQ0ZDQwOGVkYWExNGFjNjljYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03NTAyLDcgKzc1MDIsNyBAQCB2
b2lkIFdlYlBhZ2U6OnJlbW92ZU1lZGlhVXNhZ2VNYW5hZ2VyU2Vzc2lvbihNZWRpYVNlc3Npb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZv
aWQgV2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiBlbGVt
ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4m
JiBjb21wbGV0aW9uKQordm9pZCBXZWJQYWdlOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZWZQdHI8RWxlbWVudD4mJik+JiYgY29tcGxldGlvbikKIHsKICAgICBpZiAoIWlzPEhU
TUxFbGVtZW50PihlbGVtZW50KSkgewogICAgICAgICBpZiAoY29tcGxldGlvbikKQEAgLTc1NjEs
NyArNzU2MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3Jl
OjpFbGVtZW50JiBlbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlCiAKICAgICBhdXRvIGNhY2hlZElt
YWdlID0gcmVuZGVySW1hZ2UuY2FjaGVkSW1hZ2UoKTsKICAgICBhdXRvIGltYWdlVVJMID0gY2Fj
aGVkSW1hZ2UgPyBlbGVtZW50LmRvY3VtZW50KCkuY29tcGxldGVVUkwoY2FjaGVkSW1hZ2UtPnVy
bCgpLnN0cmluZygpKSA6IFVSTCB7IH07Ci0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OlJlcXVlc3RUZXh0UmVjb2duaXRpb24oV1RGTW92ZShpbWFnZVVSTCks
IFdURk1vdmUoYml0bWFwSGFuZGxlKSksIFt3ZWJQYWdlID0gV2Vha1B0ciB7ICp0aGlzIH0sIHdl
YWtFbGVtZW50ID0gV2Vha1B0ciB7IGVsZW1lbnQgfV0gKGF1dG8mJiByZXN1bHQpIHsKKyAgICBz
ZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFRleHRSZWNv
Z25pdGlvbihXVEZNb3ZlKGltYWdlVVJMKSwgV1RGTW92ZShiaXRtYXBIYW5kbGUpLCBpZGVudGlm
aWVyKSwgW3dlYlBhZ2UgPSBXZWFrUHRyIHsgKnRoaXMgfSwgd2Vha0VsZW1lbnQgPSBXZWFrUHRy
IHsgZWxlbWVudCB9XSAoYXV0byYmIHJlc3VsdCkgewogICAgICAgICBSZWZQdHIgcHJvdGVjdGVk
UGFnZSB7IHdlYlBhZ2UuZ2V0KCkgfTsKICAgICAgICAgaWYgKCFwcm90ZWN0ZWRQYWdlKQogICAg
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCmluZGV4IDY4ZjFiOWE0MzliZjVkZTZjMDYxNDQxZTA3YWY3NzA2YWY1MDM4Y2QuLjQxZTI2
MDM5YWI4MTRiNDQyNGMyZTIyYTZjNGVmMmNhM2VhMWJmN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE0MzAsNyArMTQzMCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlRmxhZ3MpOwogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZvaWQg
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mJik+JiYpOworICAgIHZvaWQgcmVxdWVz
dFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyID0geyB9LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50
PiYmKT4mJiA9IHsgfSk7CiAgICAgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0
KGNvbnN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYsIGNvbnN0IFdlYkNvcmU6OkVs
ZW1lbnRDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9jYXRpb24sIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0KT4mJik7CiAgICAg
dm9pZCBzdGFydEltYWdlQW5hbHlzaXMoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444613</attachid>
            <date>2021-11-17 17:07:39 -0800</date>
            <delta_ts>2021-11-17 19:13:25 -0800</delta_ts>
            <desc>Update ChangeLog date</desc>
            <filename>bug-233210-20211117170738.patch</filename>
            <type>text/plain</type>
            <size>27312</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWYzYjJjZmJhOTI0NGM3
MjRjYWFjNTQ5MmQxNWQxMGQ0YjFmYzE4My4uYzQ2NGY0Yzk3NTM3MmI3YTUwNTMzYTRjMzExOTNi
ZmJmYTUzOGZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTE3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRd
IFBsdW1iIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVz
dFRleHRSZWNvZ25pdGlvbigpYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMjEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgor
CisgICAgICAgIFNlZSBXZWJLaXQvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJbWFn
ZTo6aW1hZ2VPdmVybGF5RWxlbWVudHMpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24p
OgorICAgICAgICAqIHBhZ2UvSW1hZ2VBbmFseXNpc1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlQW5hbHlzaXNRdWV1ZTo6cmVzdW1lUHJvY2Vzc2luZyk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXF1ZXN0
VGV4dFJlY29nbml0aW9uKToKKwogMjAyMS0xMS0xNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb21lbnR1bSBhbmltYXRvcjogU2hvcnQgc2Nyb2xs
cyBhcmUgdG9vIGZhciwgbWVkaXVtIHNjcm9sbHMgYXJlbid0IGZhciBlbm91Z2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCmluZGV4IGU5NTVjNGQzNWJmYWJmMDVjNTU2YjFmYzU0YmNlMGMyZjQ2ZjM5ZmUuLjk1
YjBmMTg5OTQyY2I4ZDcwYTE0M2ZkYTlkZWQ4ZjVkNWJmOWE3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtMaXZlIFRleHRdIFBsdW1iIGFuIGlkZW50aWZpZXIg
c3RyaW5nIHRocm91Z2ggYENocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbigpYAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEFkZCBhbm90aGVy
IFdlYktpdEFkZGl0aW9ucyBleHRlbnNpb24gcG9pbnQuCisKKyAgICAgICAgKiBwYWwvc3BpL2Nv
Y29hL1Zpc2lvbktpdENvcmVTUEkuaDoKKwogMjAyMS0xMS0xNiAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW0FwcGxlIFBheV0gaGFuZGxlIHVua25vd24gc2V0
dXAgZmVhdHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDNlNjViNDQ0YTUyODU5ODFkOGVlNzQ5NTE3ODM3NWNl
NDQ2ZDZhNi4uNWM4ZjM2MWI5OWQ3OTFmNzJkMmE1YWU2MGQ5M2ZkMmE3Y2Y1Njg0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0NiBAQAorMjAyMS0xMS0xNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbTGl2ZSBUZXh0XSBQbHVtYiBhbiBpZGVudGlmaWVy
IHN0cmluZyB0aHJvdWdoIGBDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKWAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzIxMAor
CisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBBZGQgYW4gb3B0
aW9uYWwgKGkuZS4gbnVsbC1ieS1kZWZhdWx0KSBpZGVudGlmaWVyIHN0cmluZyB0byB0aGUgYHJl
cXVlc3RUZXh0UmVjb2duaXRpb24oKWAgV2ViS2l0IGNsaWVudCBob29rLAorICAgICAgICBhbmQg
Y2FsbCBpbnRvIGEgbmV3IGhlbHBlciBmdW5jdGlvbiBpbiBUZXh0UmVjb2duaXRpb25VdGlsaXRp
ZXMuaCwgdGhhdCdzIGltcGxlbWVudGVkIGluIFdlYktpdEFkZGl0aW9ucyAod2l0aAorICAgICAg
ICBhbiBlbXB0eSBzdHViIGluIG9wZW4gc291cmNlIGNvZGUpLgorCisgICAgICAgIFNlZSBjb3Jy
ZXNwb25kaW5nIHJhZGFyIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgICogUGxhdGZv
cm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmg6CisgICAgICAgICogUGxhdGZvcm0v
Y29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXF1
ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50OjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0
VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6
OnJlcXVlc3RUZXh0UmVjb2duaXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdFRleHRS
ZWNvZ25pdGlvbjppbWFnZURhdGE6aWRlbnRpZmllcjpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyByZXF1ZXN0VGV4dFJlY29nbml0aW9uOmltYWdlRGF0YTpj
b21wbGV0aW9uSGFuZGxlcjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVj
b2duaXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0VGV4
dFJlY29nbml0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbik6CisKIDIwMjEtMTEtMTcgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgVHJhbnNsYXRpb24g
V2ViS2l0MiBsb2dnaW5nIGNhdGVnb3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmgKaW5kZXggYTc3ZTYxM2MxODFlZDI5MTBjNjZm
ZDA1NWE2OTk4OTFkNzQ2MDlhMS4uOTBlYTc0NzY0MWNlYWY4YjM1ZWEzYmVlNjRmNjQzNGVlM2Yx
NGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvVmlzaW9u
S2l0Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zpc2lv
bktpdENvcmVTUEkuaApAQCAtMTQ2LDQgKzE0Niw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
CiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0
QWRkaXRpb25zL1Zpc2lvbktpdENvcmVTUElBZGRpdGlvbnMuaD4KKyNlbmRpZgorCiAjZW5kaWYg
Ly8gSEFWRShWS19JTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
SW1hZ2UuY3BwCmluZGV4IDZmNjhlNzE1M2U0ODYxNTI2ZTYyZmQxYTcyYjQ4ZmViNGEwNTNiYjEu
Ljc1ZmVhOGIxNTJiMTZlNjk1ZDY0ZTI5OTJkOTM4M2E4NmNmZTIyZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWEltYWdlLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGQ6Om9wdGlv
bmFsPEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBBWEltYWdlOjpp
bWFnZU92ZXJsYXlFbAogICAgIGlmICghZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIAotICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRp
b24oKmVsZW1lbnQsIFtdIChSZWZQdHI8RWxlbWVudD4mJiBpbWFnZU92ZXJsYXlIb3N0KSB7Cisg
ICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVu
dCwgeyB9LCBbXSAoUmVmUHRyPEVsZW1lbnQ+JiYgaW1hZ2VPdmVybGF5SG9zdCkgewogICAgICAg
ICBpZiAoIWltYWdlT3ZlcmxheUhvc3QpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGM1ZWQ5YjhjMTJkNDU4MTdlMzA0NmNmZDg1NTQ1MDVm
NGU0ZjA1MTQuLmUxM2UzODdkMTkxNjhhYzVmZDM1OWIyZTYxNmQ0M2RkM2YxNzUwMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNTg1LDcgKzU4NSw3IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0
cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQorICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmID0geyB9LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uID0geyB9KQog
ICAgIHsKICAgICAgICAgaWYgKGNvbXBsZXRpb24pCiAgICAgICAgICAgICBjb21wbGV0aW9uKHsg
fSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ltYWdlQW5hbHlzaXNRdWV1ZS5jcHAKaW5kZXggM2Iy
NjFlZDFkODc0MGMxOWUxNThiZjYxZjczZGM1NGYyNDMyNWVkMS4uODY4Y2NjN2YyOTM5MWY3MGYy
ZGY3ZjUwZDBhMTIyZjBkZjFkZWNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9J
bWFnZUFuYWx5c2lzUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VBbmFs
eXNpc1F1ZXVlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIEltYWdlQW5hbHlzaXNRdWV1ZTo6
cmVzdW1lUHJvY2Vzc2luZygpCiAKICAgICAgICAgbV9wZW5kaW5nUmVxdWVzdENvdW50Kys7CiAg
ICAgICAgIG1fcGFnZS0+cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHQoKmVsZW1lbnQpOwotICAg
ICAgICBtX3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oKmVs
ZW1lbnQsIFt0aGlzLCBwYWdlID0gbV9wYWdlXSAoYXV0byYmKSB7CisgICAgICAgIG1fcGFnZS0+
Y2hyb21lKCkuY2xpZW50KCkucmVxdWVzdFRleHRSZWNvZ25pdGlvbigqZWxlbWVudCwgaWRlbnRp
ZmllciwgW3RoaXMsIHBhZ2UgPSBtX3BhZ2VdIChhdXRvJiYpIHsKICAgICAgICAgICAgIGlmICgh
cGFnZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBhNWVjZTA4MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi44
NTVlZTYwYjc2ODc5NzI5NzBkY2MzN2I3Njc5ZDk5ZTVmMjgxY2RlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzkxLDcgKzU3OTEsNyBAQCB2b2lkIEludGVybmFsczo6
cmVxdWVzdFRleHRSZWNvZ25pdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZWZQdHI8Vm9pZENhbGxi
YWNrPiYmCiAgICAgfQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLnJlcXVlc3RUZXh0UmVjb2duaXRpb24oZWxlbWVudCwgW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGll
bnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIHsgfSwgW2NhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldIChhdXRvJiYpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAg
ICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaAppbmRl
eCAxMGQ5NDliNzg1ODkwZjZjOGNlOTcxZmM0MDhjNDg5NzA2YmMxZjE1Li44YzEwODc4MTc0ZDBm
ZjNmNWJkZDgwM2IyNGVjZmFlZmI1ZmRlODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKQEAgLTI4LDYgKzI4
LDcgQEAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvVmlzaW9uS2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQz
LDYgKzQ0LDEwIEBAIFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29n
bml0aW9uUmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6
ZXI+IGNyZWF0ZUltYWdlQW5hbHl6ZXIoKTsKIFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1
ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVmLCBWS0FuYWx5c2lzVHlw
ZXMpOwogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKK3ZvaWQgcmVx
dWVzdEltYWdlQW5hbHlzaXNXaXRoSWRlbnRpZmllcihWS0ltYWdlQW5hbHl6ZXIgKiwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBDR0ltYWdlUmVmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdl
YkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJik7CisjZW5kaWYKKwogfQogCiAjZW5k
aWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMubW0gYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQppbmRleCBmNzY4YmI3
NDRjZjZlODA0YzgzYjYxNDZmYmVmOGE3MTI5MDEzN2VlLi4xNTljOWQzMjhlNWE0M2QzOGI4MzM2
ODBmYjA4ZTczYjNjOTRiOTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQpAQCAtMjgsNiArMjgsNyBAQAog
CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCisjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1w
b3J0IDxXZWJDb3JlL1RleHRSZWNvZ25pdGlvblJlc3VsdC5oPgogI2ltcG9ydCA8cGFsL2NvY29h
L1Zpc2lvbktpdENvcmVTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9GZWF0dXJl
RmxhZ3NTUEkuaD4KQEAgLTEzOCw2ICsxMzksMTUgQEAgc3RhdGljIGJvb2wgaXNMaXZlVGV4dEVu
YWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lT
X0VOSEFOQ0VNRU5UUykKKwordm9pZCByZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlmaWVy
KFZLSW1hZ2VBbmFseXplciAqLCBjb25zdCBTdHJpbmcmLCBDR0ltYWdlUmVmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQorewor
ICAgIGNvbXBsZXRpb24oeyB9KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJ
U19FTkhBTkNFTUVOVFMpCisKICNlbmRpZgogCiBib29sIGlzTGl2ZVRleHRBdmFpbGFibGVBbmRF
bmFibGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmlu
ZGV4IGI3N2Q0YzA3Y2IwNzMyMDA5NzRiZDMwYTM0Yzc3ZjgwZTI4OTNkZTAuLjNmNmRkMWYyNDJl
N2ExMTVlY2Y3OTgzOTBmMzRiNjM1YzZlOGQ2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTk4LDcgKzU5OCw3IEBAIHB1YmxpYzoKICAgICBi
b29sIHNob3VsZFJlcXVlc3RDYW5kaWRhdGVzKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoSU1BR0Vf
QU5BTFlTSVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1h
Z2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKTsKKyAg
ICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3Qg
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJik7CiAgICAgdm9pZCBjb21wdXRlSGFzSW1hZ2VBbmFseXNpc1Jlc3VsdHMoY29uc3Qg
VVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hcCwgSW1hZ2VBbmFseXNp
c1R5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggNGE5NzAwYTBm
MDNhM2UyMTgxMmExMjYzYzUxMjNkNzU4ODUwMWNhMi4uM2Q5ZTg3N2IwY2I3NTY1NGI2MzkxNjM5
NTU3ZjUyYjYwMzkyY2FjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFZLSW1hZ2VB
bmFseXplclJlcXVlc3Q+IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0KENHSW1hZ2VSZWYgaQog
ICAgIHJldHVybiByZXF1ZXN0OwogfQogCi12b2lkIFdlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJl
Y29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29n
bml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb24pCit2b2lkIFdlYlZpZXdJbXBsOjpyZXF1ZXN0
VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlJiBpbWFnZURhdGEsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikKIHsK
ICAgICBpZiAoIWlzTGl2ZVRleHRBdmFpbGFibGVBbmRFbmFibGVkKCkpIHsKICAgICAgICAgY29t
cGxldGlvbih7IH0pOwpAQCAtMjE4LDYgKzIxOCwxNCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZXF1
ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJp
dAogICAgIH0KIAogICAgIGF1dG8gY2dJbWFnZSA9IGltYWdlQml0bWFwLT5tYWtlQ0dJbWFnZSgp
OworCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICBpZiAoIWlk
ZW50aWZpZXIuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcmVxdWVzdEltYWdlQW5hbHlzaXNX
aXRoSWRlbnRpZmllcihlbnN1cmVJbWFnZUFuYWx5emVyKCksIGlkZW50aWZpZXIsIGNnSW1hZ2Uu
Z2V0KCksIFdURk1vdmUoY29tcGxldGlvbikpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaWRl
bnRpZmllcik7CisjZW5kaWYKKwogICAgIGF1dG8gcmVxdWVzdCA9IGNyZWF0ZUltYWdlQW5hbHl6
ZXJSZXF1ZXN0KGNnSW1hZ2UuZ2V0KCksIGltYWdlVVJMLCBbTlNVUkwgX3dlYl9VUkxXaXRoV1RG
U3RyaW5nOm1fcGFnZS0+Y3VycmVudFVSTCgpXSwgVktBbmFseXNpc1R5cGVUZXh0KTsKICAgICBh
dXRvIHN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIFtlbnN1cmVJbWFnZUFu
YWx5emVyKCkgcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQoKSBwcm9ncmVzc0hhbmRsZXI6bmls
IGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29t
cGxldGlvbiksIHN0YXJ0VGltZV0gKFZLSW1hZ2VBbmFseXNpcyAqYW5hbHlzaXMsIE5TRXJyb3Ig
KikgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggNWUyZWM3
NTU5OWM1NmFjYTU0NmJhZDJhNWM2M2RlZTFhMGE2NzMyZi4uYzQ4NWM3ZmMzMTNlYTA4MzNmYzYw
NjI2NzE2OWQ2OTJhODI0MDkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApA
QCAtNTQ3LDcgKzU0Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKElNQUdFX0FO
QUxZU0lTKQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVS
TCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYm
IGNvbXBsZXRpb24pIHsgY29tcGxldGlvbih7IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21w
bGV0aW9uKSB7IGNvbXBsZXRpb24oeyB9KTsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSGFz
SW1hZ2VBbmFseXNpc1Jlc3VsdHMoY29uc3QgVVJMJiwgU2hhcmVhYmxlQml0bWFwJiwgSW1hZ2VB
bmFseXNpc1R5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbikg
eyBjb21wbGV0aW9uKGZhbHNlKTsgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IGY1ZDRkOWMzNjY2NTNhN2YyMjU3Nzc3MTRjOWY5MWRkMTg5
OGEzNjguLjQyYWRlNmQ4YjlkMTU2ZDg2ZTRjNjFlMDNkOGI5OGUyYWJhOTljZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtODYxNiw5ICs4NjE2LDkgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25B
Y2Nlc3MoRnJhbWVJZGVudGlmaWVyIGYKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAot
dm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFn
ZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihj
b25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VE
YXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4
dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHBhZ2VD
bGllbnQoKS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGltYWdlVVJMLCBpbWFnZURhdGEsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFRleHRSZWNv
Z25pdGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpjb21wdXRlSGFzSW1hZ2VBbmFs
eXNpc1Jlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJp
dG1hcCwgSW1hZ2VBbmFseXNpc1R5cGUgdHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCA4N2E0MTU3YmI0OTM4OGE5Mzk3MDkzN2MxNWJhMmRlNmY2Y2RhMjM0Li41OTk5Y2U5ODIxNTUy
YTlkNjY4MDY2MDhjMDRmYTQxYTI5NTAzYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtMTY5OCw3ICsxNjk4LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBF
TkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNv
bnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURh
dGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0
JiYpPiYmKTsKKyAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFn
ZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNv
Z25pdGlvblJlc3VsdCYmKT4mJik7CiAgICAgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9u
UmVzdWx0KFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmLCBjb25zdCBXZWJDb3JlOjpF
bGVtZW50Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGxvY2F0aW9uLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblVwZGF0ZVJlc3VsdCk+JiYpOwogICAg
IHZvaWQgY29tcHV0ZUhhc0ltYWdlQW5hbHlzaXNSZXN1bHRzKGNvbnN0IFVSTCYgaW1hZ2VVUkws
IFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIEltYWdlQW5hbHlzaXNUeXBlLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHN0YXJ0SW1hZ2VBbmFseXNpcyhj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGIzZGM4ZDIwMWNkMzZhYjRjMmQwMmRiYjY4
MThlNWVkZDA0MjA2MWMuLjc1OTBiZDhlNTFkZWVjOGNiYzk5ODE0MWQxOGIyYzcwMjEyOWYzOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTIxNiw3ICsyMTYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFNl
dEhhc0hhZFNlbGVjdGlvbkNoYW5nZXNGcm9tVXNlckludGVyYWN0aW9uKGJvb2wgaGFzSGFkVXNl
clNlbGVjdGlvbkNoYW5nZXMpCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgUmVx
dWVzdFRleHRSZWNvZ25pdGlvbihVUkwgaW1hZ2VVUkwsIFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpIYW5kbGUgaW1hZ2VEYXRhKSAtPiAoc3RydWN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJl
c3VsdCByZXN1bHQpIEFzeW5jCisgICAgUmVxdWVzdFRleHRSZWNvZ25pdGlvbihVUkwgaW1hZ2VV
UkwsIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaW1hZ2VEYXRhLCBTdHJpbmcgaWRl
bnRpZmllcikgLT4gKHN0cnVjdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgcmVzdWx0
KSBBc3luYwogI2VuZGlmCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBF
TkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmgKaW5kZXggYTQ4NjQxNDRiMmQ3ZjlmZTM1ZmY4N2U2YzRmNDQ4Mjkx
MTY4M2U2Mi4uNTYwNzNiYjgzNzdiMDZiYzQxNWQ1NmUwNjc4YzMxNmY2YzhlMmJiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTEy
MSw3ICsxMjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCi0gICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9uKGNvbnN0IFVSTCYgaW1hZ2VVUkws
IGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZURhdGEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKSBmaW5hbDsKKyAg
ICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFnZVVSTCwgY29uc3Qg
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3Vs
dCYmKT4mJikgZmluYWw7CiAjZW5kaWYKIAogICAgIFJlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4g
Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Jikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZTM2MzYz
NGZhY2JlYWU4ZThhN2FmNDZmYTRmNWIxODc3YjE5YWQ2ZC4uNjhiYzQ1NzRkZTg5NTBhNTM2YzJh
NTg4ZGE0MzllZTg0ODYzMGM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNDYzLDkgKzQ2Myw5IEBAIHZvaWQgUGFnZUNsaWVu
dEltcGw6OmRvbmVEZWZlcnJpbmdUb3VjaEVuZChib29sIHByZXZlbnROYXRpdmVHZXN0dXJlcykK
IAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBQYWdlQ2xpZW50
SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmIGNv
bXBsZXRpb24pCiB7Ci0gICAgW21fY29udGVudFZpZXcgcmVxdWVzdFRleHRSZWNvZ25pdGlvbjpp
bWFnZVVSTCBpbWFnZURhdGE6aW1hZ2VEYXRhIGNvbXBsZXRpb25IYW5kbGVyOldURk1vdmUoY29t
cGxldGlvbildOworICAgIFttX2NvbnRlbnRWaWV3IHJlcXVlc3RUZXh0UmVjb2duaXRpb246aW1h
Z2VVUkwgaW1hZ2VEYXRhOmltYWdlRGF0YSBpZGVudGlmaWVyOmlkZW50aWZpZXIgY29tcGxldGlv
bkhhbmRsZXI6V1RGTW92ZShjb21wbGV0aW9uKV07CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSU1B
R0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggMzA3NzZhZjg2MGI4MzI0ZTMzNGJmMWE2NDIz
MDk1NDg3ZDViOTU0YS4uYjNmOGEzMmVlNDZiMWY3YTk5MjRhNzViZmQ0ZmQ0NzQ5NzEyYmQ3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24uaApAQCAtNzU4LDcgKzc1OCw3IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05U
RU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcp
CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAtICh2b2lkKV9lbmRJbWFnZUFuYWx5c2lz
R2VzdHVyZURlZmVycmFsOihXZWJLaXQ6OlNob3VsZFByZXZlbnRHZXN0dXJlcylzaG91bGRQcmV2
ZW50R2VzdHVyZXM7Ci0tICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1h
Z2VVUkwgaW1hZ2VEYXRhOihjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilp
bWFnZURhdGEgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0JiYpPiYmKWNvbXBsZXRpb247CistICh2b2lkKXJlcXVl
c3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1hZ2VEYXRhOihjb25zdCBXZWJL
aXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgaWRlbnRpZmllcjooTlNTdHJp
bmcgKilpZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiljb21wbGV0aW9uOwogI2VuZGlm
CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDE3ZWQzMmI1YTQzNzZlZmY2MDkwNjQwZDIwNmNh
ZmZlMzBkZWI1NDIuLmE4ZTkwZTQyOWE2ZWNlMTM2ODdiOWY5MWJjNzM4MmNhN2NiMGZmM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQpAQCAtMTAxNTAsNyArMTAxNTAsNyBAQCAtIChCT09MKXZhbGlkYXRlSW1h
Z2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyOihXZWJLaXQ6OkltYWdlQW5hbHlzaXNSZXF1ZXN0
SWRlbgogICAgIHJldHVybiBOTzsKIH0KIAotLSAodm9pZClyZXF1ZXN0VGV4dFJlY29nbml0aW9u
OihOU1VSTCAqKWltYWdlVVJMIGltYWdlRGF0YTooY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYpaW1hZ2VEYXRhIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiljb21wbGV0aW9uCist
ICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1hZ2VEYXRh
Oihjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgaWRlbnRp
ZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCYmKT4mJiljb21wbGV0
aW9uCiB7CiAgICAgYXV0byBpbWFnZUJpdG1hcCA9IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpj
cmVhdGUoaW1hZ2VEYXRhKTsKICAgICBpZiAoIWltYWdlQml0bWFwKSB7CkBAIC0xMDE2NCw4ICsx
MDE2NCwxNSBAQCAtICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VV
UkwgaW1hZ2VEYXRhOihjb25zdCBXZWJLaXQ6OlNoYXJlYQogICAgICAgICByZXR1cm47CiAgICAg
fQogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICBpZiAoaWRl
bnRpZmllci5sZW5ndGgpCisgICAgICAgIHJldHVybiBXZWJLaXQ6OnJlcXVlc3RJbWFnZUFuYWx5
c2lzV2l0aElkZW50aWZpZXIoc2VsZi5pbWFnZUFuYWx5emVyLCBpZGVudGlmaWVyLCBjZ0ltYWdl
LmdldCgpLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGlk
ZW50aWZpZXIpOworI2VuZGlmCisKICAgICBhdXRvIHJlcXVlc3QgPSBbc2VsZiBjcmVhdGVJbWFn
ZUFuYWx5emVyUmVxdWVzdDpWS0FuYWx5c2lzVHlwZVRleHQgaW1hZ2U6Y2dJbWFnZS5nZXQoKV07
Ci0gICAgW1tzZWxmIGltYWdlQW5hbHl6ZXJdIHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3QuZ2V0KCkg
cHJvZ3Jlc3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBs
ZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoVktJbWFnZUFuYWx5c2lzICpyZXN1bHQsIE5T
RXJyb3IgKikgbXV0YWJsZSB7CisgICAgW3NlbGYuaW1hZ2VBbmFseXplciBwcm9jZXNzUmVxdWVz
dDpyZXF1ZXN0LmdldCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFr
ZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKFZLSW1hZ2VBbmFs
eXNpcyAqcmVzdWx0LCBOU0Vycm9yICopIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uKFdl
YktpdDo6bWFrZVRleHRSZWNvZ25pdGlvblJlc3VsdChyZXN1bHQpKTsKICAgICB9KS5nZXQoKV07
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5o
CmluZGV4IDM4YTQzMDJhZjg4YTAxNTEzOWMyMmM4ODY4MWU3OWY0NjczYTFkMTguLmQyMjM4ZmRj
OWQxNmY3N2Y4YzNkMzAyY2E5OTc2ZmU4M2YxYjNmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0xMzEsNyArMTMxLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudCYsIGJvb2wgd2FzRXZlbnRIYW5kbGVkKSBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShJTUFH
RV9BTkFMWVNJUykKLSAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBp
bWFnZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYpIG92
ZXJyaWRlOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwmIGltYWdl
VVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VEYXRhLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29n
bml0aW9uUmVzdWx0JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXB1dGVIYXNJbWFnZUFu
YWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmLCBTaGFyZWFibGVCaXRtYXAmLCBJbWFnZUFuYWx5c2lz
VHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1t
CmluZGV4IGQ0MzNhNmRkMmIyZjg0YzRkOWI0MWI5ODdlZDMzMWNjYTUwMTAzOWEuLmE0MTEyMTM1
ZjJlZjE5MDE1YTUyZjFlMWIwM2FlMzBhMWYyMjNkMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTQ4MCw5ICs0ODAsOSBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpkb25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJv
YXJkRXZlbnQmIGV2ZW50LCBib29sCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFn
ZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChUZXh0UmVjb2duaXRpb25SZXN1bHQmJik+JiYgY29tcGxldGlvbikKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oY29uc3QgVVJMJiBpbWFn
ZVVSTCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlRGF0YSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblJl
c3VsdCYmKT4mJiBjb21wbGV0aW9uKQogewotICAgIG1faW1wbC0+cmVxdWVzdFRleHRSZWNvZ25p
dGlvbihpbWFnZVVSTCwgaW1hZ2VEYXRhLCBXVEZNb3ZlKGNvbXBsZXRpb24pKTsKKyAgICBtX2lt
cGwtPnJlcXVlc3RUZXh0UmVjb2duaXRpb24oaW1hZ2VVUkwsIGltYWdlRGF0YSwgaWRlbnRpZmll
ciwgV1RGTW92ZShjb21wbGV0aW9uKSk7CiB9CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OmNvbXB1
dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyhjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVC
aXRtYXAmIGltYWdlQml0bWFwLCBJbWFnZUFuYWx5c2lzVHlwZSB0eXBlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4
IDMzNzFhNmZiNmI5ODk1N2ZhYzFjNTFjYTZkMWUzNGZhOTFiZDA5ZjcuLmZjN2JjMzMyM2FiNGY5
YzZiY2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0x
NDkyLDkgKzE0OTIsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNj
ZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZQogCiAjaWYgRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFRleHRSZWNvZ25p
dGlvbihFbGVtZW50JiBlbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVt
ZW50PiYmKT4mJiBjb21wbGV0aW9uKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RUZXh0
UmVjb2duaXRpb24oRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxFbGVtZW50PiYmKT4mJiBjb21wbGV0aW9uKQog
ewotICAgIG1fcGFnZS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIFdURk1vdmUoY29t
cGxldGlvbikpOworICAgIG1fcGFnZS5yZXF1ZXN0VGV4dFJlY29nbml0aW9uKGVsZW1lbnQsIGlk
ZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbikpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCA2YWU4MWMzZjU3ZDA0NzdhMjU2YzE1MWNmZjYyNDllNzI0YTNlYjA4Li5hNzQ5
ZjU5MzE5Mjc0ZWU0NmUwYWQ4MTI1YTg5NGVkNmNmZTBiOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC00MzEsNyArNDMxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKElNQUdF
X0FOQUxZU0lTKQotICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3JlOjpFbGVt
ZW50JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4mJik+
JiYgPSB7IH0pIGZpbmFsOworICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihXZWJDb3Jl
OjpFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyID0geyB9LCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJiA9IHsgfSkgZmluYWw7CiAj
ZW5kaWYKIAogICAgIGJvb2wgbmVlZHNJbWFnZU92ZXJsYXlDb250cm9sbGVyRm9yU2VsZWN0aW9u
UGFpbnRpbmcoKSBjb25zdCBmaW5hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCBjZTBmODIxOGU5NDliN2FlNTNlYTVlZGE2Y2ExMDJmMjRlNmI2
NmFkLi5iMThkN2Y3MmU2N2FjYWQ0YWI1NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzUwMiw3ICs3NTAy
LDcgQEAgdm9pZCBXZWJQYWdlOjpyZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFT
ZXNzaW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lT
KQogCi12b2lkIFdlYlBhZ2U6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVu
dCYgZWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVu
dD4mJik+JiYgY29tcGxldGlvbikKK3ZvaWQgV2ViUGFnZTo6cmVxdWVzdFRleHRSZWNvZ25pdGlv
bihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVmUHRyPEVsZW1lbnQ+JiYpPiYmIGNvbXBsZXRpb24pCiB7CiAgICAgaWYg
KCFpczxIVE1MRWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgaWYgKGNvbXBsZXRpb24pCkBA
IC03NTYxLDcgKzc1NjEsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RUZXh0UmVjb2duaXRpb24o
V2ViQ29yZTo6RWxlbWVudCYgZWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZQogCiAgICAgYXV0byBj
YWNoZWRJbWFnZSA9IHJlbmRlckltYWdlLmNhY2hlZEltYWdlKCk7CiAgICAgYXV0byBpbWFnZVVS
TCA9IGNhY2hlZEltYWdlID8gZWxlbWVudC5kb2N1bWVudCgpLmNvbXBsZXRlVVJMKGNhY2hlZElt
YWdlLT51cmwoKS5zdHJpbmcoKSkgOiBVUkwgeyB9OwotICAgIHNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0VGV4dFJlY29nbml0aW9uKFdURk1vdmUoaW1h
Z2VVUkwpLCBXVEZNb3ZlKGJpdG1hcEhhbmRsZSkpLCBbd2ViUGFnZSA9IFdlYWtQdHIgeyAqdGhp
cyB9LCB3ZWFrRWxlbWVudCA9IFdlYWtQdHIgeyBlbGVtZW50IH1dIChhdXRvJiYgcmVzdWx0KSB7
CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RU
ZXh0UmVjb2duaXRpb24oV1RGTW92ZShpbWFnZVVSTCksIFdURk1vdmUoYml0bWFwSGFuZGxlKSwg
aWRlbnRpZmllciksIFt3ZWJQYWdlID0gV2Vha1B0ciB7ICp0aGlzIH0sIHdlYWtFbGVtZW50ID0g
V2Vha1B0ciB7IGVsZW1lbnQgfV0gKGF1dG8mJiByZXN1bHQpIHsKICAgICAgICAgUmVmUHRyIHBy
b3RlY3RlZFBhZ2UgeyB3ZWJQYWdlLmdldCgpIH07CiAgICAgICAgIGlmICghcHJvdGVjdGVkUGFn
ZSkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAppbmRleCA2OGYxYjlhNDM5YmY1ZGU2YzA2MTQ0MWUwN2FmNzcwNmFmNTAzOGNk
Li40MWUyNjAzOWFiODE0YjQ0MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDMwLDcgKzE0MzAsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBpc1BsYXlpbmdNZWRpYURpZENoYW5nZShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZUZsYWdzKTsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAg
ICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiYpPiYmKTsKKyAgICB2b2lk
IHJlcXVlc3RUZXh0UmVjb2duaXRpb24oV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciA9IHsgfSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6
RWxlbWVudD4mJik+JiYgPSB7IH0pOwogICAgIHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlv
blJlc3VsdChjb25zdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQmLCBjb25zdCBXZWJD
b3JlOjpFbGVtZW50Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGxvY2F0aW9u
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFRleHRSZWNvZ25pdGlvblVwZGF0ZVJlc3VsdCk+JiYp
OwogICAgIHZvaWQgc3RhcnRJbWFnZUFuYWx5c2lzKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7
CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>